BNF: fixed recursion for alternation