資源簡介
該設計為編譯原理實驗課內容,使用Flex+Bison設計MiniPascal編譯器,支持if-else、while、for、變量任何位置定義以及變量初始化。隨壓縮包附實驗報告及測例。

代碼片段和文件信息
/*?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?__TURBOC__
?#pragma?warn?-rch
?#pragma?warn?-use
#include?
#include?
#define?YY_USE_CONST
#define?YY_USE_PROTOS
#endif
#ifdef?YY_USE_CONST
#define?yyconst?const
#else
#define?yyconst
#endif
#ifdef?YY_USE_PROTOS
#define?YY_PROTO(proto)?proto
#else
#define?YY_PROTO(proto)?()
#endif
/*?Returned?upon?end-of-file.?*/
#define?YY_NULL?0
/*?Promotes?a?possibly?negative?possibly?signed?char?to?an?unsigned
?*?integer?for?use?as?an?array?index.??If?the?signed?char?is?negative
?*?we?want?to?instead?treat?it?as?an?8-bit?unsigned?char?hence?the
?*?double?cast.
?*/
#define?YY_SC_TO_UI(c)?((unsigned?int)?(unsigned?char)?c)
/*?Enter?a?start?condition.??This?macro?really?ought?to?take?a?parameter
?*?but?we?do?it?the?disgusting?crufty?way?forced?on?us?by?the?()-less
?*?definition?of?BEGIN.
?*/
#define?BEGIN?yy_start?=?1?+?2?*
/*?Translate?the?current?start?state?into?a?value?that?can?be?later?handed
?*?to?BEGIN?to?return?to?the?state.??The?YYSTATE?alias?is?for?lex
?*?compatibility.
?*/
#define?YY_START?((yy_start?-?1)?/?2)
#define?YYSTATE?YY_START
/*?Action?number?for?EOF?rule?of?a?given?start?state.?*/
#define?YY_STATE_EOF(state)?(YY_END_OF_BUFFER?+?state?+?1)
/*?Special?action?meaning?“start?processing?a?new?file“.?*/
#define?YY_NEW_FILE?yyrestart(?yyin?)
#define?YY_END_OF_BUFFER_CHAR?0
/*?Size?of?default?input?buffer.?*/
#define?YY_BUF_SIZE?16384
typedef?struct?yy_buffer_state?*YY_BUFFER_STATE;
extern?int?yyleng;
extern?FILE?*yyin?*yyout;
#define?EOB_ACT_CONTINUE_SCAN?0
#define?EOB_ACT_END_OF_FILE?1
#define?EOB_ACT_LAST_MATCH?2
/*?The?funky?do-while?in?the?following?#define?is?used?to?turn?the?definition
?*?int?a?single?C?statement?(which?needs?a?semi-colon?terminator).??This
?*?avoids?problems?with?code?like:
?*
?*? if?(?condition_holds?)
?* yyless(?5?);
?* else
?* do_something_else();
?*
?*?Prior?to?using?the?do-while?the?compiler?would?get?upset?at?the
?*?“else“?because?it?interpreted?the?“if“?statement?as?being?all
?*?done?when?it?reached?the?‘;‘?after?the?yyless()?call.
?*/
/*?Return?all?but?the?first?‘n‘?matched?characters?back?to?the?input?stream.?*/
#defin
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????49343??2019-05-30?15:27??編譯原理實驗-MiniPascal\lex.yy.c
?????文件??????67318??2019-05-30?15:31??編譯原理實驗-MiniPascal\Mini.exe
?????文件??????68775??2019-05-30?15:35??編譯原理實驗-MiniPascal\WXTBison.tab.c
?????文件???????3155??2019-05-02?23:15??編譯原理實驗-MiniPascal\WXTBison.tab.h
?????文件??????10934??2019-05-30?15:29??編譯原理實驗-MiniPascal\WXTBison.y
?????文件???????2881??2019-05-30?15:21??編譯原理實驗-MiniPascal\WXTLex.l
?????文件?????????51??2019-05-17?14:28??編譯原理實驗-MiniPascal\測例\Mini1.txt
?????文件?????????86??2019-05-27?20:44??編譯原理實驗-MiniPascal\測例\Mini10.txt
?????文件?????????76??2019-05-17?14:27??編譯原理實驗-MiniPascal\測例\Mini2.txt
?????文件?????????83??2019-05-17?14:36??編譯原理實驗-MiniPascal\測例\Mini3.txt
?????文件?????????98??2019-05-17?14:39??編譯原理實驗-MiniPascal\測例\Mini4.txt
?????文件????????122??2019-05-17?22:32??編譯原理實驗-MiniPascal\測例\Mini5.txt
?????文件????????154??2019-05-17?22:38??編譯原理實驗-MiniPascal\測例\Mini6.txt
?????文件????????161??2019-05-30?15:31??編譯原理實驗-MiniPascal\測例\Mini7.txt
?????文件????????102??2019-05-28?21:50??編譯原理實驗-MiniPascal\測例\Mini8.txt
?????文件?????????94??2019-05-18?20:09??編譯原理實驗-MiniPascal\測例\Mini9.txt
?????文件?????655863??2019-07-02?21:41??編譯原理實驗-MiniPascal\編譯原理實驗報告.docx
?????目錄??????????0??2019-05-30?15:34??編譯原理實驗-MiniPascal\測例
?????目錄??????????0??2019-07-02?21:41??編譯原理實驗-MiniPascal
-----------?---------??----------?-----??----
???????????????859296????????????????????19
- 上一篇:研究生復試簡歷模板
- 下一篇:最全Linux常用命令大全.docx
評論
共有 條評論