Что такое легкая альтернатива ocamlyacc / menhir для анализа простого выражения? - PullRequest
3 голосов
/ 07 февраля 2012

У меня есть тип данных очень простых алгебраических выражений (только с идентификаторами, сложением и умножением), и я хочу разобрать строки, такие как "a + b * (c + d)", в этот тип. Моим импульсом по умолчанию будет использование Ulex + Menhir, но мне интересно, нет ли более простого решения для такой простой проблемы. Есть предложения?

Ответы [ 2 ]

4 голосов
/ 08 февраля 2012

Вы могли бы DIY. Вот пример , который обрабатывает нужный вам случай.Обратите внимание, что стиль не совсем функциональный и в основном взят из этой страницы Википедии о парсерах рекурсивного спуска .Эквивалентный синтаксический анализатор ocamllex / ocamlyacc был бы намного более кратким и читаемым (и производительным? Не уверен!).

4 голосов
/ 07 февраля 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...