Скачать 0.69 Mb.
|
Основные средства СП. Схема работы компилятора Схема компилятора |
^ Транслятор – переводит программу в машинный язык, на выходе получаем объектный модуль. Бывает двух видов: компилятор и интерпретатор. ^ и ![]() ![]() ![]() ![]() исходные данные результаты Схема работы интерпретатора: ![]() и ![]() ![]() результат Интерпретатор работает непрерывно, должен постоянно присутствовать в оперативной памяти. Он обрабатывает по предложению, попутно собирая исходные данные. Компилятор работает при обращении, сразу обрабатывает всю программу и не нужен при её выполнении. Отличия:
( if (E) A; else B).
( do A;B; while (E)) Интерпретатор каждый раз вычисляет А,В, строит представление. Компилятор вычисляет 1 раз и использует этот результат.
На выбор типа транслятора влияет язык. Интерпретатор используется для языков с блочной структурой, строгой типизацией, где вначале надо описать все данные и конструкции (напр.,Pascal). Существуют ЯП, где компилятор строить неэффективно, невозможно с точки зрения особенностей (например, языки для решения задач искусственного интеллекта: интерпретатор около 20 лет назад создан Пильщиковым, компилятор не создан до сих пор). Обычно используется гибрид интерпретатора и компилятора. исходные данные ![]() программа и ![]() ![]() ![]() ![]() результат Примеры промежуточных языков – ПОЛИЗ, виртуальная java-машина. Перевод можно сделать машинно-независимым. ^ Фаза анализа: Исходная программа на языке программирования. ![]() Лексический анализ. ![]() Последовательность лексем. ![]() Синтаксический анализ. ![]() Промежуточное представление программы. ![]() Семантический анализ. (Контроль контекстных условий.) ![]() Фаза синтаксиса: Подготовка к генерации объектного модуля. ![]() Генерация объектного модуля. Эта схема формальная. Лексема – минимальная элементарная текстовая единица, несущая смысл (напр., служебные слова, знаки). Задачи лексического анализа:
Синтаксический анализ:
Семантический анализ:
После проверки семантического анализатора получаем запись на промежуточном языке. При использовании гибрида далее начинает работать интерпретатор. Если чистая компиляция, начинает работать фаза синтаксиса. Подготовка к генерации:
Генерация по подготовленным таблицам, семантике. Формируются машинные коды. Для написания нужно знать характеристики языков. Чтобы охарактеризовать язык, нужно:
Задается перечислением символов, из которых состоит язык. На лексическом анализе – буквы, цифры, разделители и т.д., символы считываются и создаются лексемы. На синтаксическом анализе – другой язык, другой алфавит – числа, слова и т.д.
Правила организации языка. 2 формы организации: - БНФ (форма Бэкуса-Навара), -синтаксические диаграммы (строгое формальное описание синтаксиса)
Определяется смысл синтаксически правильных конструкций.
С точки зрения формального языка сводится к аргументации того, зачем та или иная конструкция входит в состав языка. Переходим к изучению теории формальной грамматики языков. |
![]() | Б. Страуструп. Язык программирования C++, 3-е изд./Пер с англ. – Спб.; М.: «Невский диалект» – «Издательство бином», 1999 г. – 991... | ![]() | Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования |
![]() | Мгу им. М. В. Ломоносова. По данному курсу существует достаточно обширная литература, посвящённая программированию на Ассемблере,... | ![]() | Программа предназначена для обучения программирования на языке С++ учреждений начального профессионального образования для овладения... |
![]() | Целью курсовой работы по дисциплине "Системы программирования" является закрепление теоретического материала и приобретение практических... | ![]() | Программа предназначена для обучения основам программирования на языке низкого уровня Ассемблере учащихся средних школ, учреждений... |
![]() | Конспект лекций предназначен для студентов дневной формы обучения специальности 0719 ²Информационные системы на ж д транспорте²,... | ![]() | В частности, в курсе рассматриваются основные конструкции языков программирования, анализируются основные типы и структуры данных,... |
![]() | Крупица В. В., Яшкова Е. В., Егоров Е. Е. Управление персоналом: Конспект лекций по дисциплине – вгипу, 2009 | ![]() | Короленок Г. А. Менеджмент в торговле. Конспект лекций. (Электронный учебник) Минск: бгэу, 2010 |