2023-01-01から1ヶ月間の記事一覧

Cコンパイラ作成入門のメモ #7 (Step10)

はじめに Commit Step10 調べたこと・理解したこと ローカル変数管理用の連結リスト周りについて イメージ図 思ったこと はじめに こちらをやってみたときのメモを書いていく。 www.sigbus.info 今回はStep10 Commit Step10 github.com 調べたこと・理解した…

Cコンパイラ作成入門のメモ #6 (Step9)

はじめに Commit Step9 調べたこと、理解したこと データ構造の流れ イメージ図 メモ 参考 NodeとCodegen実装の対応を理解 イメージ図 メモ 参考 スタックの伸びる方向について イメージ図 メモ 参考 consume_ident() の実装について コード メモ 参考 『for…

Cコンパイラ作成入門のメモ #5 (Step8)

はじめに Commit Step8 調べたこと make コード 実行されるコマンド 理解したこと Makefileの前提知識 なぜこのMakefileでこのコマンドが実行されるのか コンパイルオプション ルールを分解して考える 変数 流れ その他 思ったこと はじめに こちらをやって…

Cコンパイラ作成入門のメモ #4 (Step6, 7)

はじめに Commit Step6 Step7 調べたこと startswith コード 詳細 参考 思ったこと はじめに こちらをやってみたときのメモを書いていく。 www.sigbus.info 今回はStep6, 7 Commit Step6 https://github.com/lvlnaga/9cc/commit/0dd18e522522b32fd049d74d5fd…

Cコンパイラ作成入門のメモ #3 (Step4, 5)

はじめに 調べたこと 関数のプロトタイプ宣言について 参考 空returnについて 参考 strchr を使って特定文字有無のif文 参考 思ったこと マインドマップに書きながら理解 再帰的な処理について 説明の流れについて はじめに こちらをやってみたときのメモを…

Cコンパイラ作成入門のメモ #2 (Step2,3)

はじめに 調べたこと 連結リスト 参考 tokenizeのところ詳細 (1)について (2)について 参考 可変個引数、動的引数 (...)について はじめに こちらをやってみたときのメモを書いていく。 www.sigbus.info 今回はStep3まで commitはこちら tokenizerにより空白…