Dastur ichki tasvirlanishining mashinali buyruqlari
Ushbu kitob kompilyatorlar nazariyasi va amaliyotiga bag'ishlangan bo'lib, leksik tahlil, sintaksik tahlil, semantik tahlil, oraliq kod generatsiyasi va optimallashtirish kabi kompilyator bosqichlarini o'z ichiga oladi. Kitobda rasmiy tillar, grammatikalar, avtomatlar va ularning kompilyator qurilishidagi roli batafsil ko'rib chiqiladi. Leksik analizatorlar va sintaksik analizatorlarni yaratish uchun amaliy misollar va algoritmlar keltirilgan. Shuningdek, kitobda xatolarni aniqlash va ularni qayta ishlash, kod optimallashtirish texnikalari va kompilyatorning turli arxitekturalari muhokama qilinadi.
Asosiy mavzular
- Leksik tahlil: Leksik tahlil bosqichi kirish matnini tokenlarga ajratadi. Tokenlar identifikatorlar, kalit so'zlar, operatorlar va boshqa leksik birliklardan iborat bo'lishi mumkin. Leksik analizatorlar rasmiy tillar nazariyasiga asoslangan avtomatlar yordamida amalga oshiriladi. Ushbu bo'limda regular ifodalar, chekli avtomatlar va ularni leksik analizatorlarni qurishda qo'llash usullari ko'rib chiqiladi.
- Sintaksik tahlil: Sintaksik tahlil tokenlar ketma-ketligini grammatik qoidalarga muvofiq ravishda tekshiradi. Sintaksik analizatorlar grammatikaga asoslangan daraxtsimon tuzilmalarni yaratadi. Ushbu bo'limda turli sintaksik tahlil usullari, jumladan yuqoridan pastga va pastdan yuqoriga tahlil, LL va LR grammatikalari muhokama qilinadi. Shuningdek, xatolarni aniqlash va ularni qayta ishlash usullari ham ko'rib chiqiladi.
- Semantik tahlil: Semantik tahlil dastur semantikasini tekshiradi va turli xatolarni aniqlaydi. Ushbu bo'limda tur tekshiruvi, tip o'zgartirish, nomlar maydoni va semantik xatolarni aniqlash usullari muhokama qilinadi. Semantik analizatorlar atributli grammatikalar va boshqa rasmiy usullar yordamida amalga oshiriladi.
- Oraliq kod generatsiyasi: Oraliq kod generatsiyasi dasturni mashina kodiga yaqin, ammo platformadan mustaqil bo'lgan oraliq kodga aylantiradi. Ushbu bo'limda uch adresli kod, P-kod va boshqa oraliq kod turlari muhokama qilinadi. Oraliq kod generatsiyasi dasturni optimallashtirish va turli platformalarga o'tkazishni osonlashtiradi.
- Kod optimallashtirish: Kod optimallashtirish dastur ishlashini yaxshilashga qaratilgan. Ushbu bo'limda doimiy kengaytirish, umumiy ifodalarni yo'qotish, sikllarni optimallashtirish va boshqa kod optimallashtirish texnikalari muhokama qilinadi. Kod optimallashtirish dasturning tezligini va xotira sarfini kamaytirishga yordam beradi.