public IEnumerable <ParseTreeNode> Parse(string content) { string tmp = content; PreParse(ref tmp); Java8Lexer lexer = new Java8Lexer(CharStreams.fromstring(tmp)); Java8Parser parser = new Java8Parser(new CommonTokenStream(lexer)); JavaClassVisitor visitor = new JavaClassVisitor() { baseClassPath = _basePath.ClassPath, filePath = _basePath.Path }; return(visitor.Visit(parser.compilationUnit()).Children); }
public JavaAST Parse(string filePath) { var code = File.ReadAllText(filePath); var stream = CharStreams.fromString(code); var lexer = new Java8Lexer(stream); var tokens = new CommonTokenStream(lexer); var parser = new Java8Parser(tokens); parser.BuildParseTree = true; var cu = parser.compilationUnit(); return(JavaAST.ConstructAST(cu)); }
public string Tokenize(string fileContent) { AntlrInputStream inputStream = new AntlrInputStream(fileContent); Java8Lexer lexer = new Java8Lexer(inputStream); Antlr4.Runtime.CommonTokenStream tokenStream = new Antlr4.Runtime.CommonTokenStream(lexer); tokenStream.Fill(); string result = ""; IList <Antlr4.Runtime.IToken> tokens = tokenStream.GetTokens(); foreach (var token in tokens) { result += (token.Type == Java8Lexer.Identifier) ? "ID" : token.Text; } result = result.Replace("<EOF>", ""); return(result); }