forked from JavaTX/JavaCompilerCore
25 lines
1011 B
Java
25 lines
1011 B
Java
package de.dhbwstuttgart.parser;
|
|
|
|
import de.dhbwstuttgart.parser.antlr.Java8Lexer;
|
|
import de.dhbwstuttgart.parser.antlr.Java8Parser;
|
|
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
|
|
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
|
import de.dhbwstuttgart.syntaxtree.modifier.Modifier;
|
|
import org.antlr.v4.runtime.ANTLRInputStream;
|
|
import org.antlr.v4.runtime.CommonTokenStream;
|
|
|
|
import java.io.*;
|
|
|
|
public class JavaTXParser {
|
|
public SourceFile parse(File sourceFile) throws IOException {
|
|
InputStream stream = new FileInputStream(sourceFile);
|
|
ANTLRInputStream input = new ANTLRInputStream(stream);
|
|
Java8Lexer lexer = new Java8Lexer(input);
|
|
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
|
Java8Parser parser = new Java8Parser(tokens);
|
|
Java8Parser.CompilationUnitContext tree = parser.compilationUnit();
|
|
SyntaxTreeGenerator generator = new SyntaxTreeGenerator();
|
|
return generator.convert(tree);
|
|
}
|
|
}
|