flex (fast lexical analyser generator) 是 Lex 的另一個(gè)替代品。它經(jīng)常和自由軟件 Bison語(yǔ)法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C語(yǔ)言 寫(xiě)成。
Flex介紹
“flex是一個(gè)生成掃描器的工具,能夠識(shí)別文本中的詞法模式。flex讀入給定的輸入文件,如果沒(méi)有給定文件名的話(huà),則從標(biāo)準(zhǔn)輸入讀取,從而獲得一個(gè)關(guān)于需要生成的掃描器的描述。此描述叫做 規(guī)則,由正則表達(dá)式和 C代碼對(duì)組成。flex 的輸出是一個(gè) C 代碼文件——lex.yy.c——其中定義了 yylex() 函數(shù)。編譯輸出文件并且和 -lfl庫(kù)鏈接生成一個(gè)可執(zhí)行文件。當(dāng)運(yùn)行可執(zhí)行文件的時(shí)候,它分析輸入文件,為每一個(gè)正則表達(dá)式尋找匹配。當(dāng)發(fā)現(xiàn)一個(gè)匹配時(shí),它執(zhí)行與此正則表達(dá)式相關(guān)的 C代碼。”
一個(gè)相似的,用 C++語(yǔ)言 的詞法分析器生成器是 flex++,包含在 flex 軟件包里。
Flex 不是 GNU 工程,但是 GNU 為 Flex 寫(xiě)了手冊(cè)。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版