ALTRAN ( Algebraic Translator ) は、整数係数を持つ多変数有理関数の形式的な操作を行うためのプログラミング言語です。1960年代にベル研究所で開発されました。 [ 1 ] ALTRAN はALPAK有理代数パッケージのFORTRAN版であり、 [ 2 ]「'algebraic' 型宣言という追加の宣言が加わった FORTRAN の変種と考えることができます。」[ 3 ]
ALTRANはANSI FORTRANで記述されていますが、FORTRANの実装には違いがあります。ALTRANはM6と呼ばれるマクロプロセッサを使用してマシン依存性を処理します。[ 1 ] [ 4 ]
ALTRANは、ALGOLからFORTRANへのトランスレータであるAltranと混同してはならない。Altranは「Extended AlgolプログラムをFortran IVに変換する」ものである。[ 5 ]
1964年に書かれたALPAKは、元々はアセンブリ言語で書かれたFORTRAN用のサブルーチンのセットで構成されていた。これらのサブルーチン自体がALTRAN用にFORTRANで書き直された。[ 6 ]
ALTRAN の初期バージョンは、1960 年代半ばにM. Douglas McIlroyと W. Stanley Brown によって開発されました。 [ 1 ]しかし、ALTRAN トランスレータが完成して間もなく、 ALPAK と ALTRAN が依存していたIBM 7094コンピュータは、より新しいマシンに置き換えられ始めました。これにより、Brown、Andrew D. Hall、Stephen C. Johnson、Dennis M. Ritchie、およびStuart I. Feldmanによって開発された、移植性の高いより高度な ALTRAN 言語と実装の開発につながりました。[ 7 ] [ 8 ]トランスレータは Ritchie によって、インタプリタは Hall によって、実行時の有理関数と多項式ルーチンは Feldman、Hall、および Johnson によって、I/O ルーチンは Johnson によって実装されました。[ 1 ]
その後、フェルドマンとジュリア・ホーは、ALTRANによって生成された記号式の数値評価のための正確かつ効率的なFORTRANサブルーチンを生成する有理式評価パッケージを追加しました。[ 7 ]
1979年、ALTRANは空軍兵器研究所のControl Data Corporation 6600およびCyber 176コンピュータに移植されました。彼らは「ALTRANはPL/I環境でFORMACより約15倍速く、 REDUCEより少なくとも12倍速い」ことを発見しました。また、ALTRANはFORMACもREDUCEも与えられたハードウェアでは処理できない、あるいは妥当な時間内には処理できない問題を迅速に解決できることも確認されました。[ 9 ]
簡単なサンプルプログラム:[ 9 ]
PROCEDURE MAIN # FTNOUT の使用例LONG ALGEBRAIC ( X : 10 , Y : 10 ) F ALTRAN FTNOUT OPTS ( 201 , 72 ) # FTNOUTは行長7 2を必要としますF = EXPAND ( ( X + 2 * Y + 1000000 ) ** 3 ) WRITE F # Fを出力しますWRITE ( 25 ) " FUNCTION F(X,Y)" " C 言語の FTNOUT を使用したサンプル プログラム。 " , F , " RETURN" ™ , " END" # ユニット 25 に関する簡単なプログラムを作成しました。次に、FTNOUT を呼び出して、# この ALTRAN の出力を有効な FORTRAN に出力します。FTNOUT END{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)in C で約束されている移植性の程度は、例えば ALTRAN の移植性には到底及ばないことは明らかです。ALTRAN は、ローカル環境に精通しているが ALTRAN 自体を知らない人でも、2 週間の努力で導入できます。