> alternation : concatenation ( !a:SLASH b:concatenation { > #a=#([ALTERNATION,"ALT|"],#b); > astFactory.makeASTRoot(currentAST, #a); > } )* > ; Try alternation: c1:concatenation ( SLASH! c2:concatenation! { ## = #( [ALTERNATION,"ALT|"], #c2, ## ); } )* Regards, Martin