I have this grammar:
agent
= nil
| @
| id
| act . agent
| agent + agent
| agent "|" agent
| agent \ restriction
| agent [relabeling]
| agent where agent_frame end
| automation
| (agent)
where the priorities are:
"where" < "+" < "|" < "\" < "." < "[" < "nil", "@"
I need to delete the left recursion respecting the priorities ( and write all in JavaCC).
Can you help me to delete recursion?