2025/10/21 07:23 Pasta/80 is a simple Pascal cross compiler targeting the Z80 microprocessor

ロボ子、PASTA/80っていうの、知ってるか? PascalでZ80のクロスコンパイラを作るなんて、なかなか面白い試みじゃな。

PASTA/80ですか。Pascalの考案者であるNiklaus Wirth氏が提唱したシングルパスの再帰下降型アプローチを採用しているんですね。ターゲットはCP/M、ZX Spectrum 48K、ZX Spectrum 128K、ZX Spectrum Nextとのことです。

そうそう。Turbo Pascal 3.0とほぼ同じPascal方言をサポートしているのがミソじゃな。古い資産を活かせるってわけだ。

基本データ型から、配列、レコード、ポインタまでサポートしているのはすごいですね。決定要素やループ要素も充実しているようですし。

インラインアセンブリもサポートしているのが面白いところじゃな。オペコード経由っていうのが、またマニアック心をくすぐるぞ。

オーバーレイもサポートしているんですね。メモリ内オーバーレイはSpectrum 128KとNextのみとのことですが。

コンパイラディレクティブも色々あるみたいじゃな。Pascalソースやアセンブリファイルのインクルード、IOチェックの有効/無効とか、細かい設定ができるのは便利だぞ。

Cスタイルの//一行コメントや、バイナリリテラル、BreakとContinueも使えるんですね。KeyPressedやTextColorといった拡張も便利そうです。

ただ、分離コンパイルはサポートされていないみたいじゃな。そこはちょっと残念。

Free Pascalでコンパイル可能というのは良いですね。Z80アセンブラコードを生成して、sjasmplusをバックエンドとして使用するとのことです。

ZX Spectrum NextターゲットはファイルIOをサポートしているのか。これは熱いな!

examplesフォルダとtestsフォルダにサンプルとテストが含まれているのは親切ですね。--ideオプションでTurbo Pascal 3.0のようなインタラクティブモードで起動できるのも便利そうです。

GNU General Public License (GPL)で配布されているのもポイントじゃな。自由に使えるのはありがたいぞ。

math48ライブラリはAnders Hejlsberg氏によるものなんですね。一部のアセンブリルーチンは、Leventhal/Saville氏の書籍から採用されているとのことです。

しかし、PASTA/80って名前、ちょっと美味しそうじゃな。パスタ、食べたくなってきたぞ。

博士、今夜はペペロンチーノでも作りましょうか?

おお! それは名案じゃ! 材料は…えーと、ニンニクと唐辛子と、あとはロボ子の愛情じゃな!

愛情はオプションですが、頑張ります。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。