タグ

c++に関するwaccherのブックマーク (2)

  • JavaScript Syntax探訪 - 枕を欹てて聴く

    blogめったに書いてない... 2.5年で110件... 前々からJSのScannerを読んだりするのが楽しかったのですが, id:miya2000 さんからの「commentを削除するprogram」という話が出たときに, 結局JSのlexerというものは単体では生成できずParserと密着している(主にRegExpとRegExpとRegExpのせいです)ということがわかり, 自分でも書きたいという考えが浮かんできてC++でずっと書いていました. AST構築までできて, jqueryなどをparse成功 + json形式のtreeにシリアライズする程度になったのですが, せっかくなのでLLVMへのbridgeとか検討しています. LLVMおもしろいー. Constellation/iv · GitHub で, Constellation's gist: 387832 — Gist くら

    JavaScript Syntax探訪 - 枕を欹てて聴く
    waccher
    waccher 2010/05/22
    C++でjavascriptのパーサー
  • みねこあ - C++ で ruby 風 Mix-in

    Ruby で一躍有名になった Mix-in ですが、 元を辿れば 単なる多重継承の 良い利用方法にしか過ぎません。従って 多重継承のある C++ ならば Mix-in が使えるはずです。 しかし、Ruby 風の Mix-in が単なる多重継承かというとそうではなくって、 Mix-in されるクラスのメソッドを、Mix-in するモジュールから呼び出していたりします。 (例えば 標準ライブラリのEnumerable。このモジュールを each というメソッドを持つクラスに Mix-in すると、 ソート・検索などの機能がごっそり追加されます。) 静的型システムに支配された C++ 上では、単純な多重継承では実現できません。ある種の「仕組み」が必要になります。 Mix-in のおさらい Ruby では Mix-in する側のクラスを「モジュール」と呼び、 以下のような制約を加えています。 モジ

    みねこあ - C++ で ruby 風 Mix-in
  • 1