diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-05-06 00:20:40 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-05-06 00:20:40 +0900 |
| commit | d8c7e198e4338be30a33909666083154056eedba (patch) | |
| tree | 0c1c70f3f6d90dec91f9808506f14b732a451ff0 /vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html | |
| parent | bcca40d0e7a9ddf0a487cb2b0c9819f332ac73f2 (diff) | |
| download | nsfisis.dev-d8c7e198e4338be30a33909666083154056eedba.tar.gz nsfisis.dev-d8c7e198e4338be30a33909666083154056eedba.tar.zst nsfisis.dev-d8c7e198e4338be30a33909666083154056eedba.zip | |
feat(blog/nuldoc): fix processing of tight list
Diffstat (limited to 'vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html')
| -rw-r--r-- | vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html | 64 |
1 files changed, 16 insertions, 48 deletions
diff --git a/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html b/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html index f9195f29..2022f33b 100644 --- a/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html +++ b/vhosts/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html @@ -96,14 +96,10 @@ </p> <ul> <li> - <p> - 宣言の文法を単純にパースできるものに絞る - </p> + 宣言の文法を単純にパースできるものに絞る <ul> <li> - <p> - <code>typedef</code> をサポートしない - </p> + <code>typedef</code> をサポートしない <ul> <li> 構造体には必ず <code>struct</code> キーワードを書く @@ -111,9 +107,7 @@ </ul> </li> <li> - <p> - 配列型をサポートしない - </p> + 配列型をサポートしない <ul> <li> 常にヒープに確保してポインタ経由で扱う @@ -126,17 +120,13 @@ </ul> </li> <li> - <p> - 無くてもなんとかなる構文糖を実装しない。ソースを書くときに頑張る - </p> + 無くてもなんとかなる構文糖を実装しない。ソースを書くときに頑張る <ul> <li> インクリメント・デクリメント演算子 (1足したり引いたりする) </li> <li> - <p> - 複合代入演算子 (左辺と右辺で 2回書く) - </p> + 複合代入演算子 (左辺と右辺で 2回書く) <ul> <li> なお、<code>+=</code> と <code>-=</code> はセルフホスト達成後に実装された @@ -144,9 +134,7 @@ </ul> </li> <li> - <p> - <code>while</code> (<code>for</code> で置き換える) - </p> + <code>while</code> (<code>for</code> で置き換える) <ul> <li> なお、<code>while</code> はセルフホスト達成後に実装された @@ -162,9 +150,7 @@ </ul> </li> <li> - <p> - プリプロセッサのほとんどを実装しない - </p> + プリプロセッサのほとんどを実装しない <ul> <li> 数値または識別子へ置換する単純な <code>#define</code> のみサポートする @@ -175,9 +161,7 @@ </ul> </li> <li> - <p> - グローバル変数を用いない - </p> + グローバル変数を用いない <ul> <li> <code>stdin</code>、<code>stdout</code>、<code>stderr</code> を含む @@ -191,9 +175,7 @@ </ul> </li> <li> - <p> - 変数のシャドウイングを実装しない - </p> + 変数のシャドウイングを実装しない <ul> <li> 変数は常に関数スコープ @@ -211,9 +193,7 @@ </p> <ul> <li> - <p> - 文 - </p> + 文 <ul> <li> <code>if</code> / <code>else</code> @@ -236,14 +216,10 @@ </ul> </li> <li> - <p> - 式 - </p> + 式 <ul> <li> - <p> - 二項演算 - </p> + 二項演算 <ul> <li> <code>+</code> / <code>-</code> / <code>*</code> / <code>/</code> / <code>%</code> @@ -260,9 +236,7 @@ </ul> </li> <li> - <p> - 代入 - </p> + 代入 <ul> <li> <code>=</code> @@ -293,9 +267,7 @@ </ul> </li> <li> - <p> - 型 - </p> + 型 <ul> <li> <code>char</code> @@ -318,9 +290,7 @@ </ul> </li> <li> - <p> - 宣言・定義 - </p> + 宣言・定義 <ul> <li> 関数 @@ -331,9 +301,7 @@ </ul> </li> <li> - <p> - プリプロセッサ - </p> + プリプロセッサ <ul> <li> 引数なし <code>#define</code> |
