91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 287KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2021-07-17
  • 語言: C/C++
  • 標簽: 編譯器??實現??

資源簡介

基于tiny的小型編譯器,包括詞法分析,語法分析,轉化成三地址碼,最后轉化成c語言代碼,在c語言編譯器上編譯運行

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
struct?LRNode
{
int?flag;
int?num;
};
typedef?struct?CSNode
{
char?data[40];
struct?CSNode?*firstchild*nextsibling*next*parent;
}CSNode*CSTree;
CSTree?pT;
char?pre[40];
int?b;
CSTree?t[100];//指針嶄
int?top3;
int?S1[100];//狀態棧
int?S2[100];//符號棧
int?top1;
int?top2;
int?mark1=1;
int?mark2=1;
int?count=0;
int?Sif[100];//if棧
int?topi=0;
int?tmp=0;//:=臨時變量標號Ttmp
char?a[40];
int?Srepeat[100];//repeat棧
int?topr=0;
int?linenumber=1;
char?Difined[100][100];//用于存儲已經定義的變量
int??dif=0;
struct?Gram
{
char?ch;
int?length;
};
int?strstr1(char?str[40]char?ch)
{
for(int?i=0;i {
if(str[i]==ch)
return?1;
}
return?0;
}
void?Strprint(char?str[20])
{
int?i;
int?l=strlen(str);
for(i=0;i {
if(str[i]==‘:‘)
break;
printf(“%c“str[i]);
}
printf(“\n“);
}
int?Exchange1(char?str[20])//非數字
{
int?num;
if(!strcmp(str“if“))?num=0;
else?if(!strcmp(str“then“))?num=1;
else?if(!strcmp(str“end“))?num=2;
else?if(!strcmp(str“else“))?num=3;
else?if(!strcmp(str“repeat“))?num=4;
else?if(!strcmp(str“until“))?num=5;
else?if(!strcmp(str“read“))?num=6;
else?if(!strcmp(str“write“))?num=7;
else?if(!strcmp(str“:=“))?num=8;?
else?if(!strcmp(str“<“))?num=9;
else?if(!strcmp(str“=“))?num=10;
else?if(!strcmp(str“+“))?num=11;
else?if(!strcmp(str“-“))?num=12;
else?if(!strcmp(str“*“))?num=13;
else?if(!strcmp(str“/“))?num=14;
else?if(!strcmp(str“(“))?num=15;
else?if(!strcmp(str“)“))?num=16;
else?if(!strcmp(str“;“))?num=17;
else?num=18;
return?num;
}
int?Exchange2(char?ch)
{
int?num;
if(ch==‘P‘)?num=21;
else?if(ch==‘S‘)?num=22;
else?if(ch==‘G‘)?num=23;
else?if(ch==‘I‘)?num=24;
else?if(ch==‘U‘)?num=25;
else?if(ch==‘A‘)?num=26;
else?if(ch==‘R‘)?num=27;
else?if(ch==‘W‘)?num=28;
else?if(ch==‘E‘)?num=29;?
else?if(ch==‘B‘)?num=30;?
else?if(ch==‘C‘)?num=31;?
else?if(ch==‘O‘)?num=32;?
else?if(ch==‘M‘)?num=33;?
else?if(ch==‘T‘)?num=34;?
else?if(ch==‘F‘)?num=35;?
return?num;
}
void?PrintCSTree(CSTree?Tint?i)//按凹入表形式打印輸出樹的元素i表示結點所在層次初次調用時i=0
{
int?j;
CSTree?q;
??for(j=1;j<=i;j++)?printf(“?“);?//留出i個空格以表現出層次
??if(!strcmp(T->data“<“))
??{
??printf(“op:“);
??printf(“%s\n“T->data);?//打印元素換行
??}
??else?if(!strcmp(T->data“=“))
?{
??printf(“op:“);
??printf(“%s\n“T->data);?//打印元素換行
??}
??else?if(!strcmp(T->data“+“))
??{
??printf(“op:“);
??printf(“%s\n“T->data);?//打印元素換行
??}
??else?if(!strcmp(T->data“-“))
??{
??printf(“op:“);
??printf(“%s\n“T->data);?//打印元素換行
??}
??else?if(!strcmp(T->data“/“))
??{
??printf(“op:“);
??printf(“%s\n“T->data);?//打印元素換行
??}
??else?if(!strcmp(T->data“*“))
?{
??printf(“op:“);
??printf(“%s\n“T->data);?//打印元素換行
??}
??else?if(strstr(T->data“:=“))
?{
??printf(“assign?to:“);
??Strprint(T->data);?//打印元素換行
??}
??else

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????104??2009-12-29?10:33??編譯原理課設(最終)\1.txt

?????文件????????134??2009-12-29?10:35??編譯原理課設(最終)\2.txt

?????文件????????217??2009-12-29?10:36??編譯原理課設(最終)\3.txt

?????文件????????184??2009-12-29?10:36??編譯原理課設(最終)\4.txt

?????文件????????121??2009-12-29?10:36??編譯原理課設(最終)\5.txt

?????文件????????197??2009-12-29?12:22??編譯原理課設(最終)\Clanguage.txt

?????文件????????134??2009-12-24?17:07??編譯原理課設(最終)\data.txt

?????文件??????41984??2009-12-29?12:25??編譯原理課設(最終)\Debug\vc60.idb

?????文件??????61440??2009-12-29?12:25??編譯原理課設(最終)\Debug\vc60.pdb

?????文件?????254072??2009-12-29?12:25??編譯原理課設(最終)\Debug\編譯原理課設(最終).exe

?????文件?????261192??2009-12-29?12:25??編譯原理課設(最終)\Debug\編譯原理課設(最終).ilk

?????文件?????287684??2009-12-29?12:25??編譯原理課設(最終)\Debug\編譯原理課設(最終).pch

?????文件?????459776??2009-12-29?12:25??編譯原理課設(最終)\Debug\編譯原理課設(最終).pdb

?????文件??????63035??2009-12-29?12:25??編譯原理課設(最終)\Debug\編譯課程設計(最終).obj

?????文件????????121??2009-12-29?12:22??編譯原理課設(最終)\MidLan.txt

?????文件????????469??2009-12-29?12:22??編譯原理課設(最終)\so.txt

?????文件????????104??2009-12-29?10:33??編譯原理課設(最終)\測試用例\1.txt

?????文件????????134??2009-12-29?10:35??編譯原理課設(最終)\測試用例\2.txt

?????文件????????217??2009-12-29?10:36??編譯原理課設(最終)\測試用例\3.txt

?????文件????????184??2009-12-29?10:36??編譯原理課設(最終)\測試用例\4.txt

?????文件????????121??2009-12-29?10:36??編譯原理課設(最終)\測試用例\5.txt

?????文件???????1328??2009-12-29?10:31??編譯原理課設(最終)\測試用例\測試用例說明.txt

?????文件???????1328??2009-12-29?10:31??編譯原理課設(最終)\測試用例說明.txt

?????文件???????4454??2009-12-29?12:25??編譯原理課設(最終)\編譯原理課設(最終).dsp

?????文件????????548??2009-12-29?12:24??編譯原理課設(最終)\編譯原理課設(最終).dsw

?????文件??????33792??2009-12-29?12:25??編譯原理課設(最終)\編譯原理課設(最終).ncb

?????文件??????48640??2009-12-29?12:25??編譯原理課設(最終)\編譯原理課設(最終).opt

?????文件???????2092??2009-12-29?12:25??編譯原理課設(最終)\編譯原理課設(最終).plg

?????文件??????41159??2009-12-29?12:25??編譯原理課設(最終)\編譯課程設計(最終).cpp

?????目錄??????????0??2009-12-29?12:25??編譯原理課設(最終)\Debug

............此處省略5個文件信息

評論

共有 條評論