i have grammar:
agent = nil | @ | id | act . agent | agent + agent | agent "|" agent | agent \ restriction | agent [relabeling] | agent agent_frame end | automation | (agent) where priorities are:
"where" < "+" < "|" < "\" < "." < "[" < "nil", "@" i need delete left recursion respecting priorities ( , write in javacc).
can me delete recursion?
dinesh thank answer, solution give me conflict in javacc (agent-postfix)*. solved in way:
agent=agent2 agent' agent'= "where" agent_frame "end" agent' | epsilon agent2= agent3 agent2' agent2'= "+" agent3 agent2' | epsilon agent3= agent4 agent3' agent3'= "|" agent4 agent3' | epsilon agent4 = agent5 agent4' agent4'= "\" restriction agent4' | epsilon agent5: act "." agent | agent6 agent6 = agent7 agent6' agent6'= "[" relabeling "]" agent6' | epsilon agent7= id | automaton | "(" agent ")" | "nil" | "@" but don't know if solution correct.
thank much.
regards domenico
Comments
Post a Comment