タグ

2015年9月19日のブックマーク (3件)

  • Boost.Spirit.QiとLLVM APIで遊ぼう #kbkz_tech - by shigemk2

    kbkz.connpass.com Boost.Sprit.Qi LLVM API github.com Boost.Sprit.Qi Boostに含まれる構文解析のためのライブラリ 演算子オーバーロードを巧みに使い、構文解析器が出来上がる 楽に書ける 使い方 構文解析を2つの関数を使って行う phrase_parseとparse コード例 解析が成功したらsuccessがtrue it == input.end()になる ルール 文法は1つ以上のルールで構成 boost::sprit::qi::ruleのインスタンス セマンティックアクションと呼ばれる。 渡すのは関数オブジェクトでも可 文字種 いろいろある ルール同士の結合 演算子をつかう leximで囲む ルールの繰り返しと選択 正規表現みたいな感じで使えるよ。 Boost.Phoenixの概要 プレースホルダーと組み合わせると、演算

    Boost.Spirit.QiとLLVM APIで遊ぼう #kbkz_tech - by shigemk2
    labga
    labga 2015/09/19
  • LLVM-IRはIRでない、LLVMはVMでない - .mjtの日記復帰計画

    最近LLVM IRが一般的コンパイラIRに期待されている性質を満たしていないことに対する批判が高まっているので(主にNative Client方面で)、それらの批判に答えたスレッドが大盛り上がりになっている。 http://comments.gmane.org/gmane.comp.compilers.llvm.devel/43769 実際、通常の人間はC++コンパイラなんて書きたくないので、clangを通してLLVM-IRに変換することで、LLVM IRの世界だけでコンパイラを作れると期待しがちに思える。 というか、実際にそういうプロジェクトは多く : EmscriptenはLLVM-IRからJavaScriptに変換している。 Portable Native ClientはLLVM-IRを共通バイトコードとして用いて、ARMとx86で同じバイナリを使えるNative Clientをつく

    LLVM-IRはIRでない、LLVMはVMでない - .mjtの日記復帰計画
    labga
    labga 2015/09/19
  • FreeType - Wikipedia

    FreeType(フリータイプ)は、フォントエンジンを実装したオープンソースのライブラリである。フォントラスタライズ(英語版)を中心に、フォント関連の様々な操作をサポートしている。 FreeType はあくまでもフォント関連のライブラリであって、テキストのレイアウトやグラフィックスの処理(色付きテキストのレンダリングなど)といった上位の API は提供しない。また、フォントの編集や追加もできない。しかし、フォントファイルの内容へのアクセスについて、抽象化された一様で扱いやすいインタフェースを提供することで、アプリケーションフレームワークにおける下位レベルのテキスト描画処理などの実装が容易になる。 TrueType、Type1フォント、OpenTypeなどのフォント形式をサポートしている[1]。 FreeType のライセンス形態は、GNU General Public License また

    FreeType - Wikipedia