日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

词法分析器构造工具Flex基础学习

發布時間:2025/4/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 词法分析器构造工具Flex基础学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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語言部份


模式宏定義實際是對識別規則中出現的正規式的輔助的影。如語言的字母可定義為:
? ? Letter [a-zA-Z]
數字可以定義為:
? ? digit[0-9]

除宏定義外,定義部分的其余代碼必須用符號%{ 和 %} 括起來。另外,flex使用的C語言庫文件和外部變量以及部分聲明的函數,也應分別置于%{ 和 %} 之內。
?

寫一個簡單基本.l文件如下;flextest.l;

%{ #include "stdio.h" #include "stdlib.h" void print(); int _tmain(int argc,_TCHAR*argv[]); int num_digit=0,num_letter=0,num_enter=0; %} DIGIT [0-9] LETTER [A-Za-z] %%{DIGIT} {num_digit++;} {LETTER} {num_letter++;} %% int _tmain(int argc, _TCHAR* argv[]) { yyin=fopen("ccx_test1.c","r"); yylex(); printf("num=%d,letter=%d,enter=%d", num_digit,num_letter,num_enter); return 0; } int yywrap() { return 1; }

然后生成C語言代碼;如果.l文件語法有錯則通不過;最后生成lex.yy.c;可將此文件用到自己工程中;

由此.l文件生成的c語言文件非常大,有46k之多;

就是自己編寫自己需要的詞法規則,然后生成詞法分析器C代碼,用到自己工程中;可干多種事情;參閱此,

https://blog.csdn.net/bcbobo21cn/article/details/106193648

總結

以上是生活随笔為你收集整理的词法分析器构造工具Flex基础学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 岛国av免费 | 五月激情六月丁香 | 中文字幕av久久爽 | 3d成人动漫在线观看 | 亚洲综合在线观看视频 | 69国产成人精品二区 | 最近免费中文字幕中文高清百度 | 国产中文字幕91 | 美女屁股无遮挡 | a天堂在线观看视频 | 一区二区在线观看视频 | 天天操夜夜爱 | 国产高清视频 | av五月| 国产精品香蕉 | 69视频一区二区 | 国产少妇一区二区 | 这里只有精品视频在线观看 | av福利站| 波多野结衣av一区二区全免费观看 | 伊人久久一区二区三区 | 欧美日韩成人一区 | 亚洲免费三区 | 日韩视频在线观看视频 | 亚洲av无码一区二区三区观看 | 99热这里只有精品5 国产精品伦子伦免费视频 精品一二三 | 色女人网 | 国产主播一区 | 色涩网站 | 亚洲天堂色 | 国产午夜精品福利视频 | 日韩a级大片 | 韩国毛片一区二区 | 久久狠狠婷婷 | 1769国产精品 | 激情婷婷丁香 | 午夜性激情 | 久久免费在线视频 | 国模少妇一区二区三区 | 精品99久久久久成人网站免费 | 亚洲欧洲精品一区 | 久久免费视频一区二区 | 裸体女视频 | 骚av在线 | 欧美入口| 91精品国产综合久久香蕉 | 暴操白虎 | 国语粗话呻吟对白对白 | 波多野结衣一区二区三区在线观看 | 国产激情久久 | 国产av人人夜夜澡人人爽麻豆 | 国产黑丝一区二区 | 伊人毛片 | 欧美视频黄 | 伊人春色在线视频 | 日本精品久久久久中文字幕 | 国产二区三区视频 | 一本到免费视频 | 国产精品久久久久久婷婷天堂 | 夜夜se | 久久午夜无码鲁丝片午夜精品 | 天堂在线中文在线 | 国产日韩在线观看一区 | 亚洲高清在线观看视频 | 91亚洲国产 | 激情五月五月婷婷 | 亚洲视频在线一区 | 免费天堂av | 国产免费av一区 | 日本综合久久 | 亚洲天堂二区 | 天天舔天天爽 | 成人在线中文字幕 | 青青视频免费观看 | 亚洲在线中文字幕 | 在线成人免费 | 99久久久无码国产精品性 | 日本熟女一区二区 | 色呦呦网站 | 国产欧美日韩专区 | 欧美成人h版在线观看 | 国产精品久久久久高潮 | 五月的婷婷 | 91国产在线看 | 青青草成人免费 | 久久久久久久国产精品毛片 | 久久久7777 | 久艹伊人 | 欧美激情视频网址 | 一色av | 日韩精品极品视频在线观看免费 | 久草视频在线资源站 | 久久av网 | 91在线观看欧美日韩 | 黄色一级片视频 | 日本a√在线观看 | 久久色中文字幕 | 成人区人妻精品一区二 | 黄色91|