public void testCompleteExp() { setup("log(5+6*7/8)"); ExpressionContext context = parser.expression(); DoubleSpreadsheetVisitor visitor = new DoubleSpreadsheetVisitor(); double result = visitor.Visit(context); Assert.Equal("1.0107238653917732", result.ToString(System.Globalization.CultureInfo.GetCultureInfo("en-US").NumberFormat)); }
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)); }