昔作った自作言語「CheapBasic」をアップデートしてGithubに公開しました。
こちらです。
CheapBasicは簡単に言うと、文字列変数が使えない、関数もない、入出力はPRINTとINPUTしかないBASIC言語のインタープリタです。ソースはC言語で約650行です(コメント、空行を抜いた行数は540行程度)。
こんなちっぽけな言語で何ができるのかというと、
円周率1000桁計算
Pi = 3.
1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170679
8214808651 3282306647 0938446095 5058223172 5359408128
4811174502 8410270193 8521105559 6446229489 5493038196
4428810975 6659334461 2847564823 3786783165 2712019091
(以下略)
マンデルブロ集合のグラフィックスを作成
これらのプログラムが組めるということで、一応、実数値計算や多次元配列、再帰などの機能があります。実行速度は遅いですが。
サンプルではそのほかに万年カレンダーやマインスイーパーゲームなどがあります。詳しくは上記のGitHubで。
要は、こんな小さな言語でも意外といろいろなことができる、ということを示したかったのです。
参考: FizzBuzzのプログラム
for i=1 to 100
A=i mod 3
B=i mod 5
if A*B then print i;
if A=0 then print”Fizz";
if B=0 then print”Buzz";
print
next
このように行番号が無いこと以外はいたって普通のBASIC言語です。