UCSD Pascal
出典: フリー百科事典『ウィキペディア(Wikipedia)』
UCSD Pascal(UCSD パスカル)は、1978年にカリフォルニア大学サンディエゴ校(UCSD)のケネス・ボウルズが教育用に開発したPascal言語のコンパイラである。
CPUの異なるパーソナルコンピュータ上で動作するために、P-Machineと呼ばれる仮想マシンを使用する。コンパイラはプログラムをそれぞれのCPU用の機械語に翻訳するのではなく、P-Machineの機械語であるP-Codeに翻訳する。そのため、P-Codeの仮想マシンを実装すればどのようなパーソナルコンピュータ上でも実行可能であった。またUCSD PascalはPascalコンパイラだけでなく、スクリーンエディタやデバッガ、ファイル管理を含む統合開発環境として実装され、後にp-Systemというオペレーティングシステムに発展した。 これらの開発環境の殆どすべてはPascalでかかれていたので、容易に異なる環境向けに移植できた。通常、仮想マシンはインタプリタとして実装された(P-Codeインタプリタ)。また、特に処理速度が必要な場合のために、P-Codeから実際のCPUの機械語に変換するプログラム(ネイティブコードトランスレータ)が提供される場合もあった。
P-Machineは典型的なスタックマシンで、様々な処理を主にスタック上で行うアーキテクチャを持っていた。後にP-Codeをハードウエアで直接実行するPASCALマイクロエンジンと呼ばれるCPUと、それを利用したパーソナルコンピュータが製造された。このCPUはDECのLSI-11用マルチチップCPUセットを流用し、P-Codeを解釈するマイクロコードを実装したもので、今日ハードディスク製造で著名なWestern Digital社が開発した。
初期のコンピュータロールプレイングゲーム"Wizardry"はApple II上のApple Pascal(UCSD Pascal)で書かれていた。
[編集] UCSD Pascalが実装されたコンピュータの例
- Apple IIシリーズ
- タンディ・ラジオシャック TRS-80シリーズ
- IBM PC, PC/AT
- Terak 8510/a(LSI-11ベース)
- PC-8000シリーズ、PC-8800シリーズ、PC-9800シリーズ