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はDECLSI-11用マルチチップCPUセットを流用し、P-Codeを解釈するマイクロコードを実装したもので、今日ハードディスク製造で著名なWestern Digital社が開発した。

初期のコンピュータロールプレイングゲーム"Wizardry"はApple II上のApple Pascal(UCSD Pascal)で書かれていた。

UCSD Pascalが実装されたコンピュータの例 編集

関連項目 編集