Pull to refresh

Comments 5

Я начал с разработки собственного языка, но это постепенно превратилось в написание книги-исследования по языкам и парадигамам программирования в целом. Анализ и сравнение решений в разных языках, изучение и проектирование всяких сложных экзотических возможностей и т.д.)) Получилось что-то вроде хобби для души, и совсем не факт что это выльется в написание компилятора, но если что - за основу будет взят компилятор языка D, что мне там понравилось - так это то, что все написано на достаточно прозрачном С/С++, без использования кодогенерирующих инструментов (lex, yacc и т.п.), и парсер сделан интуитивно понятно рекурсивным спуском. Можно пройтись по шагам в отладчике и посмотреть что как работает.

P.S. Удивился почему в статье картинки с гиперссылками, вроде в статьях есть же таблицы. А вот в комментариях почему-то нет((

Погодите, D до сих пор не self-hosted?

Уже давно, но я начинал когда он еще был на С++, соответственно и исходники брал плюсовые.

@ph_piterможно попросить вас таблицы, которые на самом деле картинки, сделать таки таблицами с нормальными ссылками, чтобы можно было ознакомиться как с языками, так и с книгами?

Не согласен с тезисом, что разработка компилятора - чисто техническая задача. В процессе разработки своего языка и компилятора многократно приходилось творчески мыслить, чтобы найти решение, как реализовать ту или иную особенность языка.

Тривиальна разработка компиляторов разве что для совсем простых (учебных) языков. В остальных же случаях наверняка будут встречаться места в реализации, которые весьма нетривиальны.

Sign up to leave a comment.