我目前正在学习FParsec库,但遇到了一个问题。当我想要解析一个可选字符串并继续正常解析时,FParsec将在可选解析器上返回一个致命错误,而不是像我期望的那样返回None。下面的工作代码示例说明了我的观点: open System
open FParsec
type AccountEntity =
| Default
| Entity of string
let
我需要在使用FParsec的OperatorPrecedenceParsers解析运算符时产生错误,特别是在映射阶段。假设我有以下代码: let pOperatorExpr : ExpressionParser =
let opp = new OperatorPrecedenceParser<MyType, unit, unit>()
let arithmeticOpera
我想解析RFC 2822使用fparsec,但我无法处理与多行的标题:(它与下一个标题混淆): 这里是我最好的尝试:做你有任何提示? let str (s:string) = pstring s
let stringLiteral =
manySatisfy (fun c -> c <> ':' && c <> '\r' && c <> '\n')
let ws = many (
所以我从FParsec示例运行下面的代码,但它似乎并不想运行。 namespace Test
open FParsec.CharParsers
module Stuff =
let main = run pfloat "1.25E3"
let str s = pstring s
let floatBetweenBrackets = str "[" >>. pflo
我想分析一些语法像GROUPBY TO USING条款如下 OUTPUT data
GROUPBY key
TO location
USING object
顺序允许变化,但可能会出现最多一次每个条款。 是否有方便或内置的方式来解析FParsec中的这个?我阅读了一些提及Haskell Parsec的问题和答案。在FParsec中似乎没有排列。如果这是要走的路,我会怎样在FParsec中