玄箱(PowerPC)用 RVTL (2006/08/02)
rvtl は Tiny Basic系のプログラミング環境です。アセンブラで作成しているため、 20キロバイトほどの非常に小さいプログラムですが、豊富な機能を持っています。
BASIC言語系のインタプリタ、エディタ、コマンドラインのヒストリ機能と ファイル名補完、組み込みコマンドとしてLinuxの基本コマンド(ls, cat, cd, mkdir, rm, mount, unmount, chmod, mv, rmdir, sync, pwd) や上級者向けコマンド (chroot, pivot_root, swapon, swapoff, exec) も用意されています。
擬似乱数の生成には高速で上質な Mersenne Twister を使用しています。 Linux カーネル 2.0 から 2.6 さえあれば、ディストリビューションの種類に 関係なく実行できます。
rvtl は特殊な文法 (基本的にすべて代入文) を持つ CASUAL や VTL の子孫と なる言語です。 特殊といっても、日本では、GAME III が有名です。古くから 趣味でプログラミングしていた人には懐かしい言語ではないかと思います。 ラベルを使えるように文法を拡張しています。文法が単純なためインタープリタ でも高速に動作します。マシン環境に依存しますが、1秒間に100万命令程度は 実行できると思います。
若干の制限はありますが、rvtl は子プロセスの起動、パイプ、リダイレクト といったシェルとしての機能も持っています。 先頭行を #!/usr/bin/rvtl として実行パーミッションを付加するとシェルスクリプトとして使うことも できます。CGIを作成することも可能です。
同一バージョンのi386版、ARM版と互換です。 使い方は こちら を参照して下さい。 比較的規模の大きいプログラムの例は RvtlWiki のソースをご覧下さい。
ダウンロード
rvtl-3.03.1ppc.tar.gz (124KB)
Linux Zaurus (ARM) 用はこちらのページ。
PC Linux (i386) 用はこちらのページ。
変更
rvtl-3.03ppc をカーネル 2.6.17 でも動作するように修正。
インストールとアンインストール
rvtl を展開したディレクトリで ./rvtl と入力するだけで、共有ライブラリや カーネルのバージョンに関係なく使用できます。より便利に使うには、パスの 通ったディレクトリに rvtl をコピーすることをお勧めします。 デフォルトではシェルスクリプトとして使う場合を考えて /usr/bin に置くよう にしています。
# cp rvtl /usr/bin
rvtl のバイナリをコピーするだけで使うことができますが、あえてアセンブル する場合は、GNU as (binutils) が使用できる環境で make して下さい。 スーパーユーザで make install すると /usr/bin に rvtl がコピー されます。
rvtl を rvtlw という名で起動すると、rvtlのプログラムが終了(#=-1)したり エラーでrvtl自身が終了します。CGIを作成する場合は rvtlw を使うとエラー が発生してもプロセスが残ることはありません。 シンボリックリンクを次のように作成すると rvtlw で起動できます。
# cd /usr/bin # ln -s rvtl rvtlw
rvtl のアンインストールは単に rvtl を削除するだけです。
制限
変数スタックに積むことのできる変数の最大個数 | 1024 |
サブルーチンのネスト+ (ループのネストx 2) | 最大32 |
プログラム + データ用のメモリの初期値 | 256 キロバイト |
使用可能なラベルの最大数 | 1024 |
ファイルの構成
COPYING | ライセンス(GPL) |
gpl.text | ライセンスの日本語訳 |
Readme.txt | この文書 |
rvtl_ref.txt | rvtlの機能一覧 |
rvtl | rvtl の実行プログラム |
source/ | rvtl のアセンブリソース |
vtl/ | rvtl のサンプルプログラム |
最新情報
この文書以外の情報やサンプルプログラム、rvtlの最新情報は https://www.mztn.org/ を参照して下さい。
rvtl を使ってプログラムを作成された方は mizutani.jun@nifty.ne.jp まで お知らせください。https://www.mztn.org/ で紹介させて頂きます。
ライセンス
このソフトはフリーソフトウェアです. GNU General Pulic Licenceにしたがって 自由に使用,配布,改変して頂いてかまいません。 GNU General Pulic Licence の詳細はCOPYINGを参照して下さい. GNU General Pulic Licence の日本語訳は gpl.text です.
著作権は私(水谷 純, mizutani.jun@nifty.ne.jp)が保有しています。
本ソフトウェアによって生じた損害について著作者は責任を負いません。 また、著作者はバージョンアップの義務を負いません。