我想解析兩個文件。我有生成解析器的Yacc/lex代碼。通過yyparse解析第二個文件時遵循的步驟
它工作正常,當我解析第一個文件(a.txt),但當我解析第二個文件(b.txt)它返回錯誤(語法錯誤),但是當我解析第二個文件(b.txt)第一它可以順利地解析它。
我的猜測是,在讀取第一個文件後,當它開始讀取第二個文件時,某些緩衝區或狀態不會被清除。所以我想問一下,在繼續解析第二個文件之前,我是否必須重置某些緩衝區或狀態分析器維護的內容。
我不能在這裏粘貼我的代碼,因爲它太大了。
在此先感謝。
感謝您的回答,但我只能使用Yacc/lex。 –
還有一個問題是我必須更改使用全局靜態變量的完整代碼。另請注意,我並不是同時解析兩個文件。他們正在被一個一個地解析,所以我不一定需要一個可重入的解析器。 –