萌えハッカーニュースリーダー

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

出典: https://github.com/pleumann/pasta80
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

愛情はオプションですが、頑張ります。

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

Search