flex(詞法分析器生成工具)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

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

基本介紹

  • 中文名:詞法分析器生成工具
  • 外文名: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語言部份

相關詞條

熱門詞條

聯絡我們