это библиотека парсинг-комбинаторов - про exp сложность я знаю) сейчас в расте основная для использования?
2. Если выбирать между nom и nom8 (обе имеют вроде бы не критичные проблемы) - что сейчас выбирают?
мне нравится pest
Спасибо посмотрю. Выглядит как пара lexx + bison прямо в rust коде. А то парсер-комбинаторы довольно быстро упираются в порог, когда приходится писать довольно много кода (реализовывать оба lexer + parser).
pest это peg lexx+bison это logos(?)+lalrpop
В pest (я доку смотрю) ты в явном виде описываешь грамматику (терминальные и нетерминальные символы) и как rust-данные сконструировать из текста. Разве не это lexx + bison подход (только прямо в *.rs файле)?
Я, кажется, с yacc немного перепутал
вообще, я в парсерах не очень. По идее фраза "pest это peg" должна о чем-то сказать. Мне не говорит ни о чем: я не знаю, что такое peg. А из документации навскидку и не вьедешь. Поэтому, я скорей понял это как "peg это что-то типа pest". %)
https://en.wikipedia.org/wiki/Parsing_expression_grammar 🙂
Обсуждают сегодня