示例#1
0
        public static ViGaSParser GetParserForScript(string script, out List <Error> errors)
        {
            var inputStream         = new AntlrInputStream(script);
            var lexer               = new ViGaSLexer(inputStream);
            var tokenStream         = new CommonTokenStream(lexer);
            var parser              = new ViGaSParser(tokenStream);
            var syntaxErrorListener = new SyntaxErrorListener();

            parser.AddErrorListener(syntaxErrorListener);
            errors = syntaxErrorListener.errors;
            return(parser);
        }
示例#2
0
        public static IParseTree MakeParseTree(string script, out List <Error> errors)
        {
            var inputStream         = new AntlrInputStream(script);
            var lexer               = new ViGaSLexer(inputStream);
            var tokenStream         = new CommonTokenStream(lexer);
            var parser              = new ViGaSParser(tokenStream);
            var syntaxErrorListener = new SyntaxErrorListener();

            parser.AddErrorListener(syntaxErrorListener);
            var context = parser.script();

            errors = syntaxErrorListener.errors;
            return(context);
        }