Eksperymentuję z kombinatorami parserów i często wpadam na coś, co wydaje się nieskończoną rekurencją. Oto pierwszy, na który wpadłem: import util.parsing.combinator.Parsers
import util.parsing.input
Mam następujący EBNF że chcę analizować: PostfixExp -> PrimaryExp ("[" Exp "]"
| . id "(" ExpList ")"
| . length)*
I to jest to, co mam: def postfixExp: Parser[Expression] =