2017年9月22日のブックマーク (2件)

  • LLVM 言語マニュアル(Language Reference Manual)

    この文書は、LLVMアセンブリ言語の参照マニュアルです。 LLVMは、型安全で、低水準な操作ができる、柔軟な、 そして 全ての 高級言語を簡潔に表現できる能力を提供する静的単一代入(Static Single Assignment:SSA)ベースの表現です。 これはLLVMのコンパイル戦略のすべてのフェイズにわたって使用される共通コード表現です。 LLVMコード表現は、3つの異なる形式で使用できるように設計されています。 インメモリコンパイラ(IR)、 ディスク上でのビットコード表現(JITコンパイラの高速ロード対応)、 そして、可読アセンブリ言語表現です。 これは、変形にデバッグや視覚化の自然さを残しながら、 LLVMが効率的なコンパイラ変形および分析に強力な中間表現を提供することを可能にします。 LLVMの3つの異なる形式はすべて等価です。 このドキュメントは人間の判読可能な表現および

    azma0_0
    azma0_0 2017/09/22
  • LLVM上で、LuaのCライブラリを使用して、コンパイラを使わずにソフトウェアを書く(前半) | POSTD

    LLVM上で、LuaからCライブラリを呼び出し、コンパイラを使わずにソフトウェアを書く 私は、ある プログラミング言語 の開発に取り組んできました。私はよく ビデオゲーム を作りますが、ゲーム開発に利用できる既存の言語には、それぞれ私のやり方に合わない欠点がありました。そこで、自分で新しい言語を作ることにしたのです。私はインタプリタを実装し、ちゃんと動きます。素晴らしい!しかし、あまりに遅いのです。自分がやりたいことを実現するには、私は決めたのです、インタプリタではなく、コンパイラを書くべきだと。ところがそのように決めるとたちまち、このプロジェクトは行き詰ってしまいました。なぜなら、当はコンパイラを書きたくなかったからです。作業量は多いし、今までやったことがないことも多く、どこから始めればいいかも当に分かりませんでした。しかも、私はパーサを書くのが当に嫌いなのです。 そして先週、次の

    LLVM上で、LuaのCライブラリを使用して、コンパイラを使わずにソフトウェアを書く(前半) | POSTD
    azma0_0
    azma0_0 2017/09/22