2014-01-27 81 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.-