в целом для операций там есть готовое решение, пробовал его или тебя интересует теоретическая сторона вопроса?
http://www.quanttec.com/fparsec/reference/operatorprecedenceparser.html#
Рекомендую переделать из E ::= E + A в E ::= A + E а развернуть потом руками
Disregard that, встроенные средства фпарсека лучше
при парсинге оператор он должен возвращать (a->a->a), а мне нужно ещё изменять состояние парсера на основе операндов
рекурсия может быть взаимная между N функциями
https://github.com/habib-sadullaev/Equal/blob/master/src/Equal/LogicalChain.fs#L32 вот пример, как можно сделать нечто подобное. если я правильно понял. вся суть createParserForwardedToRef()
дак прям в родном примере (тот самый жсон парсер) https://github.com/stephan-tolksdorf/fparsec/blob/156cbd751fac67ca7cc04cf661710f1f90a216a5/Samples/JSON/parser.fs#L61
о, точно. уже и забыл. откуда-то же я взял это. видимо, отсюда и брал :)
Обсуждают сегодня