我希望使用Megaparsec解析一个基本的缩进语言。最初我使用Parsec,成功地处理了缩进,但现在遇到了很多问题。 我一直在跟随这个教程here,这是我用来解析一个忽略缩进的语言的代码。 module Parser where import Data.Functo...
使用 Megaparsec 5。 按照 这篇指南,我可以通过组合 StateT 和 ParsecT(未定义的类型应该是明显/无关的)来实现回溯用户状态: type MyParser a = StateT UserState (ParsecT Dec T.Text Identity) a ...
buildExpressionParser 只处理一元和二元运算符。它能否处理三元运算符,如?:?这里有一些讨论:这里和这里,但没有一个是确定的。
我正在使用Megaparsec编写一个小型解析器,并尝试解析算术表达式。 -- Arithmetic expressions data Aexp = N Num | V Var | Mult Aexp Aexp | ...