2012-06-15 27 views
0

yacc中調用YYACCEPT之前是否有任何方法可以清除分析程序緩衝區。在yacc/lex中調用YYACCEPT之前清空緩衝區

如果我不清除緩衝區,它會導致一些問題,當我第二次撥打yyparse

另請注意,我使用了一些全局變量,因此無法使用可重入解析器。

在此先感謝!

回答

2

確實有。參見flex手冊的this section。具體來說,在致電yyparse之前致電YY_FLUSH_BUFFER

+0

你能告訴我如何正確使用這個函數'YY_FLUSH_BUFFER'? –

+0

@nav_jan在你的代碼的某處,你有'yyparse();'的行,所以就在這行之前把'YY_FLUSH_BUFFER();'你應該是好的。 –

+0

我是否需要包含此功能的任何特殊標題? –