資源簡介
詞法分析程序的示例,僅供參考。
使用LEX編寫。
北郵 大三 編譯原理 詞法分析 詞法分析程序的設計與實現
實驗內容設計并實現C語言的詞法分析程序,要求如下:
1)可以識別出用C語言編寫的源程序中的每個單詞符號,并以記號的形式輸出每個單詞符號。
2)可以識別并讀取源程序中的注釋。
3)可以統計源程序匯總的語句行數、單詞個數和字符個數,其中標點和空格不計算為單詞,并輸出統計結果
4)檢查源程序中存在的錯誤,并可以報告錯誤所在的行列位置。
5)發現源程序中存在的錯誤后,進行適當的恢復,使詞法分析可以繼續進行,通過一次詞法分析處理,可以檢查并報告源程序中存在的所有錯誤
代碼片段和文件信息
/*?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
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????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??詞法分析\實驗報告.pdf
?????目錄??????????0??2017-12-04?21:11??詞法分析
-----------?---------??----------?-----??----
???????????????444856????????????????????5
評論
共有 條評論