Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Компиляция




Методы реализации программ

Программы, написанные на каком-либо языке программирования (кроме машинных языков), не могут быть непосредственно выполнены. Их нужно как-то «обработать» и выполнить. Каждый такой способ обработки называется метод реализации программ. Языки программирования могут реализовываться тремя методами.

Программа может переводиться на машинный язык и выполняться непосредственно компьютером. Такая реализация называется компиляцией. Преимущество этого метода – очень быстрое выполнение программы после завершения процесса компиляции. Программы на большинстве языков, таких как C++ и Delphi, реализуются с помощью компилятора.

 

Рассмотрим, основные этапы процесса компиляции.

Лексический анализатор объединяет символы исходной программы в лексические единицы. Лексические единицы программы – это имена переменных, служебные слова, операторы и знаки пунктуации. Их кратко называют лексемами.

Слова в русском языке состоят тоже из букв, но мы оперируем именно словами.

Синтаксический анализатор получает от лексического анализатора лексемы и проверяет правильность их следования. Например, последовательность лексем «x», «=», «5» будет правильной, а вот «=», «x», «5» ­– нет. Результатом работы синтаксического анализатора являются деревья синтаксического анализа, которые представляют собой иерархические структуры данных с информацией о программе и её операторах.

Расписать дерево выражения (2+2)*2

Аналогия орфографии в русском языке.

Таблица символов используется в качестве базы данных для процесса компиляции. Изначально в этой таблице находится информация о типах и атрибутах всех операторов и переменных, определённых в программе. Эту информацию в таблицу символов помещают лексический и синтаксический анализатор, а используют семантический анализатор и генератор кода.

Генератор промежуточного кода создаёт программы на особом языке, промежуточном между языком исходной программы и машинным языком. Промежуточные языки зачастую очень похоже на языки ассемблера и иногда действительно ими являются.

Семантический анализ позволяет выявить смысловые ошибки в программе, такие как использование переменных без присвоения им начального значения или определение операторов, которые никогда не могут быть выполнены.

Оптимизатор позволяет улучшить программу путём уменьшения её размеров или скорости выполнения или того и другого одновременно. Оптимизация часто является дополнительным этапом процесса компиляции.

Генератор машинного кода переводит программу с промежуточного кода в машинный код.

Машинный код, созданный генератором кода, может непосредственно выполняться аппаратным обеспечением. Однако для выполнения большинства пользовательских программ необходимы также программы и функции операционной системы (например, функции ввода-вывода). Для связки программы с функциями операционной системы и программами других разработчиков предназначен редактор связей.

После редактора связей программа переведена в машинный код и может быть непосредственно исполнена. Способы запуска программы зависят от операционной системы, если такая есть, и особенностей работы аппаратного обеспечения.

 





Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 272; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.102 сек.