/// <summary> /// Parses the specified input. /// </summary> public ControlFlowElementBase Parse(String input, ISelectorFactory selectorFactory, ICodeQueryCommandFactory factory) { Assume.NotNull(input, nameof(input)); Assume.NotNull(factory, nameof(factory)); var stream = new AntlrInputStream(input); ITokenSource lexer = new CodeQueryLexer(stream); ITokenStream tokens = new CommonTokenStream(lexer); var parser = new CodeQueryParser(tokens) { BuildParseTree = true }; var start = parser.command(); var visitor = new CodeQuerySyntaxTreeBuilder(selectorFactory, factory); return visitor.Visit(start) as ControlFlowElementBase; }
/// <summary> /// Parses the specified input. /// </summary> public ControlFlowElementBase Parse(String input, ISelectorFactory selectorFactory, ICodeQueryCommandFactory factory) { Assume.NotNull(input, nameof(input)); Assume.NotNull(factory, nameof(factory)); var stream = new AntlrInputStream(input); ITokenSource lexer = new CodeQueryLexer(stream); ITokenStream tokens = new CommonTokenStream(lexer); var parser = new CodeQueryParser(tokens) { BuildParseTree = true }; var start = parser.command(); var visitor = new CodeQuerySyntaxTreeBuilder(selectorFactory, factory); return(visitor.Visit(start) as ControlFlowElementBase); }