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); }