試作言語の一覧

  • (by K, 2018.06.19)

(1) 概要

開発コードネーム行数.exeサイズ最初のバージョンが完成した日おもな特徴
TL165行4.0KB2017.06.16変数1文字・数1桁・加減算のみのシンプルなインタプリタ
TL2131行5.0KB2017.10.06TL1から変数名・数の桁の制限をなくしたもの
TL3154行5.0KB2017.10.06TL2にwhile命令を追加したもの
TJ0174行4.5KB2018.05.31TL1から数の桁の制限だけをなくしたもの
TJ0294行4.5KB2018.05.31TJ01にwhile命令を追加したのもの
TJ03156行5.0KB2018.05.31TJ02をJITコンパイラ化したもの、劇的に速くなった
TJ04155行5.0KB2018.06.01TJ03を書きなおしたものだが、1行しか減ってないのでほぼ意味はない
TJ05108行8.0KB2018.06.07TJ03から機械語生成部をjck0ライブラリとして切り離した
TJ06237行12.0KB2018.06.19TL1から続いていた変数名の制限をなくし、対応演算子を大幅に増やし、コメントと、入れ子のdo~whileに対応
TJ07215行13.5KB2018.06.21C言語そっくりの文法を導入: do~while、while、for、if~else、さらに++や*=なども使えるようになった
TJ08252行19.5KB2018.06.22blaライブラリを組み込んだのでグラフィック描画ができる
TJ09309行15.0KB2018.07.13TJ07に操車場アルゴリズムを導入: 2+3*4や2*(3+4)などの一般的な式に対応
TJ10345行15.5KB2018.07.19TJ09を改良して、++や--をきちんとサポート
TJ13877行22.0KB2018.08.08TJ10を改良してポインタをサポート、演算子の扱いを大幅に改良

(2) 補足説明など

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

こめんと欄


コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-08 (水) 22:27:14 (164d)