Flex / bison中的JMP指令

时间:2010-04-26 10:49:19

标签: c++ yacc bison lexical-analysis

你好,大家好 有人可以帮助我摆脱困境,我正在寻找一个像Assembler一样实现JMP(跳转)指导的教师。我发现它可能与Flex / Bison的goto功能有关,但我不知道该怎么做。有任何想法。我非常感谢你的帮助。感谢。

以下是它的外观示例。与JMP讲师一起,他去了标签L1。

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

1 个答案:

答案 0 :(得分:1)

要实现跳转指令,您需要为标签添加语法支持

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

和一些解析跳转命令的语法

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

请记住,将所有跳转目标的检查推迟到解析结束,否则您无法向前跳。