バロース B5000
Forth言語の設計者であるチャールズ・ムーアはMITでB5500に触れ、そのスタックアーキテクチャに影響された。Forth - The Early Yearsの中でムーアはForthのDUP, DROP, SWAPといったワードはB5500の命令 (DUPL, DLET, EXCH) に対応していると述べている。
ソビエト連邦のメインフレームおよびスーパーコンピュータ Elbrus シリーズはB5000の影響を受けており、スタックアーキテクチャでタグ付きメモリを採用していた。一種のアセンブリ言語 El-76 を備えていたが、これが実際には ALGOL-60 の修正版であった。なお、その後 Elbrus はEPICアーキテクチャ風のVLIW型CPUに移行している。
ヒューレット・パッカード社にはバロースの元従業員だった技術者がいて、HP 3000 システムはB5000の影響を受けている。
DMALGOL (Data Management ALGOL) は、DMSII データベース向けに拡張されたALGOLである。DMALGOLはDASDLコンパイラで生成されたデータベース記述ファイルからDMSIIデータベースソフトウェアをコンパイルする言語であり、データベースを利用する側は普通のALGOLやCOBOLを使うことができる。DMALGOLの最大の機能は、テーブルやインデックスを操作するコードを生成するプリプロセッシング機構である。
DMALGOLのプリプロセッシングは変数やループを含み、コンパイル時の変数に基づいて名前を生成できる。これによりループのないプリプロセッシングより遥かに調整が容易である。
DMALGOLは DMSII データベースのためのアクセスルーチンを提供するのに使われる。
B8500は、B5000をベースとして開発された軍用コンピュータD825から生まれた。
B8500は、1960年代にB5500とD825の設計を統合しようとして設計された。集積回路と磁気薄膜メモリを採用している。ワード長は48ビット、スタックマシンであり、B5500のような識別子を採用しているが、互換性はなかった。またハードウェアの信頼性が低く、完全なシステムが納入されたという実績もなく、1970年以降にプロジェクトが中止となった。
プログラムがスタックアーキテクチャにマッピングされる例を以下に示す。
スタックフレームは現に実行中の環境の語彙レベル (lexical level) に対応している。例でわかる通り、語彙レベルとはプログラムの静的な入れ子構造であって、動的な呼び出しの入れ子ではない。ALGOLでは、現在実行中の位置より前に宣言された変数だけが参照可能というのが基本である。また、入れ子の内部で外側と同じ名前の変数を宣言すると、外側の変数を参照できなくなる。
語彙の入れ子は静的なので、5レベル以上の入れ子構造のプログラムは非常に珍しいし、そのようなプログラムは構造化不足と言える。B5000は最大32レベルの入れ子まで可能である。
バロース初の大型システムはB5000である。1961年に設計されトランジスタで構成された第2世代コンピュータであり、磁気コアメモリを主記憶に使用している。その後は B5500、B6500、B5700、 B6700、B7700、B6800、B7800、バロースAシリーズと、アーキテクチャをほぼそのまま保持しつつ、25年にわたって新たな技術で実装してきた。バロースがスペリーを買収してユニシスになっても、CMOSのASICである MCP を使った新機種を投入。2005年に発表された ClearPath Libra 590 は、MCP CMOS プロセッサと同時に Intel Xeon プロセッサを搭載でき、エミュレーションでもバロース大型システムを実行可能となっている。