Чтобы узнать, как писать и анализировать контекстно-свободную грамматику, я хочу выбрать инструмент. Для Haskell существуют два больших варианта: Happy, который генерирует парсер из описания грамматики и * Parsec, что позволяет вам напрямую кодировать парсер в Haskell.
Каковы преимущества (недостатки) любого подхода?