我正在为包含for循环预处理器指令的语言编写Flex / Bison解析器,该指令应复制循环内容。例如:
for (i=0; i<2; i++)
record$i = value$i;
endfor
我的预处理器应生成以下输出
record0 = value0;
record1 = value1;
我需要支持嵌套循环。 任何人都可以建议如何使用Flex / Bison实现这一点。
很多!
答案 0 :(得分:1)
Flex和Bison是解析工具。因此,您可以使用它们将语言解析为某种内部形式,然后您可以评估该内部表单以生成所需的输出。这些是两个完全不同的任务,仅与您选择使用的内部表单相关(可能几乎任何事情 - 最好的取决于您的语言是什么,以及您希望预处理器使用它做什么)
总的来说,你的问题是如此广泛,以至于它无法解释任何比'使用flex和bison来解析你的语言更详细的答案,并使用某种简单的解释器来评估结果'。至于你如何做到这一点,那就是大约30或40个单独的问题。