Как создают компиляторы для программирования?







+3 +/-
Профиль пользователя Drakestone Спросил: Drakestone (рейтинг 2621) Категория: компьютеры и интернет

Ответов: 2

2 +/-
Лучший ответ

Компилятор - специальная обслуживающая программа, которая выполняет функции трансляции в машинный код программы, которая написанная на языке программирования.

Структура компиляторов. Она представлена в виде фаз.

  1. Лексический анализ
  2. Синтаксический анализ (эта фаза состоит из двух под фаз а)осуществляется распознавание синтаксической структуры б) выполнение семантического разбора (в этом процессе, идет работа с таблицами объектной модели языка))
  3. Фаза генерации кода (также включает семантический анализ модели языка, перевод объектной модели в объектный код)

Этапы разработки.

  1. Создание грамматики для конкретного языка
  2. Этап записи созданной грамматики в универсальной форме (например через форму Бэкуса — Наура)
  3. Определение и расстановка действий
  4. Создание лексического анализатора
  5. Проектирования кодовых продукций для использования в синтаксическом анализаторе.
  6. Компоновка компилятора.

Для создания лучше использовать ассемблер или Си.

Если интересует данное направление, то ищите литературу "Основы трансляции"

Ответил на вопрос: Skelter  
1 +/-

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

Ответил на вопрос: Cheatle  

Похожие вопросы

Спросил
2 Отв.
Как решать подобные задачи по ИВТ(Паскаль, подготовка к ЕГЭ)(см.)?
Ответ: Данные задачи относятся к заданиям ЕГЭ по информатике, суть которых - анализ кода программы, содержащей циклы и ветвления. От решающего задачу требуется проанализировать ход выполнения программы, для ... Читать далее...
Автор вопроса: Iranian, в категории | | |
Спросил Iranian
1 Отв.
Как зашифровать свое имя в двоичном коде?
Ответ: Если вы любитель мозговых штурмов и у вас масса свободного времени, то можно, используя Коды символов ASCII выразить своё имя, к примеру, в десятеричном ... Читать далее...
Автор вопроса: Burnier, в категории | | |
Спросил Burnier
2 Отв.
Что такое «класс» в программировании?
Ответ: Классами программисты описывают некие абстрактные типы данных. В классе также определяются свойства, данные и методы обработки данных. Классы можно объявлять ... Читать далее...
Автор вопроса: Carita, в категории | |
Спросил Carita
1 Отв.
Как получить оповещение о появлении на чужом сайте определенной фразы?
Ответ: Закажите у веб-программиста Парсер который будет постоянно проверять контентна сайте и проверять в нем наличие той самой ... Читать далее...
Автор вопроса: Crankpin, в категории | | | | |
Спросил Crankpin
3 Отв.
Как научиться писать компьютерные программы и зарабатывать на этом?
Ответ: Советую углубиться немного в другую отрасль - веб-программирования. Это очень выгодно и прибыльно. В среднем цена за сайт составляет от 3 до 5 тысяч рублей. ... Читать далее...
Автор вопроса: Contraction, в категории | |
Спросил Contraction
1 Отв.
Каково основное преимущество, получаемое при использовании функции?
Ответ: Функции позволяют делать одно и то же действие много раз подряд одинаково хорошо, в этом главное преимущество как функций, так и компьютеров в целом :) автор ... Читать далее...
Автор вопроса: Garboils, в категории |
Спросил Garboils
1 Отв.
Какой микроконтроллер выбрать новичку для начала?
Ответ: Хотел в начале предложить, что попроще, а потом подумал, что нет в этом смысла. Конечно если трудности пугают, то с простого легче начинать. Но как показывает ... Читать далее...
Автор вопроса: Reaping, в категории | | | | |
Спросил Reaping
1 Отв.
Как начинать самому учить язык программирования?
Ответ: Нет языка программирования - есть языки программирования! Какой именно язык вы хотите начать учить?! Дело в том, что все языки программирования отличаются ... Читать далее...
Автор вопроса: Sorcer, в категории