Компилятор программанын маанисин өзгөртпөстөн, бир тилде (с) жазылган кодду башка тилге (машинанын тилине) которот. Ошондой эле, компилятор максаттуу кодду натыйжалуу кылып, убакыт жана мейкиндик жагынан оптимизациялоосу керек.
Бул окуу куралы колдонуучунун компиляторун ишке ашыруунун теориясын жана практикасын түшүнүү үчүн абдан пайдалуу. Бул окуу куралына лексикалык анализ, синтаксистик анализ, семантикалык анализ, коддорду түзүүнүн ортоңку коду, кодду оптималдаштыруу жана код түзүү сыяктуу компилятор дизайнынын теориялары кирет. Бардык этаптардын сүрөттөмөсү презентация формасында берилет.
Бул окуу куралы окууга кызыккан жана компилятордун негизги принциптерин түшүнгөн студенттерге арналган. Компилятор дизайнын кызыктыргандар үчүн дагы пайдалуу. Ар бир фаза мисалдар менен оңой сүрөттөлөт.
Бул окуу куралы c, java ж.б. сыяктуу программалоо тили боюнча бир катар негизги билимдерди талап кылат.
Өзгөчөлүктөрү:
1. Тема / бөлүм акылдуу сабак.
2. Ар бир теманын субтопикасынын акылдуу сабагы.
3. Ошондой эле мен даярдаган youtube видеолорунун шилтемелерин камтыйт.
4. Суроо берүү банкы.
5. Слайддагы Оффлайн белгилерин толтуруңуз.
Темалар:
1. Компилятордун дизайны: Киришүү
2. Bootstrapping
3. Лексикалык анализ: Туруктуу сөз айкашы, Томпсон курулушу
4. Синтаксистик анализ: Жогорудан ылдый жана төмөндөн жогору талдоо
5. Жогорудан ылдый талдоо: Болжолдуу талдоо (LL Parsing)
6. Төмөнкү талдоо: Жөнөкөй LR (SLR), Ahead LR (LALR)
7. Семантикалык анализ
8. Ортоңку кодду түзүү: үч даректүү код
9. Кодду оптимизациялоо: Негизги Блоктор
10. Code Generation: Алгоритм, getreg () функциясы
Качан жаңырды
2024-ж., 21-сен.