タグ

コンパイラに関するcad-sanのブックマーク (3)

  • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

    Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

    コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
  • Cコンパイラ作成のオンラインコースを始めます

    Cコンパイラ作成のオンラインコースを始めます Rui Ueyama 2020-04-15 Cコンパイラを作成するオンラインのコースを試験的に始めてみようと思います。僕の書いているオンラインブック「低レイヤを知りたい人のためのCコンパイラ作成入門」を教材として使います。対象者は、このの内容に(少なくとも大まかには)従ってコンパイラを作ってみたいと考えている人です。なお、このコースは個人が適当に思いつきでやっているものでそんなにフォーマルなものではありません。 進め方 週1回のペースで動画配信あるいはビデオ会議などの形で参加者からの質問に答える機会を作ろうと思います。オンラインブックそのものを授業形式で説明するということは行いません。参加者が事前にオンラインブックを読んできて、それに対しての質問などを受け付ける形にしようと思います(いわゆる反転授業スタイル)。また、参加者のコードを軽くコード

  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • 1