문제

In my notebook I wrote:

The necessary condition for grammar ambiguity is

  1. It contains the rule A->BB, where A and B are non-terminals.
  2. OR it contains the rule A->a|b, where A is a non-terminal and {a,b} are terminals.

Would you please confirm or refute this statement?

도움이 되었습니까?

해결책

That's not true because there are other ambiguous grammars that don't have either of those rules.

For example cc can be produced by A -> Bc -> cc but also by A -> cC -> cc in the following grammar:

A -> Bc | cC
B -> c
C -> c
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top