Как стать автором
Обновить

Комментарии 5

Есть у этих авторов еще более классическая книга, двухтомник "Теория синтаксического анализа, перевода и компиляции"

Спасибо за статью!
Верно ли я понимаю, что для поддержки своего языка/диалекта в IDE достаточно написать один grammar файл, и, в целом, даже без LSP можно ожидать норм подсветку и автокомплит минимальный?

GCC и LLVM уже давно синтаксис в абстрактный assembler переводят. Создать очередной "убийца С/С++" можно за выходные. Но без адекватной модульной системы и сборочного конвейера "убийца" сдохнет сам.

Рекомендую посмотреть Yacc, Bison, ANTLR для нового уровня разбора файлов-конфигов ;)

Автор статьи делает распространённую ошибку: он не видит разницы между созданием языка и созданием компилятора. Об этом свидетельствуют даже заголовки типа "Создание языка в шесть шагов. Шаг 1: из текста в синтаксическое дерево". А если я пишу компилятор Си и мой первый шаг – это "из текста в синтаксическое дерево", то я создаю язык Си? Или я создаю компилятор? Если, допустим, Вася Пупкин написал компилятор Кобола, то создал ли он язык Кобол? Или его создала Грейс Хоппер?

Создание языка заканчивается описанием его синтаксиса и семантики. Описание может быть формальным (в каком-то документе), формализованным (например, в виде входного файла для генератора компиляторов) или неформальным. А компилятор — это лишь программная реализация этих описаний.

Ну... Спасибо за труд переводчика и оформления поста, но по содержанию это еле-еле уровень песочницы.

Следующий пост на перевод:

"Создание операционной системы с нуля"

КПДВ: книга Таненбаума

Текст: рассказываем про файловую систему, загрузчик, в конце создаём загрузочную флешку

Зарегистрируйтесь на Хабре, чтобы оставить комментарий