タグ

Golangとcompilerに関するkutakutatriangleのブックマーク (2)

  • Goコンパイラを自作して93日でセルフホストを達成した(2回目) · DQNEO日記

    Goコンパイラをゼロから書いてセルフホストを達成しました。(1年ぶり2回目) https://github.com/DQNEO/babygo (ちなみに 前回の話はこちら 「Goコンパイラをゼロから作って147日でセルフホストを達成した」 ) 主な特徴 全部手書き。標準ライブラリも自作。system call 呼び出しも自作。libc非依存。 コンパイルするとアセンブリを吐きます。これをビルドすると単一静的バイナリになります。 設計は、go/parser + chibicicc + α かかった期間 2020/3/29に開始、2020/7/28にセルフホスト達成。 コミットした日 (Author date)を数えたら93日でした。 平均1日2-3時間としてざっくり240 時間 ほど。 前回は500時間かかってるので、今回は半分の期間で達成できたことになります。 なんでまたやろうと思ったの?

  • Writing An Interpreter In Goを読んだ

    Thorsten Ballによる“Writing An Interpreter In Go”を読んだ. 技術界隈のブログを見ているとたまにSteve Yeggeの「If you don’t know how compilers work, then you don’t know how computers work」という言葉に出会う.その度に学生のときにコンパイラの授業を受けなかったこと後悔し,社会人になって挑戦しようとして挫折したことを思い出して悲しい気持ちになる.@rui314さんのCコンパイラをスクラッチから開発してみたを読んではかっこいいなと思いつつ僕には無理だなあと心が折れていた. どの言語を書いていてもコンパイラ(もしくはInterpreter)は切っても離せないものであり内部の動きがどうなっているかを知っておきたいという欲求はプログラマーなら誰しもあると思う(少なくとも僕に

  • 1