1

皆さん、こんにちは。アセンブラーのように JMP (ジャンプ) インストラクターを実装するインストラクターを探しています。Flex/Bison の goto 機能を使用できることがわかりましたが、どうすればよいかわかりません。誰でもアイデアを持っています。あなたの助けにとても感謝しています。ありがとう。

これがどのように見えるかの例です。JMPインストラクターと一緒に、彼はレーベルL1に行きます。

:L1
IF FLAG AND X"0001"
EVT 23;
ELSE
WAIT 500 ms;
JMP L1;
END IF;
4

1 に答える 1

1

ジャンプ命令を実装するには、ラベルの文法サポートを追加する必要があります

label: ':' NAME { /* code to store the label */ };

ジャンプコマンドを解析するためのグラマー

jmp: JMP NAME { /* code to look-up label and go there */ };

解析が終了するまで、すべてのジャンプ ターゲットのチェックを延期することに注意してください。そうしないと、先にジャンプできなくなります。

于 2010-07-15T15:58:22.233 に答える