我正在學習編譯理論,以及如何使用flex,我有幾個問題。flex - no entry point
我在它創建了以下數據的文件法:
%%
"hello" printf("GOODBYE");
. ;
%%
這是我能想到的最簡單的一種。如果我理解正確,每次遇到hello標記時都會打印GOODBYE,並忽略其他所有內容。
我在這個lex文件上使用flex來生成一個C文件,現在我應該編譯該C代碼來獲取該語法的詞法分析器。
問題是生成的C代碼沒有入口點。它不會編譯。我的.lex文件不正確?我誤解了什麼嗎?
你必須提供你自己的'main'功能 –
你必須定義一個主函數。看一看[本教程](http://alumni.cs.ucr.edu/~lgao/teaching/flex.html) – LPs
提供主函數的一種方法是鏈接到flex的運行時庫libfl。 (實際上,這是關於鏈接libfl的* only *原因。) –