Пример #1
0
        public ParserRuleContext parse(IEnumerable <SyntaxToken> tokens, Scope scope, int offset)
        {
            var text = RoslynCompiler.TokensToString(tokens);
            AntlrInputStream stream      = new AntlrInputStream(text);
            ITokenSource     lexer       = new JSONLexer(stream);
            ITokenStream     tokenStream = new CommonTokenStream(lexer);
            JSONParser       parser      = new JSONParser(tokenStream);

            parser.AddErrorListener(new AntlrErrors <IToken>(scope, offset));
            var result = parser.json();

            if (parser.NumberOfSyntaxErrors > 0)
            {
                return(null);
            }

            return(result);
        }