資源簡(jiǎn)介
詞法分析程序的示例,僅供參考。
使用LEX編寫(xiě)。
北郵 大三 編譯原理 詞法分析 詞法分析程序的設(shè)計(jì)與實(shí)現(xiàn)
實(shí)驗(yàn)內(nèi)容設(shè)計(jì)并實(shí)現(xiàn)C語(yǔ)言的詞法分析程序,要求如下:
1)可以識(shí)別出用C語(yǔ)言編寫(xiě)的源程序中的每個(gè)單詞符號(hào),并以記號(hào)的形式輸出每個(gè)單詞符號(hào)。
2)可以識(shí)別并讀取源程序中的注釋。
3)可以統(tǒng)計(jì)源程序匯總的語(yǔ)句行數(shù)、單詞個(gè)數(shù)和字符個(gè)數(shù),其中標(biāo)點(diǎn)和空格不計(jì)算為單詞,并輸出統(tǒng)計(jì)結(jié)果
4)檢查源程序中存在的錯(cuò)誤,并可以報(bào)告錯(cuò)誤所在的行列位置。
5)發(fā)現(xiàn)源程序中存在的錯(cuò)誤后,進(jìn)行適當(dāng)?shù)幕謴?fù),使詞法分析可以繼續(xù)進(jìn)行,通過(guò)一次詞法分析處理,可以檢查并報(bào)告源程序中存在的所有錯(cuò)誤
代碼片段和文件信息
/*?A?lexical?scanner?generated?by?flex?*/
/*?Scanner?skeleton?version:
?*?$Header:?/home/daffy/u0/vern/flex/RCS/flex.sklv?2.91?96/09/10?16:58:48?vern?Exp?$
?*/
#define?FLEX_SCANNER
#define?YY_FLEX_MAJOR_VERSION?2
#define?YY_FLEX_MINOR_VERSION?5
#include?
/*?cfront?1.2?defines?“c_plusplus“?instead?of?“__cplusplus“?*/
#ifdef?c_plusplus
#ifndef?__cplusplus
#define?__cplusplus
#endif
#endif
#ifdef?__cplusplus
#include?
#include?
/*?Use?prototypes?in?function?declarations.?*/
#define?YY_USE_PROTOS
/*?The?“const“?storage-class-modifier?is?valid.?*/
#define?YY_USE_CONST
#else /*?!?__cplusplus?*/
#if?__STDC__
#define?YY_USE_PROTOS
#define?YY_USE_CONST
#endif /*?__STDC__?*/
#endif /*?!?__cplusplus?*/
#ifdef?__TUR
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件??????46791??2017-12-04?21:11??詞法分析\lex.c
?????文件?????145374??2017-12-04?21:11??詞法分析\lex.exe
?????文件???????2475??2017-12-04?21:11??詞法分析\source.l
?????文件?????250216??2017-12-04?21:11??詞法分析\實(shí)驗(yàn)報(bào)告.pdf
?????目錄??????????0??2017-12-04?21:11??詞法分析
-----------?---------??----------?-----??----
???????????????444856????????????????????5
評(píng)論
共有 條評(píng)論