Flex 是一個生成掃描器的工具,能夠識別文本中的詞法模式。Flex 讀入給定的輸入文件,如果沒有給定文件名的話,則從標(biāo)準(zhǔn)輸入讀取,從而獲得一個關(guān)于需要生成的掃描器的描述。此描述叫做 規(guī)則,由正則表達式和 C 代碼對組成。Flex 的輸出是一個 C 代碼文件——lex.yy.c——其中定義了 yylex() 函數(shù)。編譯輸出文件并且和 -lfl 庫鏈接生成一個可執(zhí)行文件。當(dāng)運行可執(zhí)行文件的時候,它分析輸入文件,為每一個正則表達式尋找匹配。當(dāng)發(fā)現(xiàn)一個匹配時,它執(zhí)行與此正則表達式相關(guān)的 C 代碼