2014-01-27 83 views
0

我有一个关于如何使用LEX/YACC解析具有相同结构的嵌套文件的问题。使用LEX/YACC解析嵌套文件

比方说,我有以下结构

File_1 
     .... 
     include File_2 
     include File_3 
     .... 

一种可能的方法是将YACC内调用函数yyparse(),每个我读线如

include File_n 
时提交文件

但我知道这种方法并不好,根据我在LEX/YACC方面缺乏经验和不足的知识,会执行一个LEX实例来对付两个YACC解析函数,这可能会导致奇怪的问题,不是吗? 。

所以,我想知道我有哪些其他选项?

谢谢!

回答

0

经过一番研究,我想出了如何管理我的问题。

由于我的问题没有得到很多关注,我想我的问题没有以可理解的方式制定。无论如何,我要发布我找到的解决方案。我通过以下this教程解决了lex文件中的问题。

基本上我不得不定义一个堆栈为了保存当前正在被解析的文件的当前缓冲区状态,当include语句被找到时,我开始解析包含文件,当包含的文件完成时I切换回第一个文件。

我希望这个答案可以帮助周围的人。

Best.-