当前位置: 首页 > news >正文

网站整体风格设计滨州制作网站

网站整体风格设计,滨州制作网站,做外贸网站报价,厦门市房地产建设局网站一、题目要求 题目#xff1a; 选择部分C语言的语法成分#xff0c;设计其词法分析程序、语法语义分析程序。 要求#xff1a; 设计并实现一个一遍扫描的词法语法语义分析程序#xff0c;将部分C语言的语法成分#xff08;包含赋值语句、if语句、while循环语句#xf…一、题目要求 题目 选择部分C语言的语法成分设计其词法分析程序、语法语义分析程序。 要求 设计并实现一个一遍扫描的词法语法语义分析程序将部分C语言的语法成分包含赋值语句、if语句、while循环语句翻译成三地址代码要求有一定的出错提示和错误恢复功能。 二、源码  #include stdio.h #include string.h #include stdlib.h#define BUFFSIZE 5000 char prog[BUFFSIZE],token[8]; char ch,ch1; int syn,p,q,m,n,sum,i1,k0,kk,flag0; char *rwtab[32]{main,break,case,char,define,continue,default,do,double,else,what,extern,float,for,goto,if,int,long,stack,return,short,fopen,sizeof,static,struct,switch,typedef,enum,unsigned,void,fclose,while};int main() /*主函数*/ {void scaner();int lrparser();FILE *fp;if((fpfopen(test.txt,r))NULL){ printf(无法打开文件\n);exit(1);}p0;while(!feof(fp)){ prog[p]fgetc(fp);if(p5000){ printf(缓冲区容量不够!\n);exit(1);}}/*把文件test中的内容存入数组prog中*/fclose(fp);printf(%s\n,prog);p0; printf(输出词法分析结果\n);do{scaner();switch(syn){case 34:printf((%d,%d),,syn,sum);break;case -1:printf(error,);break;default:printf((%d,%s),,syn,token);}}while(syn!0);p0;printf(\n语法语义的分析开始\n);scaner();lrparser();system(pause);return 0; }void scaner() {for(n0;n8;n) token[n]NULL;m0;sum0;chprog[p];while(ch ||ch\n){ p;chprog[p];}/*读下一个字符*/if((chAchZ)||(chachz)){ while((chAchZ)||(chachz)||(ch0ch9)){ token[m]ch;m;p;chprog[p];}token[m]\0;syn33;for(n0;n32;n)if(strcmp(token,rwtab[n])0){ synn1;break;}}/*判断输入字符是否为标识符或者关键字的情况*/elseif(ch0ch9){ while(ch0ch9){ sumsum*10ch-0;p;chprog[p];}syn34;}/*判断输入字符是否为整型常数的情况*/elseswitch(ch){case :token[m]ch;p;chprog[p];if(ch){ syn42;m;token[m]ch;p;}/*出现的情况*/else if(ch){ syn43;m;token[m]ch;p;}/*出现的情况*/else{ syn41;}break;case :token[m]ch;p;chprog[p];if(ch){ syn45;m;token[m]ch;p;}/*出现的情况*/else{syn44;}break;case ::token[m]ch;p;chprog[p];if(ch){ syn40;m;token[m]ch;p;}/*出现:的情况*/else{syn39;}break;case /:token[m]ch;p;chprog[p];if(ch*){ syn51;q0;m;token[m]ch;p;qp1;while(prog[p]!*||prog[q]!/){p;q;}}/*出现注释/*的情况*/else{syn38;}break;case *:token[m]ch;p;chprog[p];if(ch/){ syn52;m;token[m]ch;p;}else{syn37;}break;case :syn35;token[0]ch;p;break;case -:syn36;token[0]ch;p;break;case :syn46;token[0]ch;p;break;case ;:syn47;token[0]ch;p;break;case (:syn48;token[0]ch;p;break;case ):syn49;token[0]ch;p;break;case %:syn50;token[0]ch;p;break;case {:syn53;token[0]ch;p;break;case }:syn54;token[0]ch;p;break;case ,:syn55;token[0]ch;p;break;case #:syn0;token[0]ch;p;break;default:syn-1;}}void emit(char *result,char *ag1,char *op,char *ag2) {printf((%d) %s%s%s%s\n,i,result,ag1,op,ag2);i;return; }char *newtemp(void) {char *p;char m[8];p(char *)malloc(8);k;itoa(k,m,10);strcpy(p1,m);p[0]t;return(p); }int lrparser() { int yucu();int schain0;kk0;if(syn!1){printf(缺main错误\n);flag;}scaner();if(syn!48){printf(main后缺括号\n);flag;}else scaner();if(syn!49){printf(main后缺)括号\n);flag;}else scaner();if(syn!53){printf(main后缺{括号\n);flag;}else scaner();schainyucu();if(syn54){ scaner();if(syn0kk0flag0)/*kk是用来记录其他错误的标识*/printf(语法与语义分析结束。分析结果为success\n);elseprintf(程序存在着%d个错误\n,flag);}else{if(kk!1)printf(缺}错误);kk1;}return(schain); }int yucu() {int statement();int schain0;schainstatement();while(syn47){ scaner();schainstatement();}return(schain); }int statement() {char *expression();char tt[8],eplace[8];int schain0;switch(syn){ case 33:strcpy(tt,token);scaner();if(syn46){ scaner();strcpy(eplace,expression());emit(tt,eplace, , );schain0;}else{printf(赋值号错误);kk1;}return(schain);break;} }char *expression(void) { char *term();char *tp,*ep2,*eplace,*tt;tp(char *)malloc(12);ep2(char *)malloc(12);eplace(char *)malloc(12);tt(char *)malloc(12);strcpy(eplace,term());while(syn35||(syn36)){ strcpy(tt,token);scaner();strcpy(ep2,term());strcpy(tp,newtemp());emit(tp,eplace,tt,ep2);strcpy(eplace,tp);}return(eplace); }char *term(void) {char *factor();char *tp,*ep2,*eplace,*tt;tp(char *)malloc(12);ep2(char *)malloc(12);eplace(char *)malloc(12);tt(char *)malloc(12);strcpy(eplace,factor());while(syn37||(syn38)){ strcpy(tt,token);scaner();strcpy(ep2,factor());strcpy(tp,newtemp());emit(tp,eplace,tt,ep2);strcpy(eplace,tp);}return(eplace); }char *factor(void) {char *fplace;fplace(char *)malloc(12);strcpy(fplace, );if(syn33){strcpy(fplace,token);scaner();}else if(syn34){itoa(sum,fplace,10);scaner();}else if(syn48){scaner();fplaceexpression();if(syn49)scaner();else{printf(缺‘)’错误!!\n);kk1;flag;}}else{printf(表达式错误\n);kk1;flag;}return(fplace); }
http://www.hkea.cn/news/14501419/

相关文章:

  • 福建 专业网站建设公司网站模板能自己做吗
  • 自己做自己的私人网站国外商城网站设计
  • 网站 设计淄博做网站公司有哪些
  • 中企动力技术支持网站台州百度推广优化
  • 游戏网站怎么建设网站建设哪家比较好
  • 不是网站建设必须经历的过程网站首页flash模板
  • 旅游网站建设风格想建书画网站怎么做的
  • vue 做网站 seowordpress整站下载
  • 网站建设描述书哈尔滨vi设计公司
  • 利用百度图片做网站外链企业招聘网站哪个最好
  • 网站开发企业开发商城网站怎么做seo
  • 公司自己做网站西安网站开发xamokj
  • 江苏 做网站网页设计公司企业文化
  • 郑州企业网站排名优化公司建设官方网站的费用账务处理
  • it彩票网站建设维护工程师长春最专业的网站建设
  • 网站仿站建设赚钱的软件
  • 做网站除了有服务器还需要什么问题常州金坛网站建设
  • 制作网页站点的具体流程案例wordpress网站结构
  • adsense用什么网站做集团网站开发费用
  • 沈阳建站培训微信视频网站怎么做的好
  • 软件公司做网站商城系统源码
  • 做三方网站多少钱网站建设需要哪些项目
  • 网上商城网站开发需求说明书安装wordpress插件目录
  • js搜索网站开发好网站开发策划要求
  • wordpress域名网站搬家网站运营管理的内容有哪些
  • 公司介绍网站平台搭建设计论文石家庄模板建站
  • 招聘网站做专题的目的镇江大港属于哪个区
  • 调研园区网站建设工作做广告图片用什么软件
  • asp模板网站修改佛山网站建设哪家公司好
  • 南宁市建设局网站摄影设计工作室