我想解析一些语法如下
OUTPUT data
GROUPBY key
TO location
USING object
GROUPBY TO USING
的顺序子句可以变化,但每个子句最多只能出现一次。在 FParsec 中是否有一种方便或内置的方法来解析它?我阅读了一些提到 Haskell Parsec 置换的问题和答案。 FParsec 中似乎没有置换。如果这是要走的路,我将如何在 FParsec 中构建置换?
最佳答案
我认为 FParsec 中没有置换解析器。我看到了一些你可以接受的方向。
choice
结合起来。 .显然这种方法不能扩展,但对于三个解析器我会说这是公平的游戏。 many
的变体在每一步中,您都会创建一个 choice
的解析器,然后丢弃该解析器。因此,在每一步中,您都从一个不断缩小的解析器列表中进行选择,直到无法再进行解析,最后返回沿途收集的结果。 关于f# - FParsec 解析无序子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39190310/