タグ

ブックマーク / qiita.com/takoeight0821 (2)

  • コンパイラの中間表現いろいろ - Qiita

    中間表現 一般に、あるプログラミング言語で書かれたソースコードと、コンパイラが成果物として出力する目的コードには抽象度に大きな隔たりがあります。 例を挙げると、1 + 2 - 3のような単純な数式も、push 1; add 2; sub 3;のような形式に変換する必要があります。 このギャップを一気に埋めるのはとてもつらいため、多くのコンパイラでは中間表現というアイディアを採用しています。 例えば、HaskellのコンパイラGHCは、抽象構文木以外に、大きく分けてCore,Std,C--の3つの中間表現を使っています。 CのコンパイラGCCも、GIMPLE、RTLといった中間表現を用いています。 中間表現を用いるもう一つのメリットは、コンパイラの内部構造のモジュール化です。 中間表現を採用することで、ソースコードをASTに変換し意味検査を行うフロントエンド、中間表現に変換し最適化を行うミド

    コンパイラの中間表現いろいろ - Qiita
    ilyaletre
    ilyaletre 2018/04/17
    こういう中間表現の実装みて観察するのMinCamlとかがいいのかな。
  • GHCでの中置演算子のパース - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    GHCでの中置演算子のパース - Qiita
    ilyaletre
    ilyaletre 2017/12/06
    そうか、いったん左結合で読んで後で書き換えれば良いのか。parser作る時の参考になった。
  • 1