nom

    2

    1答えて

    私はnomにいくつかの些細なパーサーを作成しました。だから私はこの時点でかなり精通しています。これまでに作成したすべてのパーサは、常に入力スライス全体をパーサに渡します。 私はストリーミングパーサーを作成したいと思います。私はと仮定します。これは、パーサーが完了するまでバイトをパーサーに送り続けることを意味します。私はこれを説明するドキュメンテーションや例を見つけるのに苦労しました。また、私は「ス

    -1

    1答えて

    私は簡単なクエリ言語のパーサーを実装しようとしています。目的は、テキストからoperationsを生成し、ツリーの上にそれらを渡す前にそれらを評価することです。私が正しく理解していれば、私はNOMの特性(InputLength、InputTake、Slice)の一部を実装する必要があります。 InputTake特性を実装する途中で、分割が識別子を介して部分的に行われるクエリ操作を表す列挙型のサブラ

    1

    1答えて

    私は完全にステートレスであるnomにパーサを書きました。今はステートフルないくつかのレイヤーでラップする必要があります。 トップレベルの解析関数alt_fnがあります。これは、解析された出力の次のビットを列挙型として提供します。その詳細はおそらく重要ではないでしょう。 私はそれが状態巻き込む行う必要がある三つのことがあります。私は私の一部である非可変のHashMapで一致した場合に条件付きでalt

    1

    2答えて

    私は多くのオプションの1つである可能性のあるテキストを解析するnomを持つパーサーを作成しようとしています。コンパイル時に値がわかっているのにNomにはalt!がありますが、私の値はそうではありません。 これは、一致するようにVec<String>を取ることができる自分のパーサーを作成しようとしています。私はいくつかの問題に取り組んでいます。 #[macro_use] extern crate

    2

    1答えて

    nomを使用して、いくつかのバイナリ65c816アセンブリデータを解析しています。私のパーサ構造の一部は、オペコードを別々のフォームに分割し、パラメータがあればそれらのパラメータを取得します。例えば、パーサーは現在、次のようになります。 opcode!は、私は次のことを行い作られたマクロです named!(absolute_long<Instruction>, do_parse!(op:

    1

    1答えて

    私はタグシーケンスまでの、そしてタグシーケンスを含む多くのバイトを取るnomパーサーコンビネータを書いてみたいです。私はtake_until_and_consume!を使用してみましたが、私は、生成されたパーサコンビネータは、タグ配列を捨てることがわかった: Done([], [32, 32, 32, 32]) 私が望むどのようなタグ配列のためである(この場合は、:には #[macro_use