David Jung wrote: > exprList : LCURLY ( exprListOrStmt )* RCURLY ; > exprListOrStmt : (RCURLY)=>exprList | expr SEMI ; Shouldn't that be exprListOrStmt : (LCURLY)=>exprList | expr SEMI ; Give that a try and see if it works. Monty