* ES-BASIC #6 -(by [[K]], 2019.09.20) ** (8) ライブラリの規模 -ES-BASICは自作ライブラリのおかげで少ない行数で短期間で書けているのですが、ではライブラリはどのくらいの大きさなのかをここでまとめておきます。 |名前|タイプ|所属ライブラリ|行数|説明や備考など| |kerrorExit|関数|kbcl0|RIGHT:10行|エラーメッセージを出力して終了| |kerrorExitP0|関数|kbcl0|RIGHT:12行|ポインタが0ならkerrorExit| |kqsort|関数|kbcl0|RIGHT:13行|比較関数に追加の引数を渡せるqsort| |kpopCount32|関数|kbcl0|RIGHT:8行|popcountの32ビット版| |kpopCount64|関数|kbcl0|RIGHT:8行|popcountの64ビット版| |kgetMsb32|関数|kbcl0|RIGHT:11行|最上位ビット位置を得る| |KNoInit|クラス|kbcl0|RIGHT:3行|コンストラクタを制御するための小細工用| |KPtrPool|クラス|kbcl0|RIGHT:60行|メモリ管理の下請け| |KSizPtr|クラス|kbcl0|RIGHT:220行|可変長メモリ領域の管理| |KIndexS|クラス|kbcl0|RIGHT:104行|ソートされたインデックス情報| |KRestructurableRangeU32|クラス|kbcl0|RIGHT:156行|領域情報の管理| |KMemPool|クラス|kbcl0|RIGHT:268行|高速なメモリ管理| |KAutoreleasePool|クラス|kbcl0||自動解放機能付きのメモリアロケータ| |kreadFileA|関数|kbcl0||ファイルをメモリに読み込む| |ksgetsA|関数|kbcl0||文字列から改行までを切り出す| |kcutCrLfM|関数|kbcl0||文字列の末尾の改行コードを削除する| |kextractA|関数|kbcl0||文字列を部分的に切り出す| |kfnv32|関数|kbcl0||ハッシュ値を計算する| |kfnv64|関数|kbcl0||ハッシュ値を計算する| |KIndexHS|クラス|kblc0||ハッシュとソートを併用したインデックス情報| |KIndexDict0|クラス|kbcl0||典型的な辞書型インデックス情報#0| |KIndexDict3|クラス|kbcl0||典型的な辞書型インデックス情報#3| |kstrtol|関数|kbcl0||strtolに渡す文字列をゼロ終端ではなく文字長を与えるようにしたもの| |kminInt|関数|kbcl0||引数のうち小さいほうを返す| |kmaxInt|関数|kbcl0||引数のうち大きいほうを返す| |kstrlenCutSpcLf|関数|kbcl0||文字列の末尾の改行やスペース類をカウントしないstrlen| |kminInt|関数|kbcl0|RIGHT:6行|引数のうち小さいほうを返す| |kmaxInt|関数|kbcl0|RIGHT:6行|引数のうち大きいほうを返す| |kstrlenCutSpcLf|関数|kbcl0|RIGHT:10行|文字列の末尾の改行やスペース類をカウントしないstrlen| |NEW0|マクロ|kbcl0|RIGHT:1行|KMemPoolに対応したnew#0| |NEW1|マクロ|kbcl0|RIGHT:1行|KMemPoolに対応したnew#1| |NEW2|マクロ|kbcl0|RIGHT:1行|KMemPoolに対応したnew#2| |DEL0|マクロ|kbcl0|RIGHT:1行|KMemPoolに対応したdelete| |KStringId|クラス|kll0||文字列に番号をつける| |kinitChrTypA|関数|kll0||文字種別表を初期化| |KLexer|クラス|kll0||文字列をトークンに切り分ける| |ksearchToken0|関数|kll0||スペースやコメントを読み飛ばしてトークンの頭出しをする| |ksearchToken1|関数|kll0||頭出し済みのトークンの終端を探す| |kupperCaseM|関数|kll0||文字列の中の小文字を大文字にする、ただしコメント内の小文字や文字列内の小文字には作用しない| |KPhraseCmp|クラス|kll0||トークン列が指定された順番に並んでいるかどうかを比較する| |kputBin|関数|kll0||メモリにバイナリコードを書き込む| |kmallocRWX|関数|kll0||実行権限のついたメモリを確保| |KSrcLine|クラス|kll0||行番号付きのソースコードの1行を管理| |KSrc|クラス|kll0||複数行で構成されたソースコードを管理| -ライブラリについて --''kbcl0'' ---どんなプログラムにでも役立ちそうな一般的な関数やクラスを集めたもの。 --''kll0'' ---言語を開発するときに役立ちそうな関数やクラスを集めたもの。ただし特定の言語のみにしか必要にならないものは一般性に乏しいので、ライブラリに含めない。 --''bla'' ---グラフィックライブラリ。 --''bla2'' ---blaライブラリに上乗せするライブラリで、16x16ピクセルの追加フォントを定義して、簡単に描画できる。文字というよりはゲームのキャラクタなどを想定。スクロール関数もある。 * こめんと欄 #comment