プログラミング言語パステルステッチ リファレンス実装 4

この文書は、プログラミング言語パステルステッチのリファレンス実装の解説である。この文書の対象となるバージョンは、メジャーバージョン 4 である。パステルステッチのリファレンス実装の開発版は パステルステッチの GitHub レポジトリ で入手できる。メジャーバージョンが 4 であるリファレンス実装のうち、最新の安定版は pastelstitch-ref-4.1zip である。 パステルステッチのリファレンス実装は GNU Affero General Public License Version 3 で提供される。

パステルステッチのリファレンス実装は、4 個のプログラム (pastelstitch-ref4-txt2xml, pastelstitch-ref4-catxml, pastelstitch-ref4-inspector, pastelstitch-ref4-interpreter) とホスト言語ライブラリー (pastelstitch-ref4.h, libpastelstitch-ref4.a)、ゲスト言語ライブラリー (standard.lib.txt, standard.lib.xml) から構成される。

インストール

パステルステッチのソースコードが ~/pastelstitch に置かれていると仮定する。そうでなければディレクトリパスを読み替えること。

まず TinyXML-2 をインストールする。ディストリビューションが Debian であれば、以下のコマンドで TinyXML-2 がインストールされる。この手順は root で実行する必要がある。

aptitude install libtinyxml2-dev

ディストリビューションに TinyXML-2 のパッケージがなければ、/usr/local/includetinyxml2.h を、/usr/local/liblibtinyxml2.a を配置する。

続いて、カレントディレクトリを ~/pastelstitch として、以下のコマンドを実行する。make install のみは root で実行する必要がある。

make clean
make
make install

この操作により、以下のプログラムが /usr/local/bin にインストールされる。

また、libpastelstitch-ref4.h/usr/local/include に、libpastelstitch-ref4.a/usr/local/lib に、standard.lib.xml/usr/local/share/pastelstitch/ref4 にインとスールされる。

使用法

pastelstitch-ref4-txt2xml

pastelstitch-ref4-txt2xml はパステルステッチのソースコードをオブジェクトコードに変換する。コマンドラインの書式は以下である。

pastelstitch-ref4-txt2xml input.txt output.xml
pastelstitch-ref4-txt2xml --version
pastelstitch-ref4-txt2xml --help

pastelstitch-ref4-catxml

pastelstitch-ref4-catxml は複数のオブジェクトコードを 1 個のオブジェクトコードに結合する。コマンドラインの書式は以下である。

pastelstitch-ref4-catxml input1.xml [input2.xml ...] output.xml
pastelstitch-ref4-catxml --version
pastelstitch-ref4-catxml --help

入力されるオブジェクトコードは、言語仕様の 検索パス にしたがって検索される。

pastelstitch-ref4-inspector

pastelstitch-ref4-inspector はオブジェクトコードを検査する。このプログラムは、検査対象と検査リソースという 2 個のオブジェクトコードを入力とする。このプログラムは、言語仕様のいう 名前検査器式検査器 を兼ねることを意図している。ただし、式検査器は未実装である。

コマンドラインの書式は以下である。

pastelstitch-ref4-inspector target.xml resource.xml
pastelstitch-ref4-inspector --version
pastelstitch-ref4-inspector --help

pastelstitch-ref4-interpreter

pastelstitch-ref4-interpreter は 1 個のオブジェクトコードを読み取り、それをパステルステッチのプログラムとして実行する。コマンドラインの書式は以下である。

pastelstitch-ref4-interpreter input.xml [arguments ...]
pastelstitch-ref4-interpreter --version
pastelstitch-ref4-interpreter --help

引数 arguments はゲスト言語から参照することができる。

制限

言語仕様 2016 に記述されている機能のうち、リファレンス実装 4 で実現していない機能には、以下のものがある。

^unemit 構文抽出器ディレクティブは実装されていない。

名前検査器は、姓が binary, decimal, hexadecimal である複合名が数値として妥当であるかを検査しない。かわりに、これらの姓を持つ複合名を無視する。

式検査器は実装されていない。

以下の前実行時式は実装されていない。

デストラクターは実装されていない。

静的環境のファイナライズは実装されていない。

XML 永続化は実装されていない。

言語仕様に記述されていないにもかかわらず、リファレンス実装で実装されている機能には、print プリミティブ演算がある。このプリミティブ演算は、言語仕様のサンプルコードで使用されているにもかかわらず、言語仕様に明示的な規定がない。

CC0
To the extent possible under law, Hakaba Hitoyo has waived all copyright and related or neighboring rights to プログラミング言語パステルステッチ リファレンス実装 4. This work is published from: 日本.