Parsec vs Yacc / Bison / Antlr: Почему и когда использовать Parsec?

Я новичок в Haskell и Parsec. После прочтения главы 16 Использование Parsec в Real World Haskell у меня в голове возник вопрос: почему и когда Parsec лучше, чем другие генераторы парсеров, такие как Yacc / Bison / Antlr?

Я понимаю, что Parsec создает хороший DSL для написания парсеров, а Haskell делает его очень простым и выразительным. Но синтаксический анализ - это такая стандартная / популярная технология, которая заслуживает отдельного языка, который выводится на несколько целевых языков. Так когда же мы будем использовать Parsec вместо, скажем, генерации кода Haskell из Bison / Antlr?

Этот вопрос может выйти за рамки технологий и перейти в область отраслевой практики. При написании синтаксического анализатора с нуля, в чем преимущество использования Haskell / Parsec по сравнению с Bison / Antlr или чем-то подобным?

Кстати: мой вопрос очень похож на этот , но не получил удовлетворительного ответа там.

42
задан Community 23 May 2017 в 12:25
поделиться