【发布时间】:2019-02-03 10:16:55
【问题描述】:
我写 DSL 是为了好玩。我决定使用 attoparsec,因为我熟悉它。
我想用这样的相对文件名实现包含的解析:
include /some/dir/file.ext
或网址:
include http://blah.com/my/file.ext
因此,当我解析时,我希望读取引用的资源并解析整个事物,将其内容附加到“外部”解析状态。
问题在于,虽然这些语句的解析很容易,但我无法在 Attoparsec 解析器中运行 IO(据我了解)。
如何使用 Attoparsec 来实现这一点?我是否使用一些字符串过滤将初始输入切碎,然后将每个“块”相应地解析为parse 和feed?本质上是两遍解析方法?
【问题讨论】:
标签: parsing haskell attoparsec