public void testNumericAtomId(string value) { setup(value); IdAtomExpContext context = parser.expression() as IdAtomExpContext; CommonTokenStream ts = (CommonTokenStream)parser.InputStream; Assert.Equal(SpreadsheetLexer.NUMBER, ts.Get(0).Type); // note that this.errorListener.symbol could be null or empty // when ANTLR doesn't recognize the token or there is no error. // In such cases check the output of errorListener Assert.Equal(null, errorListener.Symbol); }
static void Main(string[] args) { string input = "log(10 + A1 * 35 + (5.4 - 7.4))"; ICharStream inputStream = CharStreams.fromString(input); SpreadsheetLexer spreadsheetLexer = new SpreadsheetLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(spreadsheetLexer); SpreadsheetParser spreadsheetParser = new SpreadsheetParser(commonTokenStream); SpreadsheetParser.ExpressionContext expressionContext = spreadsheetParser.expression(); DoubleSpreadsheetVisitor visitor = new DoubleSpreadsheetVisitor(); Console.WriteLine(visitor.Visit(expressionContext)); }
public static void Main() { const string input = "log(10 + A1 * 35 + (5.4 - 7.4))"; // C# uses Antlr4.Runtime.AntlrInputStream instead of Java's org.antlr.v4.runtime.CharStream var inputStream = new AntlrInputStream(input); var spreadsheetLexer = new SpreadsheetLexer(inputStream); var commonTokenStream = new CommonTokenStream(spreadsheetLexer); var spreadsheetParser = new SpreadsheetParser(commonTokenStream); var expressionContext = spreadsheetParser.expression(); var visitor = new SpreadsheetVisitor(); // we output on the screen the result of our visitor Console.WriteLine(visitor.Visit(expressionContext)); }