Hi I'm trying to understand what are the idioms in Smacc when converting from ANTLR
######### the case of * ######################## Function = ‘(‘ (',' Arguments )* ‘)’ should be transformed into Function : <name> "(" 'leftParen' _ArgumentsOption ")" 'rightParen' {{}} ; _ArgumentsOption : | Arguments ; Arguments : Expression 'argument' | Arguments "," Expression 'argument' ; Here since there is a recursion in Arguments the instance variable containing a list of argument will be added to the FunctionNode Pay attention that Expression 'argument' should not have a {{}} nor its parent rule. ######### the case of + ######################## Function = ‘(‘ Arguments + ‘)’ should be transformed into Function : <name> "(" 'leftParen' _ArgumentsOption ")" 'rightParen' {{}} ; _ArgumentsOption : Arguments ; Arguments : Expression 'argument' | Arguments "," Expression 'argument' ; ######### the case of ? ######################## Function = ‘(‘ Arguments+ ‘)’ should be transformed into Function : <name> "(" 'leftParen' _ArgumentsOption ")" 'rightParen' {{}} ; _ArgumentsOption : | Arguments ; Arguments : Expression 'argument' ; Is there a more compact way to express? Thierry do you have example of *, + , ? in the grammar? Stef