資源簡介
實驗二:TINY擴充語言的語法分析
擴充的語法規則有:實現 while、do while、for語句和求余計算式子,具體文法規則自行構造。
可參考:P97及P136的文法規則。
(1) While-stmt --> while exp do stmt-sequence endwhile
(2) Dowhile-stmt-->do stmt-sequence while exp
(3) for-stmt-->for identifier:=simple-exp to simple-exp do stmt-sequence enddo 步長遞增1
(4) for
代碼片段和文件信息
/****************************************************/
/*?File:?analyze.c??????????????????????????????????*/
/*?Semantic?analyzer?implementation?????????????????*/
/*?for?the?TINY?compiler????????????????????????????*/
/*?Compiler?Construction:?Principles?and?Practice???*/
/*?Kenneth?C.?Louden????????????????????????????????*/
/****************************************************/
#include?“globals.h“
#include?“symtab.h“
#include?“analyze.h“
/*?counter?for?variable?memory?locations?*/
static?int?location?=?0;
/*?Procedure?traverse?is?a?generic?recursive?
?*?syntax?tree?traversal?routine:
?*?it?applies?preProc?in?preorder?and?postProc?
?*?in?postorder?to?tree?pointed?to?by?t
?*/
static?void?traverse(?TreeNode?*?t
???????????????void?(*?preProc)?(TreeNode?*)
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4452??2010-11-25?13:14??實驗二\analyze.cpp
?????文件????????652??2010-11-25?13:14??實驗二\analyze.h
?????文件???????6979??2010-11-25?13:20??實驗二\cgen.cpp
?????文件????????679??2010-11-25?13:14??實驗二\cgen.h
?????文件???????3039??2010-11-25?13:14??實驗二\code.cpp
?????文件???????2234??2010-11-25?13:14??實驗二\code.h
?????文件???????9768??2010-11-29?15:16??實驗二\Debug\analyze.obj
?????文件??????19123??2010-11-29?15:16??實驗二\Debug\cgen.obj
?????文件???????8609??2010-11-29?15:16??實驗二\Debug\code.obj
?????文件??????10889??2010-11-29?16:15??實驗二\Debug\main.obj
?????文件??????17705??2010-11-29?18:56??實驗二\Debug\parse.obj
?????文件??????12001??2010-11-29?16:00??實驗二\Debug\scan.obj
?????文件???????6138??2010-11-25?13:14??實驗二\Debug\symtab.obj
?????文件??????16286??2010-11-29?16:00??實驗二\Debug\util.obj
?????文件??????66560??2010-11-29?18:56??實驗二\Debug\vc60.idb
?????文件??????77824??2010-11-29?18:56??實驗二\Debug\vc60.pdb
?????文件?????237615??2010-11-29?18:56??實驗二\Debug\實驗二.exe
?????文件?????318136??2010-11-29?18:56??實驗二\Debug\實驗二.ilk
?????文件?????236932??2010-11-29?18:08??實驗二\Debug\實驗二.pch
?????文件?????631808??2010-11-29?18:56??實驗二\Debug\實驗二.pdb
?????文件???????3140??2010-11-29?15:16??實驗二\globals.h
?????文件???????3034??2010-11-29?16:15??實驗二\main.cpp
?????文件???????6777??2010-11-29?18:56??實驗二\parse.cpp
?????文件????????484??2010-11-25?13:14??實驗二\parse.h
?????文件???????6074??2010-11-29?16:00??實驗二\scan.cpp
?????文件????????659??2010-11-25?13:14??實驗二\scan.h
?????文件???????3564??2010-11-25?13:14??實驗二\symtab.cpp
?????文件????????959??2010-11-25?13:14??實驗二\symtab.h
?????文件????????739??2010-11-29?18:56??實驗二\syntax?tree.txt
?????文件????????239??2010-11-29?16:08??實驗二\test.txt
............此處省略13個文件信息
- 上一篇:c-dilla3.27
- 下一篇:tslib-1.4.tar.gz16746
評論
共有 條評論