|
|
|
|
|
Â.À.Ñåðåáðÿêîâ, Ì.Ï.Ãàëî÷êèí, Ä.Ð.Ãîí÷àð, Ì.Ã.Ôóðóãÿí
«Òåîðèÿ è ðåàëèçàöèÿ ÿçûêîâ ïðîãðàììèðîâàíèÿ», ó÷åáíîå ïîñîáèå äëÿ ÂÓÇîâ
ïî ñïåöèàëüíîñòè ïðèêëàäíàÿ ôèçèêà è
ìàòåìàòèêà (Ì.: ÌÇ-Ïðåññ, |
|
|
|
Ñîäåðæàíèå
Ïðåäèñëîâèå 1. Ââåäåíèå 1.1. Ìåñòî
êîìïèëÿòîðà â ïðîãðàììíîì îáåñïå÷åíèè 1.2. Ñòðóêòóðà
êîìïèëÿòîðà |
Ñòðàíèöû ïî 1-ìó èçäàíèþ 7 8 8 9 |
|
|
2. ßçûêè è èõ ïðåäñòàâëåíèå 2.1. Àëôàâèòû, öåïî÷êè è ÿçûêè 2.2. Ïðåäñòàâëåíèå ÿçûêîâ 2.3. Ãðàììàòèêè 2.3.1. Ôîðìàëüíîå îïðåäåëåíèå ãðàììàòèêè 2.3.2. Òèïû ãðàììàòèê è èõ ñâîéñòâà 2.4. Ìàøèíû Òüþðèíãà 2.4.1. Íåðàçðåøèìîñòü ïðîáëåìû îñòàíîâà 2.4.2. Êëàññ ðåêóðñèâíûõ ìíîæåñòâ 2.5. Ñâÿçü ìàøèí Òüþðèíãà è ãðàììàòèê òèïà 0 2.6. Ëèíåéíî-îãðàíè÷åííûå àâòîìàòû è èõ ñâÿçü ñ êîíòåêñòíî-çàâèñèìûìè ãðàììàòèêàìè |
13 13 15 17 17 19 20 22 23 24 27 |
|
|
3. Ëåêñè÷åñêèé àíàëèç 3.1. Ðåãóëÿðíûå ìíîæåñòâà è âûðàæåíèÿ 3.2. Êîíå÷íûå àâòîìàòû 3.3. Àëãîðèòìû ïîñòðîåíèÿ êîíå÷íûõ àâòîìàòîâ 3.3.1. Ïîñòðîåíèå íåäåòåðìèíèðîâàííîãî êîíå÷íîãî àâòîìàòà
ïî ðåãóëÿðíîìó âûðàæåíèþ 3.3.2. Ïîñòðîåíèå äåòåðìèíèðîâàííîãî êîíå÷íîãî àâòîìàòà
ïî íåäåòåðìèíèðîâàííîìó 3.3.3. Ïîñòðîåíèå äåòåðìèíèðîâàííîãî êîíå÷íîãî àâòîìàòà
ïî ðåãóëÿðíîìó âûðàæåíèþ 3.3.4. Ïîñòðîåíèå äåòåðìèíèðîâàííîãî êîíå÷íîãî àâòîìàòà
ñ ìèíèìàëüíûì ÷èñëîì ñîñòîÿíèé 3.4. Ñâÿçü ðåãóëÿðíûõ ìíîæåñòâ, êîíå÷íûõ àâòîìàòîâ è ðåãóëÿðíûõ ãðàììàòèê 3.5. Ïðîãðàììèðîâàíèå ëåêñè÷åñêîãî àíàëèçà 3.6. Êîíñòðóêòîð ëåêñè÷åñêèõ àíàëèçàòîðîâ LEX |
32 34 36 40 40 42 43 47 49 53 57 |
|
|
4. Ñèíòàêñè÷åñêèé àíàëèç 4.1. Êîíòåêñòíî-ñâîáîäíûå ãðàììàòèêè è àâòîìàòû ñ ìàãàçèííîé
ïàìÿòüþ 4.2. Ïðåîáðàçîâàíèÿ ÊÑ-ãðàììàòèê 4.2.1. Àëãîðèòì Êîêà-ßíãåðà-Êàñàìè 4.3. Ïðåäñêàçûâàþùèé ðàçáîð ñâåðõó-âíèç 4.3.1. Àëãîðèòì ðàçáîðà ñâåðõó-âíèç 4.3.2. Ôóíêöèè FIRST è FOLLOW 4.3.3. Êîíñòðóèðîâàíèå òàáëèöû ïðåäñêàçûâàþùåãî
àíàëèçàòîðà 4.3.4. LL(1)-ãðàììàòèêè 4.3.5. Óäàëåíèå ëåâîé ðåêóðñèè 4.3.6. Ëåâàÿ ôàêòîðèçàöèÿ 4.3.7. Ðåêóðñèâíûé ñïóñê 4.3.8. Âîññòàíîâëåíèå àíàëèçà ïîñëå ñèíòàêñè÷åñêèõ
îøèáîê 4.4. Ðàçáîð ñíèçó-ââåðõ òèïà ñäâèã-ñâ¸ðòêà 4.4.1. Îñíîâà 4.4.2. LR(1)- àíàëèçàòîðû 4.4.3. Êîíñòðóèðîâàíèå LR(1)-òàáëèöû 4.4.4. LR (1)-ãðàììàòèêè 4.4.5. Âîññòàíîâëåíèå àíàëèçà ïîñëå ñèíòàêñè÷åñêèõ
îøèáîê 4.4.6. Âàðèàíòû LR-àíàëèçàòîðîâ |
62 62 69 70 71 71 74 77 78 79 80 81 83 83 83 85 89 92 95 95 |
|
|
5. Ýëåìåíòû òåîðèè ïåðåâîäà 5.1. Ïðåîáðàçîâàòåëè ñ ìàãàçèííîé ïàìÿòüþ 5.2. Ñèíòàêñè÷åñêè óïðàâëÿåìûé ïåðåâîä 5.2.1. Ñõåìû ñèíòàêñè÷åñêè óïðàâëÿåìîãî ïåðåâîäà 5.2.2. Îáîáùåííûå ñõåìû ñèíòàêñè÷åñêè óïðàâëÿåìîãî
ïåðåâîäà 5.3. Àòðèáóòíûå ãðàììàòèêè 5.3.1. Îïðåäåëåíèå àòðèáóòíûõ ãðàììàòèê 5.3.2. Êëàññû àòðèáóòíûõ ãðàììàòèê è èõ
ðåàëèçàöèÿ 5.3.3. ßçûê îïèñàíèÿ àòðèáóòíûõ ãðàììàòèê |
97 97 99 99 101 103 104 108 111 |
|
|
6. Ïðîâåðêà êîíòåêñòíûõ óñëîâèé 6.1. Îïèñàíèå îáëàñòåé âèäèìîñòè è áëî÷íîé ñòðóêòóðû 6.2. Çàíåñåíèå â ñðåäó è ïîèñê îáúåêòîâ |
115 115 117 |
|
|
7. Îðãàíèçàöèÿ òàáëèö ñèìâîëîâ 7.1. Òàáëèöû èäåíòèôèêàòîðîâ 7.2. Òàáëèöû ðàññòàíîâêè 7.3. Òàáëèöû ðàññòàíîâêè ñî ñïèñêàìè 7.4. Ôóíêöèè ðàññòàíîâêè 7.5. Òàáëèöû íà äåðåâüÿõ 7.6. Ðåàëèçàöèÿ áëî÷íîé ñòðóêòóðû 7.7. Ñðàâíåíèå ìåòîäîâ ðåàëèçàöèè òàáëèö |
124 124 125 128 129 131 135 136 |
|
|
8. Ïðîìåæóòî÷íîå ïðåäñòàâëåíèå
ïðîãðàììû 8.1. Ïðåäñòàâëåíèå â âèäå îðèåíòèðîâàííîãî ãðàôà 8.2. Òð¸õàäðåñíûé êîä 8.3. Ëèíåàðèçîâàííûå ïðåäñòàâëåíèÿ 8.4. Âèðòóàëüíàÿ ìàøèíà Java 8.4.1. Îðãàíèçàöèÿ ïàìÿòè 8.4.2. Íàáîð êîìàíä âèðòóàëüíîé ìàøèíû 8.5. Îðãàíèçàöèÿ èíôîðìàöèè â ãåíåðàòîðå êîäà 8.6. Óðîâåíü ïðîìåæóòî÷íîãî ïðåäñòàâëåíèÿ |
137 137 139 142 144 145 145 147 148 |
|
|
9. Ãåíåðàöèÿ êîäà 9.1. Ìîäåëü ìàøèíû 9.2. Äèíàìè÷åñêàÿ îðãàíèçàöèÿ ïàìÿòè 9.2.1. Îðãàíèçàöèÿ ìàãàçèíà ñî ñòàòè÷åñêîé
öåïî÷êîé 9.2.2. Îðãàíèçàöèÿ ìàãàçèíà ñ äèñïëååì 9.3. Íàçíà÷åíèå àäðåñîâ 9.4. Òðàíñëÿöèÿ ïåðåìåííûõ 9.5. Òðàíñëÿöèÿ öåëûõ âûðàæåíèé 9.6. Òðàíñëÿöèÿ àðèôìåòè÷åñêèõ âûðàæåíèé 9.7. Òðàíñëÿöèÿ ëîãè÷åñêèõ âûðàæåíèé 9.8. Âûäåëåíèå îáùèõ ïîäâûðàæåíèé 9.9. Òðàíñëÿöèÿ îáúåêòíî-îðèåíòèðîâàííûõ ñâîéñòâ ÿçûêîâ
ïðîãðàììèðîâàíèÿ 9.9.1. Âèðòóàëüíûå áàçîâûå êëàññû 9.9.2. Ìíîæåñòâåííîå íàñëåäîâàíèå 9.9.3. Åäèíè÷íîå íàñëåäîâàíèå è âèðòóàëüíûå ôóíêöèè 9.9.4. Ìíîæåñòâåííîå íàñëåäîâàíèå è âèðòóàëüíûå ôóíêöèè 9.9.5. Âèðòóàëüíûå áàçîâûå êëàññû ñ âèðòóàëüíûìè
ôóíêöèÿìè 9.10. Ãåíåðàöèÿ îïòèìàëüíîãî êîäà ìåòîäàìè ñèíòàêñè÷åñêîãî àíàëèçà 9.10.1. Ñîïîñòàâëåíèå îáðàçöîâ 9.10.2. Ñèíòàêñè÷åñêèé àíàëèç äëÿ Ò-ãðàììàòèê 9.10.3. Âûáîð äåðåâà âûâîäà íàèìåíüøåé ñòîèìîñòè 9.10.4. Àòðèáóòíàÿ ñõåìà äëÿ àëãîðèòìà
ñîïîñòàâëåíèÿ îáðàçöîâ |
149 150 152 154 158 159 160 163 164 172 180 184 184 185 186 187 189 191 191 195 200 202 |
|
|
10. Ñèñòåìû àâòîìàòèçàöèè ïîñòðîåíèÿ
òðàíñëÿòîðîâ 10.1. Ñèñòåìà ÑÓÏÅÐ 10.2. Ñèñòåìà YACC |
207 207 209 |
|
|
À. Ñåìàíòèêà êîíòåêñòíî-ñâîáîäíûõ
ÿçûêîâ À.1. Ââåäåíèå À.2. Ôîðìàëüíûå ñâîéñòâà À.3. Ïðîâåðêà íà çàöèêëåííîñòü À.4. Ïðîñòîé ÿçûê ïðîãðàììèðîâàíèÿ À.5. Îáñóæäåíèå |
212 212 218 223 228 238 |
|
|
B. Àòðèáóòíûå ãðàììàòèêè Â.1. Ââåäåíèå Â.2. Îïðåäåëåíèå àòðèáóòíûõ ãðàììàòèê Â.3. Àòðèáóòèðîâàííîå äåðåâî ðàçáîðà Â.4. Íåçàöèêëåííûå àòðèáóòíûå
ãðàììàòèêè Â.5. Âû÷èñëèòåëüíûå ïîñëåäîâàòåëüíîñòè è êîððåêòíîñòü. Îïðåäåëåíèå
âèçèòà Â.6. ×èñòûå ìíîãîâèçèòíûå ãðàììàòèêè Â.7. Àáñîëþòíî íåçàöèêëåííûå
àòðèáóòíûå ãðàììàòèêè Â.8. Ïðîñòûå ìíîãîâèçèòíûå àòðèáóòíûå
ãðàììàòèêè Â.9. Îäíîâèçèòíûå àòðèáóòíûå
ãðàììàòèêè Â.10. Ìíîãîïðîõîäíûå ãðàììàòèêè |
245 245 246 247 248 250 251 253 257 259 260 |
|
|
C. Çàäà÷è ïî ðàçäåëàì êíèãè Ñ.2. ßçûêè è èõ ïðåäñòàâëåíèå Ñ.2.1. Àëôàâèòû, öåïî÷êè è ÿçûêè Ñ.2.2. Ïðåäñòàâëåíèå ÿçûêîâ Ñ.2.3. Ãðàììàòèêè Ñ.3. Ëåêñè÷åñêèé àíàëèç Ñ.3.1. Ðåãóëÿðíûå ìíîæåñòâà è âûðàæåíèÿ Ñ.3.2. Êîíå÷íûå àâòîìàòû Ñ.3.3. Àëãîðèòìû ïîñòðîåíèÿ êîíå÷íûõ àâòîìàòîâ Ñ.3.4. Ðåãóëÿðíûå ìíîæåñòâà è èõ ïðåäñòàâëåíèÿ Ñ.3.5. Àëãåáðàè÷åñêèå ñâîéñòâà ðåãóëÿðíûõ
ìíîæåñòâ. Ëåììà
î ðàçðàñòàíèè Ñ.4. Ñèíòàêñè÷åñêèé àíàëèç Ñ.4.1. ÊÑ-ãðàììàòèêè è ÌÏ-àâòîìàòû Ñ.4.2. Àëãåáðàè÷åñêèå ñâîéñòâà ÊÑ-ÿçûêîâ. Ëåììà
î ðàçðàñòàíèè Ñ.4.3. Ïðåîáðàçîâàíèÿ ÊÑ-ãðàììàòèê Ñ.4.4. Ïðåäñêàçûâàþùèé ðàçáîð ñâåðõó-âíèç Ñ.4.5. Ðàçáîð ñíèçó-ââåðõ òèïà ñäâèã-ñâ¸ðòêà Ñ.5. Ýëåìåíòû òåîðèè ïåðåâîäà Ñ.5.3. Àòðèáóòíûå ãðàììàòèêè Ñ.9. Ãåíåðàöèÿ êîäà Ñ.9.1. Òðàíñëÿöèÿ àðèôìåòè÷åñêèõ âûðàæåíèé Ñ.9.2. Òðàíñëÿöèÿ ëîãè÷åñêèõ âûðàæåíèé Ñ.9.3. Ãåíåðàöèÿ îïòèìàëüíîãî êîäà ìåòîäàìè ñèíòàêñè÷åñêîãî
àíàëèçà Ëèòåðàòóðà |
268 268 268 268 269 274 274 276 277 277 277 278 278 281 282 285 287 290 290 291 291 292 292 293 |
|
|
|
|