2012-10-14 65 views
0

我聽說我的老師說應該首先執行Yacc文件,因爲它會創建將在Lex文件中使用的yy.tab.h,反之亦然。我真的很困惑。我想知道執行這兩個文件的正確順序是什麼?執行Lex和Yacc的順序?

回答

0

萊克斯是一種將像識別字符串或保留字或特殊字符爲標記一個詞法分析器,而YACC是一個解析器可以處理令牌序列(如IDENTIFIER EQUAL IDENTIFIER SEMICOLON)。我不確定在編譯時如何執行它們的順序,我想這沒什麼區別(你可以試試它),但是兩者都必須在編譯器運行之前運行。

很明顯,在運行時,由lex生成的代碼在yacc生成的代碼之前運行。