Каким должен быть язык программирования? Анализ и критика Описание языка Компилятор
Отечественные разработки Cтатьи на компьютерные темы Компьютерный юмор Прочее

Компилятор

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


            Закономерен так же вопрос: а почему, собственно, компилятор, а не интерпретатор? Обоснование этого выбора – в статье Философия языка.

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

Что ещё почитать на эту тему

Последняя правка: 2016-06-01    16:52


Отзывы

     2014/03/18 18:20, Noname

Уроки Креншоу в переложении на Форт (iForth)

     2016/04/15 12:58, utkin

Закономерен так же вопрос: а почему, собственно, компилятор, а не интерпретатор? Или что-то ещё, сочетающее в себе и то, и другое — типа Форта? Наверное, всё-таки исполняемый код всё-таки более предпочтителен во многих отношениях. Но к этой теме ещё вернёмся.

Это зависит от направления использования языка. Так-то лидеры Ява и C# вообще-то интерпретаторы. Ну или что-то среднее. Ну никак не компиляторы. Конечно есть интерпретаторы языка Си как и компиляторы Бейсика, но реализация трансляторов как правило исходит от практического применения - где, когда и как это будет использоваться. Сейчас многие "традиционные" системы из-за конкуренции с интерпретацией вынуждены уметь генерировать код под разные платформы. Например последние изменения Делфи. Лазарус и Code Typhoon например умеют транслировать код под всякую экзотику, хоть под BeOs. Под Андроид уже не компилирует только самый ленивый, а все из-за конкуренции с кроссплатформенным Ява (который по сути развил идеи P-кода Паскаля). 1С тоже ни рыба, ни мясо, а неведома зверушка (хотя производитель гордо говорит о компиляции).

     2016/04/15 13:27, Автор сайта

Теперь есть философия языка, поэтому этот вопрос можно закрыть. Но во что компилировать? Очень перспективна LLVM, но пока неясно, как реализовать некоторые неочевидные моменты. Существует код для Intel x86, но непонятно, что должно ему соответствовать в LLVM.

     2016/10/03 19:42, Павиа

Цикл статей от tyomitch, в том числе 10 лекций по созданию оптимизирующего компилятора:
https://habrahabr.ru/users/tyomitch/topics/page5/

Написать отзыв

Написать автору можно на электронную почту mail(аt)compiler.su

Авторизация

Регистрация

Выслать пароль

Карта сайта


Каким должен быть язык программирования?

Анализ и критика

Описание языка

Компилятор

Надо ли использовать YACC, LEX и подобные инструменты

Выбор кодировки для компилятора

Раскрутка компилятора

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

●  Разбор цепочек знаков операций

●  Как отличить унарный минус от бинарного

Отечественные разработки

Cтатьи на компьютерные темы

Компьютерный юмор

Прочее

Последние комментарии

2018/05/03 11:51, kt
Русский язык и программирование

2018/04/30 14:03, Автор сайта
«Двухмерный» синтаксис Python

2018/04/25 19:21, Геннадий Тышов
Программирование без программистов — это медицина без врачей

2018/03/25 21:14, Денис Будяк
Энтузиасты-разработчики компиляторов и их проекты

2018/03/21 23:37, Marat
Почему обречён язык Форт

2018/02/24 14:51, Эникейщик
Русской операционной системой должна стать ReactOS

2017/12/12 13:32, Comdiv
Отечественные разработки

2017/11/05 17:26, rst256
Электроника без электронщиков