hi! could anyone suggest please how could I collect multiple ASTs under a single root : rule1 : ( tmp:rule2 )* { #rule1 = #([RULE, "root"],tmp); } ; rule2 : ............... ; this creates only a root with a single child. thx. A.