20614

Разработка компилятора

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Параметры: S – исходный язык I – язык реализации компилятора на котором написан T – целевой язык генерация кода для целевой машины Т. Если взять связку 3х компиляторов то получим еще один компилятор: Использование возможностей языка для компиляции его самого называется раскруткой. Кросскомпилятор LSN создан для нового языка Lна языке реализации S с генерацией кода для машины N.

Русский

2013-07-31

208.5 KB

6 чел.

Лекция №15

Разработка компилятора

Написать компилятор для Fortran:

Исходный язык (отличие от существующих компиляторов)

Целевой язык (платформа)

Критерии производительности (скорость исполняемого кода – оптимальный объем).

Параметры:

S – исходный язык,

I – язык реализации компилятора (на котором написан),

T – целевой язык (генерация кода для целевой машины Т).

   ->    

Если взять связку 3-х компиляторов, то получим еще один компилятор:

Использование возможностей языка для компиляции его самого называется раскруткой.

Кросс-компилятор LSN  создан для нового языка Lна языке реализации S с генерацией кода для машины N.

Существует компилятор SMM для языка S, работающий на машине M и генерирующий код для M.

Если LSN пропустить через SMM, то получится LMN.

Пример 1: Создание языка Паскаль.

Паскаль был впервые реализован путем написания компилятора на языке Паскаль (на бумажке). После этого вручную был оттранслирован на машинный язык без оптимизации. Получили компилятор, в котором заложена оптимизация. Затем, после нескольких раз раскрутки получили оптимизированный компилятор.

Создавая компилятор LLN, разработка происходила на машине, где имеется существующий компилятор LMM. Если соединить диаграммой, то получим LMN.

Пример 2. Фортран написан на Фортран и прошел 3 стадии раскрутки.

  1.  IBM 384 прошел раскрутку на компиляторе system 360.

FFM -> FМM

  1.  Вручную был создан FM1M1 неоптимизированный.
  2.  Прогоняется FFM через FM1M1. Получаем компилятор FM1M для Фортран, делающий неоптимальный код оптимальным, но работающий неоптимально.
  3.  Берем FFM и прогоняем его через FM1M. Получим компилятор FМM, делающий оптимальный код и работающий оптимально.

Структуры существующих языков

//Паскаль в момент рождения

Средства оптимизации создания компиляторов:

  1.  генератор синтаксических анализаторов,

вход: грамматика,

выход: синтаксический анализатор.

  1.  генератор лексического анализатора,
  2.  средства синтаксически-управляемой трансляции (синтаксическое дерево, с каждым листом связано действие),
  3.  автоматический генератор кода (преобразование из промежуточного языка в язык целевой машины).


Исходный код

Лексический анализатор

оток токенов

Генератор промежуточного кода

Семантический анализатор

Результирующий код

  1.  

 

А также другие работы, которые могут Вас заинтересовать

31641. Системные и локальные шины 23.51 KB
  Стоимость такой организации получается достаточно низкой поскольку для реализации множества путей передачи информации используется единственный набор линий шины разделяемый множеством устройств. Одна из причин больших трудностей возникающих при разработке шин заключается в том что максимальная скорость шины главным образом лимитируется физическими факторами: длиной шины и количеством подсоединяемых устройств и следовательно нагрузкой на шину. Эти физические ограничения не позволяют произвольно ускорять шины.
31642. Системная шина ISA 11.88 KB
  Эта системная шина отличалась наличием второго 36контактного дополнительного разъема для соответствующих плат расширения. Системная шина IS полностью включала в себя возможности старой 8разрядной шины. Шина IS позволяет синхронизировать работу процессора и шины с разными тактовыми частотами.
31643. Психологические особенности детей дошкольного возраста 55.5 KB
  Игра сюжетно – ролевая игра Наглядно – образное мышление Начало понятийного мышления Картина мира Произвольность поведения Самооценка Практическое овладение речью развитие функций речи Дошкольное детство большой отрезок жизни ребенка. Социальная ситуация развития Изменяется место ребенка в системе отношений уже не является центром своей семьи развивается способность к идентификации с людьми образами героев художественных произведений. Она оказывает значительное влияние на развитие ребенка. Но хотя жизнь в игре протекает в...
31644. Психологическая готовность ребёнка к обучению в школе. Проблемы адаптации первоклассника к школе 55.5 KB
  Психологическая готовность ребёнка к обучению в школе. Проблемы адаптации первоклассника к школе. Тема готовности ребенка к школе в отечественной психологии своими корнями уходит в труды Л.Эльконина готовность ребенка к обучению в школе определяет социальная зрелость.
31645. Психологические особенности детей младшего школьного возраста 54.5 KB
  Отчетливо виден социальный смысл учения отношение маленьких школьников к отметкам. Учебные действия школьников с помощью которых можно решить задачу. Самоконтроль Оценка Самооценка Особенности познавательного развития младших школьников. Внимание школьников зависит от: организации активной умственной деятельности.
31646. Мышление и воображение. Их роль в образовательном процессе 23.5 KB
  Виды воображения: по Немову Активное – человек по собственнуму желанию усилием воли вызывает соответствующие образы; Пассивное – образы возникают спонтанно помимо воли и желания человека; Продуктивное – дейчтвительность сознательно конструируется человеком а не просто механически копируется или воссоздается; Репродуктивное – ставится задача воспроизвести реальность в том виде какова она есть такое воображение больше напоминает память чем творчество. Фантазия это определенное чувство желания чегото конкретного ради чего...
31647. Память и внимание. Особенности формирования памяти и внимания в образовательном процессе 33.5 KB
  Особенности формирования памяти и внимания в образовательном процессе. Виды внимания: непроизвольное – оно может возникнуть по мимо желаний человека в силу какихто обстоятельств; произвольное – вызывается силою воли желанием самого человека ответственность интерес; послепроизвольное – возникает в силу появления устойчивого интереса к объекту является самым продуктивным и эффективным. Особенности внимания свойства: объем внимания определяется количеством объектов которые могут быть замечены человеком за короткий промежуток...
31648. Педагогическое общение: компоненты, функции, стили, модели и барьеры 62 KB
  Педагогическое общение: компоненты функции стили модели и барьеры Проблематика общения занимает значительное место в общей психологии и психологии личности. Главным средством общения является речь. Стороны общения: Коммуникативная сторона общения это передача информации. Особую роль для каждого участника общения играет значимость информации при условии что информация не только принята но и понята осмыслена.
31649. Эмоции и чувства. Психическое состояние. Эмоциональное нарушение в младшем школьном возрасте 23 KB
  Психическое состояние. Формы переживания чувств эмоциональное состояние: Наиболее растпространенным явл. Стресс – эмоциональное состояние которое возникает в неожиданных обстоятельствах. Аффект – это очень сильно выраженное кратковременное эиоциональное состояние.