Учебное пособие по дисциплине Разработка языков программирования высокого уровня
Скачать 1.74 Mb.
|
1.5. Способы реализацииПод реализацией языка программирования понимается программная система, преобразующая исходный код программы, написанный на том или ином ЯПВУ, в двоичный код на машинном языке, способном выполняться в центральном процессоре. На сегодняшний день существуют три системы реализации ЯПВУ: компиляция, чистая интерпретация и смешанная реализация. Компиляция Схема компиляции приведена на рисунке 2. Здесь лексический анализатор объединяет символы программы в лексические единицы (лексемы) - идентификаторы, ключевые слова, знаки операций и т.п. На основе лексем синтаксический анализатор строит деревья синтаксического анализа (будут рассмотрены в главе 6), таким образом, определяя синтаксическую структуру программы и сразу идентифицируя ошибки. Производится оптимизация . 1 программы путем уменьшения ее размера и возможностей ускорения выполнения. Генератор кода переводит оптимизированную программу в объектный код на машинном языке, а семантический анализатор выявляет ошибки статической семантики. После компиляции объектный код программы подвергается обработке редактором связей (программа Linker), который разрешает все существующие в коде ссылки (объектный код программы дополняется пользовательскими и библиотечными процедурами и функциями), и преобразуется в загрузочный модуль на машинном языке, который поступает на выполнение в процессор. Преимущества: компилируется сразу целиком весь модуль; после компиляции образуется выполняемый обеспечивается мобильность программы. модуль, т.е. Чистая интерпретация Программа-интерпретатор расшифровывает каждую команду программы и сразу ее выполняет в процессоре. К недостаткам можно отнести следующее: скорость чистой интерпретации от 10 до 100 раз медленнее, чем компиляции. Рисунок 2. Схема чистой компиляции Смешанные системы реализации Некоторые системы реализации ЯП представляют компромисс : они транслируют программу на промежуточный язык, разработанный для обеспечения более легкой интерпретации (см. рис. 3). Примером может служить язык Java, реализованный на основе смешанной реализации, программа преобразуется в промежуточный язык – байтовый. Рисунок 3. Система смешанной реализации Контрольные вопросы: Как принципы фон Неймана влияют на элементный состав языка программирования? Какой язык называется императивным? Какими факторами определяется выбор тех или иных критериев оценки языков программирования? Что понимается под критерием читабельности ЯПВУ? Что понимается под критерием легкости создания программ на данном ЯПВУ? Какими факторами определяется надежность ЯПВУ? В чем заключается абстракция данных и абстракция процесса? Какие существуют системы реализации ЯПВУ? В чем состоит смысл процесса компиляции программы на ЯПВУ? 10.В чем заключается процесс интерпретации программы на ЯПВУ? 11.Что такое система смешанной реализации ЯПВУ? |