范文无忧网计划总结报告汇报

编译原理课程设计

03月18日 编辑 fanwen51.com

[课程设计实践报告]本文《课程设计实践报告》由小编精心整理,如本篇文章不符合您的要求,您也可以查看网站下方的与本文相关的文章。文章来源于fanwen51.,文章版权归本站所有,希望本文对你有所帮助!...+阅读

编译原理课程设计

struct ll{

int no;

struct ll *next;

};//四元式链类型

struct token { //词法分析token结构体及符号分析栈的元素类型

int sy1;

char name[LEN];

int pos;

int width;

int type;

int action;

struct ll * truelist;

struct ll * falselist;

struct ll * nextlist;//布尔表达式及控制语句翻译时的真假链

int fquad;

};

struct fourexp{

char op[10];

char arg1[LEN];

char arg2[LEN];

char result[LEN];

} //四元式

struct tokentab {

char SY[LEN];

int type;

int pos;

int wid;

int cat;//种属:函数,变量,数组

char actplace[LEN];

};//符号表元素类型

struct rwords{

char sp[10];

int sy;

};//保留字类型

int stack1[500];//程序语句分析状态栈

int stack2[500]; //表达式分析状态栈

急高悬赏帮个忙求编译原理课程设计c语言实现c的语法分析

语法规则及函数模块如下所示:int do_stat() { int es=0; fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); es=statement(); if (es>0) return(es); fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); if(strcmp(token,"while")==0) { fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); if(strcmp(token,"(")) return(es=5); fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); es=expression(); if(es>0) return(es); if(strcmp(token,")")) return(es=6); fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); } else es=3; return(es); }//::=int|;//::=int ID,{ID}; int declaration_stat() { int es=0; fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); if (strcmp(token,"ID")) return(es=3); //不是标识符 fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); while(strcmp(token,",")==0 ) { fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); if (strcmp(token,"ID")) return(es=3); //不是标识符 fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); }; if (strcmp(token,";") ) return(es=4); fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); return(es); } //::={}//program::={} int program() { int es=0; fscanf(fp,"%s %s\n",token,token1); printf("%s %s\n",token,token1); if(strcmp(token,"main")==0) { fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); if (strcmp(token,"(")) return(es=5); //少左括号 fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); if (strcmp(token,")")) return(es=6); //少右括号 fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); } else { es=8; return(es); } if(strcmp(token,"{"))//判断是否'{' { es=1; return(es); } fscanf(fp,"%s %s\n",&token,&token1); printf("%s %s\n",token,token1); es=declaration_list(); if (es>0) return(es); es=statement_list(); if (es>0) return(es); if(strcmp(token,"}"))//判断是否'}' { es=2; return(es); } return(es); } 输入如下:main() {int a,b,c; read a; read b; c=0; do{ c=a*b; b=b+1; a=a-1; }while(b

延伸阅读:

java课程设计总结ja课程设计总结,Ja课程是ja软件工程师学习和应用ja的必要课程,下面是小编分享的ja课程设计总结,欢迎阅读! ja课程设计总结【1】 本次Ja课程设计我们这组做的课题是画随机圆,刚开...

安卓课程设计总结一、引言 在智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统开源...

数据结构课程设计报告1、一元稀疏多项式相加 详细设计 4.1 程序头的设计: #include#includetypedef struct pnode {int coef;/*系数 */ int exp;/*指数 */ struct pnode *next;/*下一个指针*/ }pnode...

java课程设计报告Java课程设计报告完整论文(Part2) 程序源代码及其解析 package staff;//包 public static void main(final String[] args) throws IOException //throws do{ System.out.print...

vb课程设计的体会VB课程设计要求 1、每位同学自行选择一个题目进行设计,不得雷同。也可自己提出设计题目,要预先取得老师的同意。 2、题目后面是每个题目的每班限值人数。 3、题目工作量较大时...

交通灯设计报告单片机课程设计1. 利用单片机用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 2. 熟悉键盘接口、动态显示接口、复位等电路的设计; 3. 熟悉可编程芯片8255的结构及其工作原理; 4....

求数字时钟课程设计报告只能给你设计素材,报告自己做。否则达不到课程的教学目的 我的补充 205-27 17:21 89C51 LED电子钟 *APPLICATION NOTE E6000 ICEXPLORER *************** * Title: FOR colk_...

电子技术课程设计集成三端稳压器性能较好,保护功能较完善(具有过流保护和过热保护功能),体积小、价格低、品种多,是常用的稳压器件。用它和电源变压器、整流元件、滤波电容等构成直流稳压电源不仅...

电子课程设计报告怎么写一、电子课程设计报告的格式安排 1. 摘要 2. 目录 3. 前言/引言 4.正文 5. 结论 6. 参考文献 7. 附录 二、摘要 1. 要求: 完整、准确、简练。 2. 包含内容: (1) 所进行设计或...

推荐阅读
图文推荐
栏目列表