Lex是LEXical compiler的縮寫,是Unix環境下非常著名的工具,主要功能是生成一個詞法分析器(scanner)的C源碼,描述規則採用正則表達式(regular expression)。描述詞法分析器的文件*.l,經過lex編譯後,生成一個lex.yy.c 的文件,然後由C編譯器編譯生成一個詞法分析器。詞法分析器,簡單來說,其任務就是將輸入的各種符號,轉化成相應的標示符(token),轉化後的標識符 很容易被後續階段處理。
一般的Lex源代碼格式爲
在linux系統下,先安裝lex
sudo apt-get install flex
切換到*.l 所在的文件夾
lex *.l
之後會生成一個lex.yy.c的文件
gcc lex.yy.c
編譯運行之後,就可以實現詞法分析器的功能。