从F#项目中删除Fparsec管道

时间:2018-04-04 22:50:17

标签: f# fparsec

所以我找到了一种放弃的开源项目,它使用fparsec来解析一些graphql语法。但我需要它在.net核心,所以我试图移植它。但问题是,它使用的fparsecpipes未移植到.net核心。因此,我想拆分仓库并删除管道库,这样我就可以将其余部分移植到.net核心,即使很难,我也不知道F#或有fparsec的任何经验。

这是F#解析器: https://github.com/Lauchi/graphql-net/blob/master/GraphQL.Parser/Parsing/Parser.fs

我想我设法将一些东西翻译回fparsec,到目前为止我得到的是:

  • %[...]choice [...]
  • %% '#'pchar '#'
  • %% 'hello'pstring 'hello'
  • %% '[' -..-类似于pchar '[' >>.

但到现在为止你们可能已经认为我实际上不知道我在做什么,因为语法对我来说非常混乱。我理解解析器和组合器在理论上是什么,我对函数式编程以及如何传递函数和参数有一些了解,但我无法读取语法并感到非常迷失。

任何有更多经验的人都可以给我一些关于如何将这个库改回普通fparsec代码的技巧吗?

0 个答案:

没有答案