nks, will look into Thunderbird. I transcribed the rule incorrectly in my previous post. It should be: var_decl! : ID DEC_ASSIGN e:expr { #var_decl = #(DEC_ASSIGN, ID, e); } ;