相关疑难解决方法(0)

如何使用alex/haskell执行python样式的缩进/ dedent标记?

我正在用Haskell为Alex写一个小语言词法分析器.

指定语言具有pythonesque显着缩进,每当缩进级别更改时都会发出INDENT标记或DEDENT标记.

在像C这样的传统命令式语言中,你会在词法分析器中保持全局,并使用每行的缩进级别对其进行更新.

这在Alex/Haskell中不起作用,因为我无法在Haskell的任何地方存储任何全局数据,并且我不能将所有的lexing规则放在任何monad或任何东西中.

那么,我该怎么做呢?它甚至可能吗?或者我是否必须编写自己的词法分析器并避免使用alex?

parsing haskell

6
推荐指数
2
解决办法
1665
查看次数

标签 统计

haskell ×1

parsing ×1