SCOPE = `test` main : ( ~( recursive-a | recursive-b ) )* ; recursive-a : 'a'{scope_a} recursive-a | '!' ; recursive-b : 'a'{scope_b} recursive-b | '.' ;