資源簡介
C.3語義分析
實驗?zāi)康?通過上機實習(xí),加深對語法制導(dǎo)翻譯原理的理解,掌握將語法分析所識別的語法成分變換為中間代碼的語義翻譯方法.
實驗要求
采用遞歸下降語法制導(dǎo)翻譯法,對算術(shù)表達式、賦值語句進行語義分析并生成四元式序列。
實驗的輸入和輸出
輸入是語法分析提供的正確的單詞串,輸出為三地址指令形式的四元式序列。
例如:對于語句串
begin a:=2+3*4;x:=(a+b)/c end#
輸出的三地址指令如下:
(1) t1=3*4
(2) t2=2+t1
(3) a=t2
(4) t3=a+b
(5) t4=t3/c
(6) x=t4
算法思想
1設(shè)置語義過程
(1) emit(cha
代碼片段和文件信息
#include??
#include??
char?prog[80]token[8];?
char?ch;?
int?synpmnsum;?
char?*rwtab[6]={“begin““if““then““while““do““end“};?
void?scaner();?
void?main(){?
p=0;?
printf(“\n?please?input?string;\n“);?
do?{?
scanf(“%c“&ch);?
prog[p++]?=?ch;?
}while?(ch!=‘#‘);?
p=0;?
do{?
scaner();?
switch(syn)?{?
case?11:?printf?(“(syn%d)\n“sum);?break;?
case?-1:printf(“error!\n“);break;?
default:printf(“(%d%s)\n“syntoken);?
}?
}while?(syn!=0);?
}?
void?scaner(){?
for(n=0;n<8;n++)?token[n]=NULL;?
ch?=?prog[p++];?
while(ch==‘?‘)?
ch?=?prog[p++];?
if(ch>=‘a(chǎn)‘&&ch<=‘z‘){?
m?=?0;?
while((ch>=‘a(chǎn)‘&&ch<=‘z‘)||(ch>=‘0‘&&ch<=‘9‘)){?
token[m++]?=?ch;?
ch?=?prog[p++];?
}?
token[m++]=‘\0‘;?
--p;?
syn=10;?
for?(n=0;n<6;n++)?
if(strcmp(token
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1844??2008-10-27?21:44??編譯原理\詞法分析實驗\1_2\1_2.cpp
?????文件???????3365??2008-10-28?14:20??編譯原理\詞法分析實驗\1_2\1_2.dsp
?????文件????????514??2008-10-28?15:14??編譯原理\詞法分析實驗\1_2\1_2.dsw
?????文件??????41984??2008-10-28?15:14??編譯原理\詞法分析實驗\1_2\1_2.ncb
?????文件??????48640??2008-10-28?15:14??編譯原理\詞法分析實驗\1_2\1_2.opt
?????文件???????1095??2008-10-27?23:31??編譯原理\詞法分析實驗\1_2\1_2.plg
?????文件?????167982??2008-10-27?23:31??編譯原理\詞法分析實驗\1_2\Debug\1_2.exe
?????文件?????186736??2008-10-27?23:31??編譯原理\詞法分析實驗\1_2\Debug\1_2.ilk
?????文件???????9620??2008-10-27?23:31??編譯原理\詞法分析實驗\1_2\Debug\1_2.obj
?????文件?????186924??2008-10-27?23:27??編譯原理\詞法分析實驗\1_2\Debug\1_2.pch
?????文件?????427008??2008-10-27?23:31??編譯原理\詞法分析實驗\1_2\Debug\1_2.pdb
?????文件??????33792??2008-10-28?14:20??編譯原理\詞法分析實驗\1_2\Debug\vc60.idb
?????文件??????45056??2008-10-27?23:31??編譯原理\詞法分析實驗\1_2\Debug\vc60.pdb
????..A..H.???????162??2008-10-27?20:32??編譯原理\詞法分析實驗\~$實驗設(shè)計模板.doc
?????文件??????36864??2007-07-25?19:42??編譯原理\詞法分析實驗\詞法分析.doc
?????文件??????60928??2008-10-28?10:58??編譯原理\詞法分析實驗\詞法分析實驗報告.doc
?????文件???????4673??2008-12-14?22:33??編譯原理\語義分析\3_1\1.cpp
?????文件???????3346??2008-12-14?22:42??編譯原理\語義分析\3_1\1.dsp
?????文件????????527??2008-12-14?22:42??編譯原理\語義分析\3_1\1.dsw
?????文件??????33792??2008-12-14?22:42??編譯原理\語義分析\3_1\1.ncb
?????文件??????48640??2008-12-14?22:42??編譯原理\語義分析\3_1\1.opt
?????文件???????1622??2008-12-14?22:41??編譯原理\語義分析\3_1\1.plg
?????文件??????98370??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\1.exe
?????文件??????51616??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\1.ilk
?????文件??????19088??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\1.obj
?????文件?????222996??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\1.pch
?????文件?????558080??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\1.pdb
?????文件??????33792??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\vc60.idb
?????文件??????45056??2008-12-14?22:41??編譯原理\語義分析\3_1\Debug\vc60.pdb
????..A.SH.??????7168??2008-12-14?21:03??編譯原理\語義分析\Thumbs.db
............此處省略40個文件信息
- 上一篇:Love表白小程序,專哄女朋友
- 下一篇:vc實現(xiàn)led指示燈
評論
共有 條評論