タグ

ブックマーク / qiita.com/uint256_t (4)

  • 自作コンパイラ基盤の話 - Qiita

    これは、言語実装 Advent Calendar 2020 19日目の記事です。 最近は、コンパイラやインタプリタなどの言語処理系や、それに類するものを作る人が増えてきています。(私の周りだけかもしれませんが。) しかし、もう一歩進んで、コンパイラ基盤を作ってみたという話はあまり聞きません。 コンパイラ基盤は、それの対象とするアーキテクチャについてや、それ自体の使い勝手を考えるのが非常に面白いものです。また、コンパイラ基盤を作る中で、コンパイラや計算機自体についてより深く学ぶことが出来ます。 この記事では、私が開発中のコンパイラ基盤を例として、コンパイラ基盤について語っていきます。 そもそもコンパイラ基盤とは コンパイラ基盤と言えば、近年色々な所で目にするのがLLVMです。 LLVMを使うことで、コンパイラの複雑で面倒な部分を避けつつ、コンパイラを構成することができるようになりました。 下

    自作コンパイラ基盤の話 - Qiita
  • 最適化コンパイラへのいざない (1) - Qiita

    記事一覧 はじめに(この記事) マルチパスコンパイラ 定数に関する最適化 プログラムの構造 ..... 対象読者 コンパイラの内部構造について興味がある方 コンパイラに関して精通している方(批評お待ちしております) はじめに ある程度コンパイラについての学習が進み,小さな自作言語などを作れるようになると,こんな疑問が浮かぶのではないでしょうか. 「世の中のコンパイラって,こんなのだったっけ?」 コンパイラの作り方が解説されている日語の記事は,最近なら簡単に見つかります.ですが,それらの大半は所謂ワンパスコンパイラの作り方について解説しており,より高度な,具体的には gcc や clang 等の実用的コンパイラが行っている最適化というものについての記述が乏しいです. (もちろん,ドラゴンブックや虎を読めば最適化について書いてありますが,初心者が簡単に手を出せるものではないように思えます.

    最適化コンパイラへのいざない (1) - Qiita
  • JVMことはじめ その1: クラスファイル - Qiita

    この記事は何? 最近趣味でJVMを作り始めたので,その過程で得た知見とかを書いていく記事です. 今回は,クラスファイルに焦点を当てていきます. 参考文献 参考文献は一番最後に書くものだと思ってたけど,最初に書いても良いんじゃないだろうか. Java Virtual Machine Specification - まさしくJVMの規格書.一番信頼できるし,わからないことがあればとりあえずここを見る. Javaのクラスファイルをjavapとバイナリエディタで読む - 軽くクラスファイルの内部に触れてみようとして,最初に見つけた記事.とてもわかりやすかった. クラスファイルの構造 規格より抜粋. ClassFile { u4 magic; u2 minor_version; u2 major_version; u2 constant_pool_count; cp_info constant_po

    JVMことはじめ その1: クラスファイル - Qiita
    xef
    xef 2018/12/28
  • 人でもわかる型推論 - Qiita

    追記: この記事を書いてから早2年弱。今は数式のほうがわかりやすいなあと思うようになりました。 これは何? この記事は、最近 Hindley Milner (Algorithm W) 型推論を理解したばかりの私が、型推論のことをなるべくわかりやすく解説するものです。 簡略化したOCamlのようなコードが登場します。 わかりやすさ重視で書いていくつもりなので、専門用語(自由変数とか)はあまり出てきません。 間違いなどあったらコメントしていただけると幸いです。 まずは単相から ここからは図を使って説明していきます。(ビジュアルなほうがわかりやすいハズ) とても簡単な例 以下にとても簡単なコードを示します。 見ればわかりますが、xの型はintですね。 ですが、どのようにしてintだとわかったのでしょうか。 すでにわかっていることを書き出しだしてみました。リテラルの右肩を見てください。 1の型は当

    人でもわかる型推論 - Qiita
  • 1