問題タブ [attoparsec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
216 参照

haskell - Attoparsec `many` メソッドが見つかりません

Bryan O'Sullivan の Attoparsec ベースの HTTP パーサー ( http://www.serpentine.com/blog/2010/03/03/whats-in-a-parser-attoparsec-rewired-2/ )のテストを実行してみました。そして、私はこのエラーを受け取りました:

驚いたことに、ghci を実行したところ、次のようになりました。

誰が何が起こっているのか教えてもらえますか?

0 投票する
1 に答える
1362 参照

exception - aeson / attoparsec を使用したコンジット、ソースにデータがなくなったら例外なくきれいに終了する方法

ファイル/ウェブサーバーからのJSONデータを解析するためにaeson/attoparsecおよびconduit/conduit-http接続を使用しています。conduit-attoparsec私の問題は、パイプラインが常にこの例外をスローすることです...

...ソケットが閉じられるか、EOF に達すると。パイプラインなどを介して結果のデータ構造を解析して渡すことは問題なく機能しますが、常にsinkParserこの例外をスローして終了します。私はこのようにそれを呼び出します...

...ByteStrings をメッセージ構造に解析するコンジットの内部。

データがなくなったら (トップレベルの式がなくなったら)、パイプラインをきれいに終了させるにはどうすればよいですか? エラー文字列を見なくても、この例外を検出/区別する適切な方法はありますか?

ありがとう!

編集: 例:

サンプル入力 (input.json):

出力:

と out.txt:

0 投票する
1 に答える
514 参照

parsing - Haskell: ByteString からネストされたリストを読み取るために attoparsec を使用する方法

次のようなネストされたリストを含むテキスト ファイル (最大 300 MB) があります。

ファイルをhaskellIntegerリストに読み込むプログラムは次のとおりです。

ByteStringこれは小さなテキスト ファイルでは機能しますが、ファイルをすばやく読み取るために使用したいと考えています。ByteString の関数がないことがわかりましたread。代わりに、独自のパーサーを attoparsec で作成する必要があります。これは、ByteString の解析をサポートしているためです。

attoparsecネストされたリストを解析するにはどうすればよいですか?

0 投票する
1 に答える
749 参照

parsing - attoparsec を使用して括弧内のコンマ区切り文字列を解析する

ばかげた質問で申し訳ありません。

次のような SQL スキーマがあります (たとえば)。

このスキーマから、いくつかの情報のみが必要です。主キー、インデックス、「not null」は気にしません。テーブル名、フィールド名、タイプのみ。

私は次の醜いコードを書きましたが、それは機能しません:

私が思ったように、このコードはこのタイプを埋める必要があります:

しかし、テーブル式の作成内のフィールドセクションを適切に解析する方法がわかりません。フィールド宣言の終わりを検出するにはどうすればよいですか?

0 投票する
0 に答える
165 参照

haskell - attoparsec Haskell ライブラリを使用して文字列の最初の解析成功を見つける最良の方法

私はそれをしたい:

正常に動作していますが、attoparsec の世界でより簡単な (より美しい) 方法はありますか?

0 投票する
1 に答える
332 参照

haskell - 最新の Attoparsec で大文字と小文字を区別しない方法で文字列を一致させるにはどうすればよいですか?

attoparsec 0.72 にはこの機能がありましたが、それ以降のバージョンでは消えているようです:

「文字列と一致するテキストの両方に変換を適用した後、リテラル文字列と一致します。たとえば、大文字と小文字を区別しない文字列比較に役立ちます。」

http://hackage.haskell.org/package/attoparsec-0.7.2/docs/Data-Attoparsec.html