タグ

parserに関するtsupoのブックマーク (6)

  • Kazuho@Cybozu Labs: 今更 C++ で JSON パーサ「picojson」を書いたわけ

    既に mattn さんが、「Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!」で紹介してくださっています (mattn さん、アドバイス&バグ情報ありがとうございます!) が、いまさら C++ で JSON パーサを作りました。それは、以下の3点を満たすものがなかったから。 ヘッダファイル only boost 等、他の重たいライブラリに依存しない array や object が STL にマッピングされる コードは、coderepos に置いてありますので、よろしければお使いください (picojson.h)。 なお、現時点での制限事項として、 \n や \r, \uXXXX といったエスケープの処理が未実装rev. 34232 で対応しました (含サロゲートペア) 空白文字の判断基準が RFC と異なるrev. 34277 で空白と

    tsupo
    tsupo 2009/07/03
    昨日、 http://github.com/hjiang/jsonxx/tree/master を watch し始めたところだったりする。C++ で JSON が、いま、暑い(のか?)
  • Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!

    kazuhoさんがやってくれました。 ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが、幾らか気に入らない所があったりビルドが少し手間だったりしていました。STLしか使わなくてvectorとかmapで表現されるツリー構造な物が欲しいなぁって思ってたんです。 とあるIRCで昨日、kazuhoさんと「ほしいですよねー」という話から始まって、githubにあるjsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から格的に書き始めてついさっき出来上がりました。速いw 名前はpicojson とても小さく、実装コードだと300数十ステップ程です。しかもヘッダファイルだけなので管理が楽です。 試しにwassrのpubl

    Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!
    tsupo
    tsupo 2009/07/03
    『jsonxxとかも物色しながら「いいのないねー」とか言ってたらkazuhoさんが「もすこし綺麗に書けそう」って言い出して朝から本格的に書き始めてついさっき出来上がりました。速いw』
  • 10分で書いたパーサーを3時間かけて機能を増やした - てっく煮ブログ

    as3昨日つくった 10分で書ける、お手軽パーザーを AS3 で が予想外に簡単だったので、練習用に機能を増やしていった。ECMA-262 3rd Edition の 11 式 (Expressions) の仕様を参考に、主要な演算子をサポートしてみた。10分で書いたやつのノリでどんどん実装していっただけ。目新しいことは何もない。代入演算子(=, += など)以外は実装できたはず。代入演算子はバックトラックが発生するので、現状の実装では対応できない。例によって、値を変更するとその場で計算してくれる。ここまで作って、条件演算子(A ? B : C)を処理するときに、A が true でも false でも B と C を評価してしまうことに気づいた。いまのところ、B も C も副作用はないから問題ないんだけど、なんかかっこ悪い。if 文なんかも実装していくとしたらこのままでは無理だ。パースす

  • 10分で書ける、お手軽パーザーを AS3 で - てっく煮ブログ

    as310分で書ける、お手軽パーザー にて C++ での数式パーサーが50行ほどで実装されていたので、これを AS3 で書き直してみた。これが完成品。数式を書き換えたらその場で計算してくれる。簡易 eval みたいな感じ。再帰下降法と聞いてもピンと来なかったんだけど、移植する過程で理解が深まっていった。家の説明が大変分かりやすいので、詳しい仕組みについては 10分で書ける、お手軽パーザー のほうをごらんあれ。あ、オリジナルでは -3 などのマイナスのつく数字が扱えなかったので、自分で修正してみた。以下、AS3 版のソースコード(97行)。 // Simple Recursive Descent Parsing // see also: http://fxp.hp.infoseek.co.jp/arti/parser.html package{ import flash.displ

  • 不正なXML/HTMLもパース可能 - ShaniXmlParser | エンタープライズ | マイコミジャーナル

    The ShaniXmlParser projectは8日(米国時間)、ShaniXmlParserの最新版となるShaniXmlParser version 1.4を公開した。ShaniXmlParserはJavaで開発されたXML/HTML DOM/SAXパーサ。不正なフォーマットであってもパースできる点に特徴がある。 ShaniXmlParserはGNU GENERAL PUBLIC LICENSE Version 2のもとで公開されているオープンソースソフトウェア。ShaniXmlParser 1.4における主な変更点は次のとおり。 メモリ使用の改善 SoftReferenceキャッシュに関するドキュメントを削除 DOM 3 Core Test Validation suite試験パス数: 649(722のうち) DOM 2 Core Test Validation suite試験

    tsupo
    tsupo 2006/07/12
    検証されたXMLやXHTMLをパースできるパーサは存在するが、不正なフォーマットの状態のXMLやXHTMLをパースできる点がShaniXmlParserにおける最大の特徴
  • にぽたん休憩所 - Hatena::Diary's feed is been included some "XML invalid" SGML entities.

    はてなダイアリーの feed は XML invalid な SGML entity をそのまま出していたりする。 &raquo; とかが普通に feed 内に含まれてる件。 何使っても parse 出来ない。 いいかげん、 &#187; &#xBB; とかにして欲しい。 いや、<![CDATA[ ... ]]> 内だけはいいんですけどね。 いつか誰かが叩くんじゃないかなとか思ったけど、あんまり叩かれてる様子でも無さそう。 あんまり「叩く」とかしたくないのでソフトタッチで言わせてもらおうかなと思いました。 &lt;, &gt;, &amp;, &quot;, &apos; 以外の「名前」で表現される entity は 10 進か 16 進で数値化して欲しいです。 ちなみに弊社ではこんなのを使ったり使わなかったり。 http://search.cpan.org/dist/HTML-Entit

    にぽたん休憩所 - Hatena::Diary's feed is been included some "XML invalid" SGML entities.
    tsupo
    tsupo 2006/06/13
    何使っても parse 出来ない → Bloglines では parse できてたりするから、自前の parser を使ってるのかな。livedoor Reader では読めないけど、Bloglines では読める feed 問題、この辺が関係ある?
  • 1