インターネット&PC120%活用:PC活用編

PL/Iの入手

1  PL/I
昔のコンピューターの本を引っ張り出してパラパラとみてみると、PL/Iは、Fortran,Cobol,APL
などのプログラム言語のいいところだけを抽出して作られた言語であり、非常に多彩な機能を持っている、
等の説明が散見される。
どうやら、いいとこどりのプログラム言語らしいのだが、Cobol同様これまた、パソコンで個人が趣味で
使うような代物ではないので、PC用のPL/Iのコンパイラというのはほとんど存在しないようだ。
ましてや、フリーコンパイラとなると、存在は限りなくゼロに近いのではないだろうか。

PC用のPL/Iコンパイラといえば、はるか昔(8bitの時代)のことだが、CP/M用にPL/Iコンパイラがあった。
8bitのパソコンで使えるPL/Iのコンパイラがあったというのは、今考えても驚き!の世界だが、確かにあった。
おじさんも、そいつでごく簡単なプログラムをひとつ、ふたつ書いたことがある。しかし、なんせそれっきりだから、
PL/Iについてはほとんど覚えていない。

最近、いろんな言語をつまみぐいしているうちに、そう言えばPL/Iとかいうのがあったなあ、と思い出して
Web上をあちこち探してみたが、商用の本格的(相当ヘービーなもの)はあるが、軽く趣味で使えるような
ものはちょっと見あたらなかった。

唯一、RunPliというPL/I風のインタプリタ(DOS用)が見つかった。これも、今ではどこからGETしたか
わからなくなっているので、いちおうダウンロードできるようにしておきます。
ダウンロード 
RunPli


2 RunPli
これは、PL/I風のインタプリタです。DOS用です。あくまでもPL/I風ではありますが、PL/Iとはかなり違います。
PL/Iの風に少し当たってみたいという人は、御試し下さい。
しかし、小さなインタプリタでフリーですから、機能に多くは望まないでください。
(常磐ハワイアンセンターに行って、ハワイに行ったつもりになるといったレベルで考えて下さい)

ざっとみたところ、GOTO文や、ユーザー関数(CALLでの呼び出し)といった、プログラムの制御用の命令
が実装されていないので、凝ったことはできなさそうです。ただし、Cによるソースがついてますので、
力量のある方は、ご自分で機能追加してみてもいいかも知れません。そうしたら、おじさんにも分けて下さい。

インタプリタは、run.exe です。
>run <source file>
で実行されます。ソースファイルはもちろんTEXTファイルです。

簡単な例をみてみましょう。ユークリッドご除法により最大公約数を求めるプログラムです。

D:\runpli1a>type test.txt

print(sysprint,'最大公約数--ユークリッドご除法による');
putcrlf;
print(sysprint,'整数を2つ入力して下さい 整数と整数の間は空白を入れて下さい')
putcrlf;
a=getint; b=getint;
finish=0;
do while(finish=0);
temp=mod(a,b);
putcrlf;
if temp=0 then
 do;
 print(sysprint,'最大公約数 ',b);
 finish=1;
 end;
else
 do;
 print(sysprint,b,' ',temp);
 a=b; b=temp;
 end;
end;


D:\runpli1a>run test.txt
最大公約数--ユークリッドご除法による
整数を2つ入力して下さい 整数と整数の間は空白を入れて下さい
455 250

250 205
205 45
45 25
25 20
20 5
最大公約数 5


TopPage


inserted by FC2 system