2015-02-07 54 views

回答

1

lex文件是一個包含正則表達式和嵌入式C代碼的文件。 lex工具接受一個lex文件並將其轉換爲一個純C文件,該文件只包含來自lex文件的C代碼以及從正則表達式生成的代碼。

C編譯器是一個工具,它接受一個C文件並將其轉換爲機器代碼。所以如果您使用lex,您的工作流程是:編寫一個lex文件,使用lex創建一個C文件,使用C編譯器編譯該C文件(以及項目中的其他C文件)。

如果您不使用lex,則工作流程爲:編寫一個C文件,使用C編譯器對其進行編譯。

您使用lex的原因是編寫正則表達式來生成詞法分析器通常比自己編寫等效的C代碼容易。