Теория языков программирования и методы трансляции (Ч. 1 – Теория)


1. ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ, ПЕРЕВОДЕ И СТРУКТУРЕ ТРАНСЛЯТОРА


1.1. Схема работы транслятора


1.2. Описание входного языка транслятора


1.3. Формальное определение языков программирования


1.3.1. Формальные языки и грамматики


1.3.2. Порождающая грамматика


1.3.3. Классификация по Хомскому


2. ЛЕКСИЧЕСКИЙ АНАЛИЗ


2.1. Задачи и функционирование блока лексического анализа


2.2. Регулярные языки, конечные автоматы и лексический анализ


2.2.1. Конечный автомат


2.2.2. Переход от регулярной грамматики к конечному автомату и обратно


2.2.3. Детерминированные и недетерминированные конечные автоматы


3. СИНТАКСИЧЕСКИЙ АНАЛИЗ

3.1. Контекстно-свободные грамматики и их свойства


3.1.1. Основные понятия


3.2. КС-языки и магазинные автоматы


3.2.1. Конечные автоматы с магазинной памятью (МП-автоматы)


3.2.2. Связь между КС-языками и недетерминированными автоматами


3.3. Нисходящий синтаксический анализ


3.3.1. Общая характеристика и проблемы нисходящего анализа


3.4. Детерминированный восходящий синтаксический анализ


3.4.1. Общие принципы синтаксического анализа снизу вверх


3.5. Синтаксически-управляемый перевод и синтаксический анализ


4. СЕМАНТИЧЕСКИЙ АНАЛИЗ И СИНТЕЗ ОБЪЕКТНОЙ ПРОГРАММЫ


4.1. Общая характеристика семантического анализа


4.1.1. Проверка контекстных условий


4.1.2. Таблица идентификаторов


4.1.3. Распределение памяти


4.1.4. Представления промежуточной программы


4.2. Синтаксически-управляемые трансляции и генерация промежуточной программы


4.3. Атрибутные схемы перевода


4.3.1. Атрибутные трансляционные грамматики


4.3.2. Атрибутные автоматы с магазинной памятью