a4_log06
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* acl4の開発ログ #06
-(by [[K]], 2026.02.12)
** 2026.02.12(木) #0
-[[a4_0011]]、[[a4_0012]]、[[a4_0013]]を書きました。プリ...
-[[a4_d0002]] (ここまでの開発速度について(a4_0001~0013...
-ここでいったん一区切りだと思うので、主要なコードを一括で...
-acl4以外の雑務がたまっているので、しばらくはそれを片づけ...
-次はインタプリタを作りたいと思っています。・・・2026年版...
-いやでも、今回は詳しい解説はしない予定なので、そこは期待...
-今回作ったプリプロセッサを使って作るので、結構面白いこと...
** 2026.02.13(金) #0
-(作る暇はまだないけど)言語をどうやって作ったらいいのか...
-たぶん簡素な中間言語を作って、その中間言語にコンパイルし...
-最初に作るのは中間言語の整備になるかなーと思います。コン...
-それができたら、C言語などからその中間言語に変換するコン...
** 2026.02.13(金) #1
-[[a4_d0003]] (acl4v010のダウンロードページ) を書きまし...
** 2026.02.14(土) #0
-作りたい中間言語を a4vm と呼ぶことにします。
** 2026.02.15(日) #0
-a4vmのアセンブラを(ぼんやりと)設計しています。
#define c R00 // 整数レジスタ
#define lp L0000 // ラベル
Lod_RI(c, 0x20)
Lbl_T(lp)
Dbg_Putc_R(c)
Add_RI(c, 1)
Jlt_RIT(c, 0x7f, lp)
Dbg_Putc_I(10) // LF
Dbg_Ret_I(0)
-このくらいの仕様で行けば、アセンブラは1時間もかからずに...
-とか思うと試しに作りたくなってきて危ない・・・。
-さっさと他のことを終わらせないと・・・。
** 2026.02.15(日) #1
-自作プリプロセッサでは複数行マクロ定義が使えるわけですが...
-複雑な例じゃなくて、簡単な例を作りたいわけです。
-やっと一つ思いつきました。
// memo20260215a.txt
#define Factorial(n) [^
#if (n <= 1)
1
#else
(n) * Factorial(n - 1)
#endif
^]
print Factorial(10);
>t0013b memo20260215a.txt
3628800.000000
-ちゃんと階乗計算できています!
-普通のプリプロセッサでは、こんな変態なことできないですよ...
** 2026.02.15(日) #2
-[[a4_p0004]] (プリプロセッサを利用して短時間でアセンブ...
-なんかプリプロセッサって注目されてないけど、プリプロセッ...
* こめんと欄
#comment
終了行:
* acl4の開発ログ #06
-(by [[K]], 2026.02.12)
** 2026.02.12(木) #0
-[[a4_0011]]、[[a4_0012]]、[[a4_0013]]を書きました。プリ...
-[[a4_d0002]] (ここまでの開発速度について(a4_0001~0013...
-ここでいったん一区切りだと思うので、主要なコードを一括で...
-acl4以外の雑務がたまっているので、しばらくはそれを片づけ...
-次はインタプリタを作りたいと思っています。・・・2026年版...
-いやでも、今回は詳しい解説はしない予定なので、そこは期待...
-今回作ったプリプロセッサを使って作るので、結構面白いこと...
** 2026.02.13(金) #0
-(作る暇はまだないけど)言語をどうやって作ったらいいのか...
-たぶん簡素な中間言語を作って、その中間言語にコンパイルし...
-最初に作るのは中間言語の整備になるかなーと思います。コン...
-それができたら、C言語などからその中間言語に変換するコン...
** 2026.02.13(金) #1
-[[a4_d0003]] (acl4v010のダウンロードページ) を書きまし...
** 2026.02.14(土) #0
-作りたい中間言語を a4vm と呼ぶことにします。
** 2026.02.15(日) #0
-a4vmのアセンブラを(ぼんやりと)設計しています。
#define c R00 // 整数レジスタ
#define lp L0000 // ラベル
Lod_RI(c, 0x20)
Lbl_T(lp)
Dbg_Putc_R(c)
Add_RI(c, 1)
Jlt_RIT(c, 0x7f, lp)
Dbg_Putc_I(10) // LF
Dbg_Ret_I(0)
-このくらいの仕様で行けば、アセンブラは1時間もかからずに...
-とか思うと試しに作りたくなってきて危ない・・・。
-さっさと他のことを終わらせないと・・・。
** 2026.02.15(日) #1
-自作プリプロセッサでは複数行マクロ定義が使えるわけですが...
-複雑な例じゃなくて、簡単な例を作りたいわけです。
-やっと一つ思いつきました。
// memo20260215a.txt
#define Factorial(n) [^
#if (n <= 1)
1
#else
(n) * Factorial(n - 1)
#endif
^]
print Factorial(10);
>t0013b memo20260215a.txt
3628800.000000
-ちゃんと階乗計算できています!
-普通のプリプロセッサでは、こんな変態なことできないですよ...
** 2026.02.15(日) #2
-[[a4_p0004]] (プリプロセッサを利用して短時間でアセンブ...
-なんかプリプロセッサって注目されてないけど、プリプロセッ...
* こめんと欄
#comment
ページ名: