-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
invoke_list #20
Comments
Аналогичная проблема есть в определении
(на месте |
Не понимаю сути проблемы. Один литерал в фигурных скобках - самый лучший пример конструкции "0 или больше". В регулярках конструкция x* не вызывает никаких проблем, почему тут они возникают? И вообще, как тогда использовать |
А вообще, я рано поднял тревогу, наверное. Нужно потестировать те определения, которые есть - авось прокатит. (Ранее у меня упал fparsec на конструкции |
С этим уже вышла проблема вот на этом месте:
Парсер работал так:
Я решил эту проблему, переставив узлы в грамматике примерно вот так:
|
Первая мысль была как раз переставить их местами. Неужели сработало? |
В связи с этим, кстати, нужно поменять эти токены местами в грамматике тоже. @impworks, займись, пожалуйста. |
Поменяли грамматику, проблема условно решена. |
Нашёл в
Grammar.txt
потенциально опасную конструкцию:Она опасна тем, что под форму
{ value_expr }
подходит пустая строка - следовательно, эта форма будет матчиться вечно (на самом деле, fparsec просто бросит исключение, обнаружив такой парсер). Необходимо чем-то укрепить эту ветвь, чтобы она не могла сматчиться на пустом месте.The text was updated successfully, but these errors were encountered: