* 試作言語の一覧
-(by [[K]], 2018.06.19)

** (1) 概要
|開発コードネーム|行数|.exeサイズ|最初のバージョンが完成した日|おもな特徴|h
|TL1|RIGHT:65行|RIGHT:4.0KB|CENTER:2017.06.16|変数1文字・数1桁・加減算のみのシンプルなインタプリタ|
|TL2|RIGHT:131行|RIGHT:5.0KB|CENTER:2017.10.06|TL1から変数名・数の桁の制限をなくしたもの|
|TL3|RIGHT:154行|RIGHT:5.0KB|CENTER:2017.10.06|TL2にwhile命令を追加したもの|
|TJ01|RIGHT:74行|RIGHT:4.5KB|CENTER:2018.05.31|TL1から数の桁の制限だけをなくしたもの|
|TJ02|RIGHT:94行|RIGHT:4.5KB|CENTER:2018.05.31|TJ01にwhile命令を追加したのもの|
|TJ03|RIGHT:156行|RIGHT:5.0KB|CENTER:2018.05.31|TJ02をJITコンパイラ化したもの、劇的に速くなった|
|TJ04|RIGHT:155行|RIGHT:5.0KB|CENTER:2018.06.01|TJ03を書きなおしたものだが、1行しか減ってないのでほぼ意味はない|
|TJ05|RIGHT:108行|RIGHT:8.0KB|CENTER:2018.06.07|TJ03から機械語生成部をjck0ライブラリとして切り離した|
|TJ06|RIGHT:237行|RIGHT:12.0KB|CENTER:2018.06.19|TL1から続いていた変数名の制限をなくし、対応演算子を大幅に増やし、コメントと、入れ子のdo~whileに対応|
|TJ07|RIGHT:215行|RIGHT:13.5KB|CENTER:2018.06.21|C言語そっくりの文法を導入: do~while、while、for、if~else、さらに++や*=なども使えるようになった|
|TJ08|RIGHT:252行|RIGHT:19.5KB|CENTER:2018.06.22|blaライブラリを組み込んだのでグラフィック描画ができる|
|TJ09|RIGHT:309行|RIGHT:15.0KB|CENTER:2018.07.13|TJ07に操車場アルゴリズムを導入: 2+3*4や2*(3+4)などの一般的な式に対応|
|TJ10|RIGHT:345行|RIGHT:15.5KB|CENTER:2018.07.19|TJ09を改良して、++や--をきちんとサポート|
|TJ13|RIGHT:877行|RIGHT:22.0KB|CENTER:2018.08.08|TJ10を改良してポインタをサポート、演算子の扱いを大幅に改良|

** (2) 補足説明など
-バイナリサイズの目安としてwin32の.exeのサイズを書いていますが、ソースコード的にはMacOSやLinuxにも容易に対応できるようにしてあります。ソースコードは全てC言語です。

-TLシリーズは言語自作入門者向けの内容で、こんなに少ない行数でも言語が作れるということを理解してもらうために作りました。プログラミング言語は本質的には難しいものではないということを分かってもらうためのものです。
-TJシリーズはTL1から派生して、JITコンパイラをどうやって作ればいいのか、JITコンパイラは普通のインタプリタと比較してどれくらい速いのか、そういうことを教えるために作りました。
-TJ06あたりからは、徐々に純粋な教育目的からは離れて、Essenの開発につなげるために開発しています。


* こめんと欄
#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS