下载此文档

编译原理实验词法分析实验报告.doc


文档分类:高等教育 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
该【编译原理实验词法分析实验报告 】是由【花双韵芝】上传分享,文档一共【5】页,该文档可以免费在线阅读,需要了解更多关于【编译原理实验词法分析实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。编译技术实验报告实验题目: 词法分析学 院: 信息学院专 业: 计算机科学与技术学 号:姓 名:一、实验目的理解词法分析的功能;理解词法分析的实现方法;二、实验内容PL0的文法如下‘<为>非’终结符。‘::=该’符号的左部由右部定义,可读作 “定义为”。‘|表’示‘或’,为左部可由多个右部定义。‘{}表’示花括号内的语法成分可以重复。在不加上下界时可重复 0到任意次数,有上下界时可重复次数的限制。‘[]表’示方括号内的成分为任选项。‘()表’示圆括号内的成分优先。上述符号为“元符号”,文法用上述符号作为文法符号时需要用引号 ‘’括起。〈程序〉∷=〈分程序〉.〈分程序〉∷=[〈变量说明部分〉][〈过程说明部分〉]〈语句〉〈变量说明部分〉∷=VAR〈标识符〉{,〈标识符〉}:INTEGER;〈无符号整数〉∷=〈数字〉{〈数字〉}〈标识符〉∷=〈字母〉{〈字母〉|〈数字〉}〈过程说明部分〉∷=〈过程首部〉〈分程序〉 {;〈过程说明部分〉};〈过程首部〉∷=PROCEDURE〈标识符〉;〈语句〉∷=〈赋值语句〉|〈条件语句〉|〈过程调用语句〉|〈读语句〉|〈写语句〉|〈复合语句〉|〈空〉〈赋值语句〉∷=〈标识符〉∶=〈表达式〉〈复合语句〉∷=BEGIN〈语句〉{;〈语句〉}END〈条件〉∷=〈表达式〉〈关系运算符〉〈表达式〉〈表达式〉∷=〈项〉{〈加法运算符〉〈项〉}〈项〉∷=〈因子〉{〈乘法运算符〉〈因子〉}〈因子〉∷=〈标识符〉|〈无符号整数〉|'('〈表达式〉')'〈加法运算符〉∷=+|-〈乘法运算符〉∷=*〈关系运算符〉∷=<>|=|<|<=|>|>=〈条件语句〉∷=IF〈条件〉THEN〈语句〉〈字母〉∷=a|b| |X|Y|Z〈数字〉∷=0|1|2| |8|9实现PL0的词法分析三、实验分析与设计PL0词法分析程序是一个独立的过程,其功能是为语法语义分析提供单词,把输入的字符串形式的源程序分割成一个个单词符号传递给语法语义分析。其主要方法步骤为从源程序扫描下一个字符,忽略空格、换行、TAB和注释并识别单词,再将不同类别的单词归类输出。四、实验的实现#include<>#include<>#include<>#include<>#include<>#definenorw11{cdot++;TOKEN[i]=ch;i++;ch=fgetc(fin);{b=b+1;}for(jc=0;jc<b;jc++){a=TOKEN[jc]-'0';if(jc!=0){part1=part1*10;part1=part1+a;}else{part1=a;}}for(jc=b+1;jc<i;jc++){a=TOKEN[jc]-'0';part2=a*c+part2;c=c*;}fprintf(fout,"(%d,%f)\n",FLOAT,part1+part2);\n",SEMIC);break;exit(0);:fprintf(fout,"(%d,'.')\n",ENDF);break;n");}printf("请输入保存分析结果的文件名 :");scanf("%s",filename);if((fout=fopen(filename,"w"))==NULL){printf("不能打开文件.\n");exit(0);}scanner(); //调用词法分析程序//getchar();getchar();fclose(fin);fclose(fout);return0;}五、运行的结果

编译原理实验词法分析实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花双韵芝
  • 文件大小142 KB
  • 时间2024-03-25