共找到3條詞條名為flex的結果 展開

flex

詞法分析器生成工具

Flex是一個生成詞法分析器的工具,它可以利用正則表達式來生成匹配相應字元串的C語言代碼,其語法格式基本同Lex相同。

簡介


單詞的描述稱為模式(Lexical Pattern),模式一般用正規表達式進行精確描述。FLEX通過讀取一個有規定格式的文本文件,輸出一個C語言源程序。
FLEX的輸入文件稱為LEX源文件,它內含正規表達式和對相應模式處理的C語言代碼。LEX源文件的擴展名習慣上用.l表示。FLEX通過對源文件的掃描自動生成相應的詞法分析函數int yylex(),並將之輸出到名規定為lex.yy.c的文件中。實用時,可將其改名為lexyy.c。該文件即為LEX的輸出文件或輸出的詞法分析器。也可將int yylex()加入自已的工程文件中使用。

源文件格式


LEX對源文件的格式要求非常嚴格,比如若將要求頂行書寫的語句變成非頂行書寫就會產生致命錯誤。而LEX本身的查錯能力很弱,所以書寫時一定要注意。
LEX的源文件由三個部份組成,每個部分之間用頂行的“%%”分割,其格式如下:
定義部份
%%
規則部份
%%
用戶附加C語言部份