我目前正在學習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中