!7 sS input = [[ RULE WasLAB (("was|warum")&&("ist|bedeutet|heißt|soll|meint|nenn(t|en|st)")&&("lab")||("bla")) ]]; sS rules = [[ RULE ( ) = rule // bracketing combines top and bottom ( ) = bracket = expX // primitive expressions are also at top level = expX // now come the lower levels = exp3 & & = and = exp2 = exp2 | | = or = exp1 = exp1 // lowest level = exp ]]; p-tt { Explain e = explain(input, rules, "rule"); print("Parsed as: " + structForUser(e.fullMatchClasses())); printExplainTree2_filterClasses(e, func(S s) { !startsWith(s, "exp") }); }