diff --git a/src/de/dhbwstuttgart/parser/RunParser.java b/src/de/dhbwstuttgart/parser/RunParser.java new file mode 100644 index 00000000..d4a6a740 --- /dev/null +++ b/src/de/dhbwstuttgart/parser/RunParser.java @@ -0,0 +1,31 @@ +package de.dhbwstuttgart.parser; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.ANTLRInputStream; +import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ParseTreeWalker; +import de.dhbwstuttgart.syntaxtree.*; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +public class RunParser{ + public static void main(String[] args){ + try{ + String inputString = args[0]; + InputStream stream = new ByteArrayInputStream(inputString.getBytes(StandardCharsets.UTF_8)); + ANTLRInputStream input = new ANTLRInputStream(stream); + Java8Lexer lexer = new Java8Lexer(input); + CommonTokenStream tokens = new CommonTokenStream(lexer); + Java8Parser parser = new Java8Parser(tokens); + ParserRuleContext tree = parser.compilationUnit(); + ParseTreeWalker walker = new ParseTreeWalker(); + CompilationUnitEvaluator eval = new CompilationUnitEvaluator(); + walker.walk(eval, tree); + } + catch(Exception e){ + System.out.println("An exception occured which is unknown and on our TODO list."); + e.printStackTrace(); + } + } +}