http://tokuhirom.github.com/nanoircparser/ C++ で 1ファイルでうごく IRC の protocol parser を書いたので github にアップしておきました。 IRC のクライアントライブラリは、イベントのハンドリングが主で、ライブラリになっていなくても手でくみたてればわりと十分だったりするので、面倒な protocol parser の部分だけさくっとかいてみました。 ベンチマークはとっていませんが、速度はそれなりにでてるんじゃないかとおもいます。client side で気軽にうごかすボット、みたいなシーンを想定しているので、わりと富豪的な実装になっていますけれど。 今回、工夫した点としては re2c を利用してパーズしてます。このおかげで非常に見通しがいいコードになってます。RFC にのっている BNF のほとんどそのままなので
これを JS に移植しました。 http://svn.webkit.org/repository/webkit/trunk/WebCore/css/tokenizer.flex ポイント それなりに汎用的な Flex みたいなものを作ったので、その部分は CSS 以外にも使えると思います。 あと、定義を文字列で書かずに正規表現オブジェクトで書くのでバックスラッシュをエスケープせずに書けます。ですので、ほとんどの箇所は WebKit の tokenizer の定義をコピーするだけで済みました。 その辺のアイデアは JavaScript で構文解析: Days on the Moon を参考にしました あと http://svn.coderepos.org/share/lang/actionscript/ascss/src/css/CSSLexer.as id:gyuque さんの ASCSS
既に 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 で空白と
What is jparsec? Jparsec is a recursive-desent parser combinator framework written for Java. It constructs parsers in native Java language only. Why yet another parser framework? Jparsec stands out for its combinator nature. It is no parser generator like YACC or ANTLR. No extra grammar file is required. Grammar is written in native Java /C# language, which also means you can utilize all the utili
ucb.rcdtokyo ucb.rcdtokyo @ gmail.com 2006年 9月 7日 (木) 00:05:43 JST 前の記事 [PHP-users 30270] 正規表現でタグの属性値を取り出すには? 次の記事 [PHP-users 30277] Re: 正規表現でタグの属性値を取り出すには? 記事の並び順: [ 日付 ] [ スレッド ] [ 件名 ] [ 著者 ] こんばんは。 もし、単一の正規表現で一気に取り出したいという主旨であればズレちゃってますが。 以下は、いったん開始タグの文字列を取り出した上で、そこからさらに、指定の属性値を取り出すもので、この例では(すべての)AタグのHREF属性値を取り出し、配列に格納しています。 /* ------------------------------------------------------------------
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く