fparsec

    3

    1答えて

    FParsecのOperatorPrecedenceParserを使用して、特にマッピングフェーズでオペレータを解析する際に、エラーを生成する必要があります。次のコードがあるとします: let pOperatorExpr : ExpressionParser = let opp = new OperatorPrecedenceParser<MyType, unit, unit>()

    1

    1答えて

    fparsecを使用してRFC 2822を解析しようとしていますが、複数行のヘッダーを処理できません:(次のヘッダーと混同します) 何かヒントはありますか? let str (s:string) = pstring s let stringLiteral = manySatisfy (fun c -> c <> ':' && c <> '\r' && c <> '\n') let

    5

    2答えて

    F#を使用して再帰的なデータ構造に文字列を解析したいと考えています。この質問では、私がやりたいことの中核をなす簡略化した例を紹介します。 私はレコード型にして、ネストされた角括弧の文字列を解析したい:だから type Bracket = | Bracket of Bracket option : "[]" - >Bracket None 「[[]] " - >Bracket (Some (Br

    1

    1答えて

    FParsecサンプルから次のコードを実行していますが、実行したくないようです。 namespace Test open FParsec.CharParsers module Stuff = let main = run pfloat "1.25E3" let str s = pstring s let floatBetweenBrackets = str "["

    6

    1答えて

    私はF#を初めて使っていて、かなり面倒な問題があります。 Application := Expression Expression Expression := "(" "lambda" Name "." Application ")" | Name Name := [a-z]+ (lambda x. (lambda y. x y)) zと(lambda x. x) yのよう

    3

    1答えて

    このコードはこの入力( "WEEKEND-SUNDAY")を読み込み、 "SATURDAY"を返します。 "WEEKEND-SUNDAY"を入力しても "SATURDAY"を返します=>このパーサーは無視します最後に ')' let pDayOfWeekKeyWords = choice [ pstring "MONDAY" ; pstring "TUE

    3

    1答えて

    私は "abc、def、ghi"のようなユーザ入力テキストを持っています。私は["abc"、 "def"]のように文字列のリストを取得するためにそれを解析したいと思います。 私は let str : Parser<_> = many1Chars (noneOf ",") let listParser : Parser<_> = many (str);; を試みたが、それは常に私の唯一の最初の

    2

    1答えて

    代替パーサーを使用する場合、どのパーサーが入力に一致するかを取得するオプションがあります。私の入力文字列が フォーマット以下 {firstPart_number} {secondPart_operator_symbol} {thirdPart} ようにすることができ ここFIRSTPARTは、第2の部分はオペレータを解析する別のパーサーとthirdPartも(数、文字列のリストの)代替で、常に

    1

    1答えて

    私は作成している言語の解析段階に取り組んでおり、以下の問題があります。 let test2 = // I'd like this to be an error. """ 2 + 2 """ let result = run (spaces >>. expr) test2 val result : ParserResult<CudaExpr,unit>

    0

    1答えて

    ラムダ計算に基づいたプログラミング言語のパーサを作成しています。中置演算子とその優先順位を追加しますが、パーサーが負の優先順位に関するエラーでクラッシュします。私は手でオペレータの解析を行うことができますが、私は優先権を得ることができないようです。だから、私はOperatorPrecedenceParserを使うことを学ぶかもしれない。 負の優先順位がないため、なぜクラッシュするのかわからないため