タグ

2011年8月30日のブックマーク (4件)

  • antlr/ANTLRWorksを使ってみる - PukiWiki

    ANTLRとは何か † ANTLRは、yacc, lexと同じコンパイラー・コンパイラーです。 ANTRLを使うことで、 言語のコンパイラ、 言語のインタプリタ 他の言語への変換ツール を容易に作成することができます。 一時期よりも話題にならなかったコンパイラー技術もGWTがjavaからjavascriptへの変換を 使ったことにより、その価値が見直されているのではないかと思います。 特にANTRLは、 入力プログラムをASTと呼ばれる構文木に変換し ASTから変数テーブル、関数テーブル、構文チェック、コンパイラー、インタプリタ を生成するため、数テーブル、関数テーブル、構文チェック、コンパイラー、インタプリタが 再利用できる点が優れています。 ↑ ANTWorksとは何か † ANTWorksは、ANTLRの文法を作成、チェックするためのワークベンチです。 ルールの編集 インタプリタの提

    mooz
    mooz 2011/08/30
  • Dangers of anonymous function closures

    This is all well and good until you want to inline this code under some of your application code, as I did while working on Eventful's MySpace application. Consider this example, written in standard Javascript style. What do you expect this code to print? If you say "bar", you're wrong. It prints "foo bar" because in this context the anonymous function closure becomes a call to the function that p

    mooz
    mooz 2011/08/30
    ;(function f() { .. })() の理由.前に関数式を使った文があってセミコロンが省略されていた場合,f は実行されず,その関数式に関数 f が渡るような文になってしまうため.
  • 定兼 邦彦 (Kunihiko Sadakane) - 簡潔データ構造講義資料 - researchmap

    researchmapは、日の研究者情報を収集・公開するとともに、研究者等による情報発信の場や研究者等の間の情報交換の場を提供することを目的として、国立研究開発法人科学技術振興機構(JST)が運営するサービスです。

    mooz
    mooz 2011/08/30
    succinct data structure
  • 特異なバグ - Wikipedia

    特異なバグ (英: unusual software bugs) とは、ソフトウェアバグの中でも特に修正が難しいものを言う。いくつかの種類があるが、直感的に理解しがたいような理論を発表した科学者に由来して名前が付いているものが多い。 ハイゼンバグは、それを調査しようとすると変貌したり消えたりするバグである。 ハイゼンバグの例: リリース版では発生するがデバッグ版(-DDEBUGコンパイルオプション等)では発生しない。 普通に実行すれば発生するがデバッガなどの環境では発生しない。 ユーザーの環境では発生するが開発者の環境では発生しない。 結合テストでは発生するが同じチェックをしているはずの単体テストでは発生しない。 何が起きているのか調べようと出力命令を入れると(いわゆる「printfデバッグ」)発生しなくなる。 競合状態によって発生している。 この名前は不確定性原理を提唱したハイゼンベルク