acl4のもくじ

  • (by K, 2026.01.24)

(0) 概要

  • acl4はK(=川合)が作っているC言語用のライブラリです。主に自分の開発を楽にするために作っています。
  • このプロジェクトでは「ライブラリ自作駆動開発」ということをやっています(造語)。
  • 「自分でいい道具を作る → それを使ってさらにいい道具を作る → それを使って・・・」というサイクルを繰り返して、短期間でたくさんの成果を上げる手法です。
  • 最近の成果(2026.04.25): a4_p0007: プリプロセッサ処理をする関数を作ったら、いろんな言語が簡単に作れるかもしれない可能性が出てきました!
  • 最近の成果(2026.05.04): a4_p0008: プリプロセッサを使って、Cコンパイラ・アセンブラ・C言語のJITコンパイラを簡単に作りました
  • ライブラリ自作駆動開発:
    • アプリケーションを作る際に、うまく汎用的に書けた関数を自作ライブラリに加えていく。
    • アプリを作り直すときは、ライブラリを活用できるので、開発が速くなる。
    • ライブラリは自分の財産。ここが大きくなれば、以降の開発は加速する。
  • これを見て
    • 「acl4に出てきた〇〇みたいな関数は確かに便利かもしれないから、自分が普段使いしている言語に移植してみた」
    • 「acl4使ってこんなプログラム書いてみたよ」
    • 「〇〇関数のこの仕様は違う気がしたので、自分はこう作ってみた」
    • 「ライブラリ自作駆動開発をやってみました!」
  • みたいに話が広がったら、公開してよかったなーと思います。

(1) acl4ライブラリ( acl4v1 )

  • a4_0016: 主要な標準関数をすべてインクルード、便利関数・便利マクロ、デバッグ支援関数(malloc_など)
  • a4_0017: vector<char> を参考にして作った VecChr クラス(動的可変長配列)、簡単な Key-Value Store を提供する Set0 クラス
  • a4_0018: トークンを切り出す Token0/Token1 クラス、かっこでくくられた構造を切り分ける parseArgs など
  • a4_0019: VecChrに対するprintf・VecChrに対するファイル入出力関数
  • a4_0020: プリプロセッサ用のクラス(SourceFiles、Eval、If)
  • a4_0021: プリプロセッサ用の関数群(#define関係)
  • a4_0022: プリプロセッサの main 関数など
  • a4_0023: 簡易な仮想マシン関数 A4vm_exec0 など
  • a4_t0002: (補助ライブラリ)WindowsのAPIを使ってグラフィックウィンドウを開いて描画
  • a4_t0003: (補助ライブラリ)ミニコンパイラなど

(2) acl4を使ったプログラム例

  • a4_p0007: プリプロセッサ処理をする関数を作ったら、いろんな言語が簡単に作れるかもしれない可能性が出てきました!
  • a4_p0008: プリプロセッサを使って、Cコンパイラ・アセンブラ・C言語のJITコンパイラを簡単に作りました

(3) 開発ログなど

  • a4_log: acl4の開発ログ
  • a4_comments: (開発ログ以外の)こめんと欄
  • a4_links: acl4を使っている人、刺激を受けて自分なりのライブラリを作っている人の紹介

(4) その他


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-05-13 (水) 12:05:43 (34d)