показался чрезвычайно сложным. Это я всё плохо написал, или все парсеры такие огромные? Регулярных выражений я не использовал, написал конечный автомат.
Хмм... а что тут "чрезвычайно сложного", всего-то 140 строк? А размеры лексеров зависят от [лексической] сложности языка... lexer generators зачастую помогают (а иногда — не очень), за счёт трансляции regexp → DFA (и других возможностей).
со всеми генераторами, как с лексическими так и с синтаксическими обычно общая проблема — если нужны адекватные диагностики то они не очень подходят
Лично я никогда не видел, чтобы эта проблема была существенной именно с lexer generators (и даже не читал о таком). А про parser generators — да, на многие из них жалуются.
Обсуждают сегодня