:LL (1) 문법입니까? 명제 논리에 대한 다음과 같은 문법을 고려
<A> ::= <B> <-> <A> | <B>
<B> ::= <C> -> <B> | <C>
<C> ::= <D> \/ <C> | <D>
<D> ::= <E> /\ <D> | <E>
<E> ::= <F> | -<F>
<F> ::= <G> | <H>
<G> ::= (<A>)
<H> ::= p | q | r | ... | z
우선 순위 conectives를위한이다 : -/\, /, ->, < ->.
연관성도 고려됩니다. 예를 들어 p\/q\/r
은 p\/(q\/r)
과 같아야합니다. 다른 conectives에 대해서도 마찬가지입니다.
자바에서 예측 하향식 파서를 가장하는 것처럼 가장합니다. 나는 여기서 모호성이나 직접적인 왼쪽 재귀를 보지 못하지만, 이것이 내가 LL (1) 문법이라고 생각할 필요가 있는지 확실하지는 않다. 어쩌면 undirect left recursion일까요?
이것이 LL (1) 문법이 아닌 경우 내 의도에 맞게 변형하는 데 필요한 단계는 무엇입니까?
이것은 프로그래밍 문제가 아닙니다. – keyser
"프로그래밍 질문"을 정의하십시오. – Wyvern666
프로그래밍 질문은 당신이 물어 보는 것보다 당신이 묻고있는 것을하기위한 코드와 더 관련이 있습니다. 귀하의 질문은 무엇이라도있는 메타입니다. – VoteCoffee