Scala Parser Combinator, Ambiguous Grammar & Parse Forest

Я пытаюсь заставить синтаксический анализатор возвращать все возможные результаты синтаксического анализа (лес синтаксического анализа )из неоднозначной грамматики и выбирать из леса синтаксического анализа, оценивая их в контексте пользователя / история и база знаний. Из соображений производительности это, вероятно, следует сделать с парсером packrat и параметром ограничения поиска / верхней -границы, чтобы ограничить количество рекурсивных вызовов при применении правил производства, чтобы избежать бесконечных циклов.

Будучи новичком как в Scala, так и в его парсерных комбинаторах, я не могу понять, как это сделать и можно ли это сделать вообще. Может ли кто-нибудь помочь? Очень признателен.

С уважением, Томас Хуан

8
задан hippietrail 19 September 2014 в 14:31
поделиться