Dangling else problemDangling else problem to problem niejednoznaczności spotykanych w praktyce gramatyk bezkontekstowych. Niech polecenie redukuje się do if (warunek) polecenie, do if (warunek) polecenie else polecenie oraz do jakiegoś innego polecenia, np. zmienna = wyrażenie. Weźmy teraz polecenie:
Gramatyka w żaden sposób nie rozstrzyga do którego if odnosi się to else:
czy też:
Gramatykę taką zawsze można przekształcić w gramatykę jednoznaczną, zwykle zakładając że else dotyczy najwewnętrzniejszego wolnego if (czyli pierwsza z podanych wyżej interpretacji). Jest to również rozwiązanie najlepsze ze względu na strukturę analizatora składni: aby skojarzyć napotkany else z właściwym if nie potrzeba sprawdzać liczby else-ów następujących w dalszej części analizowanego napisu. |