1
"(example + another) * other"문자열이 특정 문법에 속하는지 결정해야하는 프로그램에서 작업하고 있습니다.대표 CFG 제작
Start = Expr endline
Expr = Term Expr2
Expr2 = + Term Expr2 | - Term Expr2 | e
Term = Factor Term2
Term2 = * Factor Term2 |/Factor Term2 | e
Factor= id | (Expr) | num
예를 들어 위의 문법과 비슷한 것을 Java에서 구현하려고합니다. 지금까지 필자는 재귀를 통해 문장을 전환했지만이 방법은 그렇게 할 수 없다고 생각합니다. 제작을보다 간단하게 표현할 수있는 방법이 있습니까? 팁을 주시면 감사하겠습니다. 감사합니다.
파서를 읽는 것이 좋습니다. 몇 가지 키워드가 있습니다. LR 파싱, LL 파싱, 첫 세트, 재귀 적 파생 :-) – aioobe