lex語法分析器

Lex是LEXical compiler的縮寫,是Unix環境下非常著名的工具,主要功能是生成一個詞法分析器(scanner)的C源碼,描述規則採用正則表達式(regular expression)。描述詞法分析器的文件*.l,經過lex編譯後,生成一個lex.yy.c 的文件,然後由C編譯器編譯生成一個詞法分析器。詞法分析器,簡單來說,其任務就是將輸入的各種符號,轉化成相應的標示符(token),轉化後的標識符 很容易被後續階段處理。

一般的Lex源代碼格式爲

{definitions}

%%

{rules}

%%

{user subroutines}

在linux系統下,先安裝lex

sudo apt-get install flex

切換到*.l 所在的文件夾

lex *.l

之後會生成一個lex.yy.c的文件

gcc lex.yy.c

編譯運行之後,就可以實現詞法分析器的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章