1

我正在用 Alex + Happy 为 Haskell 中的一种语言编写解析器。

我想要做的是:在 Alex 中,跳过空格和换行符,但将它们保持为状态,然后发出包含换行符和标记前缩进的标记。

我想我可以为缩进和换行发出额外的标记,然后稍后折叠它们,但我更喜欢更干净的方法。

有什么方法可以将 alex 中的令牌处理包装在一个带有缩进/换行信息的 monad 中,并且可以在发出令牌的操作中访问?

4

0 回答 0