loop: parse(corr)\loop parse(incorr)\loop; corr: brkts * = { < OK: > 1 * }; brkts: brkt/null brkts = { 2 1 }; brkt: <[> brkts <]> = { <[> 1 <]> }; null: = {}; incorr: smark ignore(<<>>) any(!<<>>) string(nonl) scopy ( * | () ) = { 1 * }; nonl: !<< >>;