adapt implementation to use grammar wrapper

This commit is contained in:
Christoph
2020-12-04 13:22:54 +01:00
parent 1ae77b2e51
commit 1b0dd064d7
5 changed files with 106 additions and 67 deletions

View File

@ -1,5 +1,7 @@
package parser;
import parser.grammar.Grammar;
import parser.grammar.LL1GrammarAnalyzer;
import util.ast.AST;
import util.ast.Node;
@ -15,6 +17,11 @@ public class LL1Parser {
this.parsetable = parsetable;
}
public static LL1Parser fromGrammar(Grammar grammar) {
LL1GrammarAnalyzer analyzer = new LL1GrammarAnalyzer(grammar);
return new LL1Parser(analyzer.getTable());
}
public boolean parse(List<String> token) {
Node root = new Node(this.parsetable.getStartSymbol());
AST tree = new AST(root);