Last active
June 4, 2024 21:41
-
-
Save brokenpylons/1c764a59340c6dab67a01b8ebfbb9018 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DG: | |
1. Prepišeš produkcije X_0 -> X_1 ... X_n v obliko: | |
X_0 -- zgornja vrstica | |
/ | \ | |
X_1...X_n -- spodnja vrstica | |
2. Dodaš atribute za vsak neterminal, podedovane na levo, pridobljene na desno. | |
podedovani a b c | |
pridobljeni x y z | |
a b c X x y z | |
3. Dodaš povezave iz atributne gramatike. | |
DG* in IO: | |
1. Prepišeš DG, to je začetno stanje DG*. | |
2. Za IO napišeš vse neterminale in dodaš atribute (na začetku je brez povezav). | |
3. Prepišeš vse povezave iz zgornjih vrstic DG* v IO. | |
4. Prepišeš vse povezave iz IO v spodnje vrstice DG*. | |
5. Za vsako verigo povezav iz podedovanega atributa a v pridobljeni atribut x za neterminal X dodaš povezavo iz a v x v IO. | |
6. Dokler je mogoče dodati še kakšno povezavo greš nazaj na 4. | |
Pogledaš, če je kje cikel v DG* (za vsako posamezno produkcijo). | |
Vrstni red: | |
1. Vse atribute in povezave iz DG* prepišeš v en graf. | |
2. Najdeš topološko soltiranje. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment