Содержание
- 2. Компиляторы Введение в компиляторы Структура компилятора
- 3. 1.Лексический анализ 2.Разбор текста 3.Семантический анализ 4.Оптимизация 5.Генерация кода Структура компилятора Введение в компиляторы
- 4. • Первый шаг: распознавание слов. – наименьшая единица после буквы Структура компилятора This is a sentence.
- 5. • Лексический анализатор делит текст программы на “слова(words)” или “токены (tokens)” Лексический анализ if x ==
- 6. • Как только слова определены, следующим шагом является понимание структуры предложения Разбор текста • Разбор текста
- 7. This line is a longer sentence Разбор текста article noun verb article adjective noun subject object
- 8. if x == y then z = 1; else z = 2; Разбор текста relation assign
- 9. Как только структура предложения определена, необходимо попытаться понять «смысл» - Это сложно! Семантический анализ Компиляторы выполняют
- 10. Например: Jack said Jerry left his assignment at home. Семантический анализ Ещё хуже: Jack said Jack
- 11. Языки программирования определяют строгие правила, чтобы избежать таких разногласий Семантический анализ { int Jack = 3;
- 12. Компиляторы выполняют множество семантических проверок помимо привязок переменных (variable bindings) Семантический анализ Например: Jack left her
- 13. Оптимизация не имеет сильного соответствия в естественном языке – But a little bit like editing Оптимизация
- 14. X = Y * 0 is the same as X = 0 Оптимизация No ! valid
- 15. Создает код сборки (обычно) Генерация кода Перевод на другой язык – Аналогично переводу в ЕЯ-х Code
- 16. Общая структура большинства компиляторов соответствует схеме Генерация кода Пропорции изменились со времен FORTRAN 1 L P
- 18. Скачать презентацию