private void MyParseMethod(string path) { var stream = CharStreams.fromPath(path); ITokenSource lexer = new DOTLexer(stream); ITokenStream tokens = new CommonTokenStream(lexer); var parser = new DOTParser(tokens) { BuildParseTree = true }; IParseTree tree = parser.graph(); var printer = new KeyPrinter(); printer.RuleMoved += CheckState; printer.Terminal += TerminalHandler; ParseTreeWalker.Default.Walk(printer, tree); }
public bool ParseValid(string text) { //var inputStream = new StreamReader(Console.OpenStandardInput()); var input = new AntlrInputStream(text); var lexer = new DOTLexer(input); var tokens = new CommonTokenStream(lexer); var parser = new DOTParser(tokens); parser.RemoveErrorListeners(); var errorListener = new ErrorListener(_errorHandler); parser.AddErrorListener(errorListener); IParseTree tree = parser.graph(); var tmp = tree.ToStringTree(parser); // Console.WriteLine(tree.ToStringTree(parser)); // CalculatorVisitor visitor = new CalculatorVisitor(); // Console.WriteLine(visitor.Visit(tree)); return(!errorListener.HasParserErrors); }