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

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

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

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

Если интересно, я могу помочь с переводом.
Мне кажется, для парсинга сложных выражений лучше использовать библиотеку boost.spirit. Но в целом статья полезная. Жду продолжения!
О мой бог, у меня не хватает слов, и единственное, что приходит мне в голову о таком синтаксическом анализаторе это «а может ещё на ассемблере это сделать стоило?». Автор оригинала не слышал о yacc/lex/bison итп? Или это LLVM'а ограничение такое? Больно смотреть на мучения и нечитаемый код диких размеров.
Автор прекрасно знает и слышал о yacc/lex/bison и т.п. И никаких таких ограничений в LLVM нет, с LLVM это вобще пока никак не связано… И автор, на секундочку, один из основных разработчиков LLVM.
Дело не в незнании или ограничениях.
Во-первых — это прекрасные уроки, объясняющие как на самом деле работает лексический и синтаксический анализ и что находится внутри тех самых yacc/lex.
Во-вторых, автор хотел полностью сосредоточиться не на сторонних инструментах, а полностью контролировать код, а не заставлять читателя изучать ещё один лишний инструмент вроде antlr, bison, etc.
В-третьих, во введении автор говорит, что учебник построен так, что неинтересные и ненужные вам главы легко можно пропустить, ничего при этот не потеряв.
В-четвёртых, этот код очень даже легко читается.
В-пятых, это туториал по LLVM, а не по yacc/lex/bison итп. Извините.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории