public override INode <AstNode> VisitTerminal(Antlr4.Runtime.Tree.ITerminalNode node) { var payload = (CommonToken)node.Payload; var ruleType = payload.Type; var text = payload.Text; if (ruleType == NQLParser.OPERATOR) { return(new OperatorNode(text)); } if (ruleType == NQLParser.STRING) { var unwrappedText = text.TrimStart('\"').TrimEnd('\"'); return(new StringNode(unwrappedText)); } if (ruleType == NQLParser.NUMBER) { return(new NumberNode(text)); } if (ruleType == NQLParser.SYMBOL || ruleType == NQLParser.ALPHA) { if (text == "nil") { return(new NilNode()); } if (text == "true") { return(new TrueNode()); } if (text == "false") { return(new FalseNode()); } return(new SymbolNode(text)); } if (ruleType == NQLParser.KEYWORD) { return(new KeywordNode(text)); } return(base.VisitTerminal(node)); }
public object VisitTerminal(Antlr4.Runtime.Tree.ITerminalNode node) { throw new System.NotImplementedException(); }