Rozumiem następujące twierdzenia, które są prawdziwe:
- Dwie różne pochodne łańcucha w danym CFG mogą czasem przypisywać to samo drzewo parsowania łańcuchowi.
- Kiedy w danym CFG występują pochodne jakiegoś łańcucha, które przypisują różne drzewa parsowania, CFG jest niejednoznaczny.
- Niektóre języki bezkontekstowe generowane przez niejednoznaczne CFG są również generowane przez jednoznaczne CFG.
- Niektóre języki są takie, że jedyne CFG, które mogą je generować (i są takie), są niejednoznaczne.
Pytanie 1 Rozumiem również, że nierozstrzygalne jest, czy arbitralne CFG jest dwuznaczne, w rozumieniu pkt 3 powyżej. A może raczej nie można rozstrzygnąć, czy język bezkontekstowy jest dwuznaczny w rozumieniu punktu 4? Czy oba są nierozstrzygalne?
Q2 Który z punktów 1-4 stanie się fałszywy, gdy zamienimy „bezkontekstowy” na „zwykły”? Czy regularne gramatyki i języki są zawsze jednoznaczne?