記事閲覧

− 野ざらし言 −

5761 Re^13: N88-BASICの中間語

konno 2025/04/07(Mon) 20:01 [5760]へのコメント
NP2でN88BASIC を使って RENUM や中間語に変換してみました。

1000 'SQR.bas                   E8^C=$03E8=1000
1060 '入力待ち                  .^D=$042E=1070
1090 if a$="" then 1070         B^D=$0442=1090   ^N=then .^D=$042E=1070

行番号は ^@+16進数に、ラベルとしての番号は16進数+^@ のような感じかな。 
以下は RENUM したソースと中間語の一部

10 'SQR.bas                     ^@$0A=10                        ^@^T
20 'screen 0                    ^@^T =20                        ^@^R
30 PRINT " input ";             ^@^^  30                        ^@$0A
40 INPUT A                      ^@(  =40                        ^@
50 PRINT " SQR(";A;")";SQR(A)   ^@2  =50                        ^@^H
60 '                            ^@<  =60                        ^@^P
70 '入力待ち                    ^@F  =70                        ^@^[
80 PRINT "  push eny key  ";    ^@P  =80                        ^@^O
90 A$=INPUT$(1)                 ^@Z  =90                        ^@^Z
100 IF A$="" THEN 80            ^@d  =100  ^Aヨ^A^N=then P^@=80  ^@$09
110 CLS:END                     ^@n  =110

先頭は行番号で、端は改行? ^@^@ と思いきや、謎のコードが挟まってたり?

100 IF A$="" THEN 80
  ↓
^@d^@^Aィ^AA^@$F1""^Aヨ^A^NP^@		中間語
  ↓
^@d = 100  ^Aィ^A = IF   A^@$F1"" = A$="" ^Aヨ^A^N = then  P^@ = 80

RENUM はやっぱり中間語で検索しながら番号を置き換えているんでしょうね。
これ見るとスペースは要らないように思えますね。
重複防止の仕組みはわからないけど。

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 5731.N88-BASICのRENUMのようなマクロ - としき 25/03/29-14:22

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー