Esempio n. 1
0
        public virtual void Execute(Parser.ParsingState state)
        {
            var next = state.Next();

            if (next == null)
            {
                throw new InternalNSLExcpetion("Next node is null, despite not continued, this should not happen");
            }

            OnToken(next, state);
        }
Esempio n. 2
0
 public override void Execute(Parser.ParsingState state)
 {
     throw new InternalNSLExcpetion("Literal node cannot be push on the stack");
 }
Esempio n. 3
0
 public abstract void Unbalanced(Parser.ParsingState state);
Esempio n. 4
0
 protected virtual void OnToken(Token <NSLTokenizer.TokenType> next, Parser.ParsingState state)
 {
     state.diagnostics.Add(new Diagnostic($"Unexpected {next.type} node ({GetType().Name})", next.start, next.end));
     LoggerProvider.instance?.Source("PAR").Error().Message("Unexpected").Name(next.type.ToString()).Message("node (").Name(GetType().Name).Message(")").Pos(next.start).End();
 }
Esempio n. 5
0
 override public void Unbalanced(Parser.ParsingState state)
 {
     state.diagnostics.Add(new Diagnostic($"Unbalanced block, expected {(isInline ? ")" : "}")}, {Start} →", state.rootNode.End, state.rootNode.End));
Esempio n. 6
0
 override protected void OnToken(Token <Tokenization.NSLTokenizer.TokenType> next, Parser.ParsingState state)
 {
     if (next.type == GetTerminationTokenType())
     {
         state.Pop();
     }
     else
     {
         base.OnToken(next, state);
     }
 }
Esempio n. 7
0
 public override void Unbalanced(Parser.ParsingState state)
 {
     throw new InternalNSLExcpetion("ActionNode node cannot be pushed on the stack");
 }