トップページ⇒tech
7コメント2KB

PL/M教えてください

■ このスレッドは過去ログ倉庫に格納されています
0001まNGNG
昔あったインテル系の言語ですが、
もう完全消滅?
0002名無しさん@お腹いっぱい。NGNG
おー、懐かしいなぁ
>もう完全消滅?
少なくとも俺の周りじゃ新規のシステムには使ってないね。今はCじゃないかな。


0003名無しさんi486NGNG
ごめん。
PL/IとPL/SQLは知ってるんだが。
0004>1NGNG
PL/M80ですか?
他にも、PL/M86、PL/M286、PL/M386と多少文法が違います。
0005名無しさん@お腹いっぱい。NGNG
PL/M86のときにCかぶれだったやつのソースはこーんなかんじ
$include (model.def)
$subtitle('[chcase prog. 001]')

chcase: do;

$include (stdio.inc)
$include (print.inc)
$include (string.inc)
$include (conio.inc)
$include (types.inc)
$include (dos.inc)
$EJECT

declare CASE_UPPER literally '0';
declare CASE_LOW  literally '1';
$EJECT

main: procedure (argc@` argv_ptr) public;
 declare argc     word;
 declare argv_ptr   pointer;
 declare argv based argv_ptr (*) pointer;
 declare ch        byte;
 declare change_mode   byte;
 declare str_ptr     pointer;
 declare str based str_ptr (*) byte;

 change_mode = CASE_UPPER;

 if (argc > 1)
  then do;
   str_ptr = argv(1);
   if ((str(0) = '-') and ( toupper(str(1)) = 'L'))
     then change_mode= CASE_LOW;
  end;
 do while ( (ch:= (getchar)) <> END_OF_FILE);
  if ( change_mode = CASE_LOW )
   then call putchar( tolower(ch) );
   else call putchar( toupper(ch) );
  end;
end main;
$EJECT
end;
eof

0006名無しさん@お腹いっぱい。NGNG
>>5
よく出来てるな。
しかし、C から PL/M は苦痛を伴いそうだ。
0007。>NGNG
CからPL/Mだととりあえず、procedure定義にrentrant付けとかないと
悲しい事が起きそう。
■ このスレッドは過去ログ倉庫に格納されています