summaryrefslogtreecommitdiffhomepage
path: root/vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-05-06 13:54:01 +0900
committernsfisis <nsfisis@gmail.com>2025-05-06 13:54:17 +0900
commit7578db074c2aa6a4875d99a992a7a7da3ae2f349 (patch)
tree5c9b92db6125d300a8b09ceac810d691a78ce68a /vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj
parentd8c7e198e4338be30a33909666083154056eedba (diff)
downloadnsfisis.dev-7578db074c2aa6a4875d99a992a7a7da3ae2f349.tar.gz
nsfisis.dev-7578db074c2aa6a4875d99a992a7a7da3ae2f349.tar.zst
nsfisis.dev-7578db074c2aa6a4875d99a992a7a7da3ae2f349.zip
feat(blog/content): update post /posts/2025-05-05/make-tiny-self-hosted-c-compiler/
Diffstat (limited to 'vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj')
-rw-r--r--vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj9
1 files changed, 5 insertions, 4 deletions
diff --git a/vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj b/vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj
index ef76526b..ff07355e 100644
--- a/vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj
+++ b/vhosts/blog/content/posts/2025-05-05/make-tiny-self-hosted-c-compiler.dj
@@ -17,7 +17,7 @@ remark = "公開"
C コンパイラと言えば、世界三大自作したいソフトウェアの一角である。
というわけで [『低レイヤを知りたい人のためのCコンパイラ作成入門』](https://www.sigbus.info/compilerbook) (以下 compilerbook) 片手に作ることにした。
-ゴールデンウィークの間 (2025-05-03 から 2025-05-06) に書き始めて書き終えることとし、ISO 8601 の表記で 4日間を表す "P4D" を冠して P4Dcc と名付けた。
+実装する機能を適切に絞ってやればゴールデンウィークの間 (2025-05-03 から 2025-05-06) にセルフホストまで持っていけるのではないか?という仮説を立て、ISO 8601 の表記で 4日間を表す "P4D" を冠して P4Dcc と名付けた。
[P4Dcc のリポジトリはこちら](https://github.com/nsfisis/P4Dcc)
@@ -81,7 +81,7 @@ C コンパイラと言えば、世界三大自作したいソフトウェアの
{#language-features}
## 言語機能
-最終的にサポートされた文法は以下のとおり:
+最終的にサポートされた機能は以下のとおり。
* 文
@@ -232,7 +232,7 @@ int main() {
さて、第2世代コンパイラが手に入ったので、ここからは地獄のデバッグ作業が始まる。多段になっているために問題が起きている箇所の特定が難しい。
......と考えていたのだが、実際のところデバッグは1時間ほどで終わってしまった。
-修正したのは1点。
+修正したのは1点のみ。
なんのことはない、2日目終了時点でほとんど完成していたわけだ。
記念すべき (?) 最後のバグはこちら。
@@ -286,4 +286,5 @@ $ diff -u <(hexdump -C p4dcc2) <(hexdump -C p4dcc3)
正直なところ、思ったより早く終わって拍子抜けしている。
これは compilerbook がうまく実装順を整理しているのと、アセンブリの細かい落とし穴を事前に解説して潰していることが大きいと思われる。
-当初の仮説どおり、サポートする機能を慎重に選ぶことで案外簡単にセルフホストまで持っていけてしまうので、まとまった休みに是非いかがだろうか。
+当初の仮説どおり、サポートする機能を慎重に選ぶことにより短期間でセルフホストまで持っていくことができた。
+案外簡単に作れてしまうので、まとまった休みに是非いかがだろうか。