Lex yacc改变缓冲区

时间:2012-01-02 12:51:32

标签: yacc lex

Flex提供了一种在多个输入缓冲区之间创建和切换的机制。使用:yy_creat_buffer创建输入缓冲区,并使用yy_switch_buffer切换输入流。

问题是lex没有实现这样的解决方案。

您可以找到更多in the Flex manual

1 个答案:

答案 0 :(得分:1)

不幸的是,在lex中没有类似的解决方案,如果有人知道,请将它交给我们。

唯一的可能是你重新定义yywrap(),只要Lex到达文件结尾就会调用它。

在这种情况下,您应该提供yywrap()来安排新输入并返回0.这指示Lex继续处理。默认的yywrap总是返回1(没有添加的输入)。