priorities = new ArrayList<LiPrio>();
inputs = new ArrayList<LiSymbol>();
for(AstGrammarPart clause : tree.getRoot().getGrammar()) {
if(clause instanceof AstDirective) {
AstDirective directive = (AstDirective) clause;
String key = directive.getKey();
List<LiSymbol> val = resolve(directive.getSymbols());
if(key.equals("input")) {
inputs.addAll(val);
} else if(key.equals("left")) {
priorities.add(new LiPrio(Prio.LEFT, val.toArray(new LiSymbol[val.size()]), directive));
} else if( key.equals("right") ) {