Rekurencyjne gramatyka - Recursive grammar

W informatyce , A gramatyka jest nieformalnie nazywany gramatyka rekurencyjne jeśli zawiera zasady produkcji , które są rekurencyjne , co oznacza, że rozszerza non-końcowy według tych zasad może doprowadzić do łańcucha, który zawiera tę samą niekońcową ponownie. Inaczej nazywany jest gramatyka nierekursywnych .

Na przykład, gramatyki dla języka bezkontekstowych jest lewy rekurencyjne jeśli istnieje symbol niekońcową A , które mogą być wprowadzone poprzez zasad produkcji produkować ciąg z (jako symbol skrajnej lewej). Wszystkie rodzaje gramatyk w hierarchii Chomsky'ego mogą być rekurencyjne i jest rekurencja, który umożliwia produkcję nieskończonych zestawów słów.

Nieruchomości

Non-rekurencyjne gramatyka może produkować tylko język skończony; a każdy język skończony może być wytwarzany przez gramatyki non-rekurencyjne. Na przykład, gramatyka liniową wytwarza tylko jedno słowo.

Rekurencyjna bezkontekstowych gramatyka, że nie zawiera żadnych niepotrzebnych reguł koniecznie tworzy język nieskończony. Ta nieruchomość stanowi podstawę dla algorytmu , który może skutecznie przetestować czy gramatyka kontekstowa darmo produkuje skończony lub nieskończony język.

Referencje