Rekursiv grammatikk - Recursive grammar

I datateknologi , en grammatikk er uformelt kalles en rekursiv grammatikk hvis det inneholder produksjonsregler som er rekursiv , noe som betyr at ekspandere en ikke-terminal i henhold til disse reglene kan til slutt føre til en streng som inneholder den samme ikke-terminal igjen. Ellers kalles det en ikke-rekursiv grammatikk .

For eksempel, en grammatikk for en kontekst-fri språk blir forlatt rekursive dersom det foreligger en ikke-terminal symbol A som kan sendes gjennom produksjonsregler for å fremstille en snor med A (lengst til venstre symbol). Alle typer grammatikk i Chomsky-hierarkiet kan være rekursive og det er rekursjon som tillater produksjon av uendelige sett med ord.

Eiendommer

En ikke-rekursiv grammatikk kan gi et begrenset språk; og hvert endelig språk kan produseres av en ikke-rekursiv grammatikk. For eksempel produserer en rettlinjet grammatikk bare et enkelt ord.

En rekursiv kontekstfri grammatikk som ikke inneholder ubrukelige regler, produserer nødvendigvis et uendelig språk. Denne egenskapen danner grunnlaget for en algoritme som kan teste effektivt om en kontekstfri grammatikk gir et begrenset eller uendelig språk.

referanser