スピトボル

SPITBOL( SNO BOLの高速実装、SNOBOL4プログラミング言語のコンパイル済み実装です当初IBM System / 360およびSystem/370ファミリーのコンピュータを対象としていましたが現在SPARCを含むほとんどの主要マイクロプロセッサに移植されています。SPITBOLは、当時イリノイ工科大学に在籍していたRobert DewarとKen Belcherによって開発されました。

SPITBOLの開発以前、SNOBOL4は動作が遅く、メモリを大量に消費し、その動的な性質のためにコンパイル不可能であると考えられていました。遅延結合によりコンパイル時にすべての決定が下されるのを防ぎつつ、SPITBOLは可能な限り早期に決定を下すための様々な戦略を採用しています。SPITBOLコンパイラの最新バージョンが利用可能です。2001年以降、オリジナルのSPITBOL 360コンパイラのソースコードはGNU General Public Licenseの下で公開されています。[ 1 ]

MACRO SPITBOLは、1970年代にRobert DewarとAnthony P. McCannによって書かれたSPITBOLの実装です。[ 2 ] MACRO SPITBOLは、抽象機械用のアセンブリ言語であるMINIMALでコーディングされています。命令セットは実装に一定の自由度を持たせるよう慎重に定義されており、文字列処理に有利なハードウェア操作を活用できます。[ 3 ]

マイクロコンピュータ上で解釈できるように設計されたMINIMALの実装は、SPITBOLで実装されたトランスレータを用いてMINIMALをMICRALに変換することによって行われた。MACRO SPITBOLのMICRAL版とMICRALインタプリタは、40KB以下で実行された。[ 4 ] MICRALのこの極端なオブジェクトコード圧縮は、オブジェクトコードとマクロテーブルに必要なスペースを最小限に抑える一連のマシンコードマクロ置換によって実現されている。この問題に対する最適解を求める既知のアルゴリズムは複雑であるが、効率的なヒューリスティックによってほぼ最適な結果が得られる。[ 5 ]

MACRO SPITBOLのソースコードは、2009年4月17日にGNU General Public Licenseの下でリリースされました。 [ 6 ]

参考文献

  1. ^ Spitbol 360のソースとドキュメント
  2. ^ Robert BK Dewar ; Anthony P. McCann (1977). 「MACRO SPITBOL - SNOBOL4コンパイラ」.ソフトウェア:実践と経験. 7 : 95–113 . doi : 10.1002/spe.4380070106 .
  3. ^ Robert BK Dewar、Anthony P. McCann (1979). MINIMAL - マシン非依存アセンブリ言語. コンピュータサイエンス学科技術報告書. 第12巻. Courant Institute of Mathematical Sciences.
  4. ^ Robert BK Dewar ; Martin Charles Golumbic ; Clinton F. Goss (2013年8月) [初版1979年10月]. MICRO SPITBOL . コンピュータサイエンス学科技術報告書. 第11巻. Courant Institute of Mathematical Sciences. arXiv : 1308.6096 . Bibcode : 2013arXiv1308.6096D .
  5. ^ Martin Charles Golumbic ; Robert BK Dewar ; Clinton F. Goss (1980). 「MICRO SPITBOLにおけるマクロ置換 - 組み合わせ解析」. Proc. 11th Southeastern Conference on Combinatorics, Graph Theory and Computing, Congressus Numerantium, Utilitas Math., Winnipeg, Canada . 29 : 485–495 .
  6. ^マクロ・スピットボルの情報源