複製鏈接
請複製以下鏈接發送給好友

flex

(詞法分析器生成工具)

鎖定
Flex是一個生成詞法分析器的工具,它可以利用正則表達式來生成匹配相應字符串的C語言代碼,其語法格式基本同Lex相同。 [1] 
中文名
快速詞法分析器生成器
外文名
Fast Lexical Analyzer Generator
設計語言
C語言
格    式
LEX源文件
類    別
一個生成詞法分析器的工具

目錄

flex簡介

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

flex源文件格式

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