Ero sivun ”Chomskyn normaalimuoto” versioiden välillä
[arvioimaton versio] | [arvioimaton versio] |
Poistettu sisältö Lisätty sisältö
Rivi 17:
==Kieliopin muuttaminen Chomskyn normaalimuotoon==
Olkoon G = {V, Σ, P, S) yhteydetön kielioppi.
*ε-produktiot voidaan poistaa seuraavasti: määritellään joukko NULL siten, että siihen kuuluvat kaikki ne kieliopin välikkeet, joista voidaan tuottaa tyhjä merkkijono ε joko suoraan tai välillisesti. Tämän jälkeen kielioppiin lisätään kaikki sellaiset produktiot, joissa NULL-joukon välikkeet on korvattu epsilonilla. Formaalisti kukin produktio <math>A \rightarrow X_1 X_2 ... X_k</math> korvataan kaikkien produktioiden <math>A \rightarrow \alpha_1 ... \alpha_k </math> joukolla, missä <math>\alpha_i =\left\{\begin{matrix} X_i, & \mbox{jos}\;X_i \not\in \mbox{NULL} \\ X_i \;\mbox{tai}\; \epsilon & \mbox{jos}\; X_i \in \mbox{NULL} \end{matrix}\right.</math> <br>Lopuksi poistetaan kaikki ε-produktiot (A → ε). Tarvittaessa (jos S → ε) otetaan käyttöön uusi lähtösymboli S' sekä produktiot S' → S ja S' → ε.
|