Remove the extra parenthesis around the #(ELIST ... ) subrule. Again, I think the trace output for tree parsers is most helpful... WRONG: #(METHOD_CALL ( #(ELIST (expression)*) ) ) RIGHT: #(METHOD_CALL #(ELIST (expression)* ) ) Hope this helps, - Bryan