기본적으로 다음 문을 가지고 있으며 순서에 상관없이 동일한 내용을 처리하기를 원합니다. 예를 들어 코드가 현재와 같이 "ABS (5) + 3"을 허용하지만 그렇지 않습니다. "3 + ABS (5)". 아무도 내가 어떤 순서로 어떻게 작동시킬 수 있는지 알고 있습니까?JavaCC -이 성명서에서 순서를 어떻게 지정할 수 있습니까?
나는 모든 것을 OR로 생각하고 *로 처리하는 것이 좋겠다고 생각했지만 그 차이는별로 없었던 것으로 보입니다.
((s1=ABS() { s=s+s1; })
| ("+" { op="+"; s=s+op; }
| "-" { op="-"; s=s+op; }
| "*" { op="*"; s=s+op; }
| "/" { op="/"; s=s+op; })
| (s1=EXPR() { s=s+s1; }))*