编译原理实验报告 词法分析
更新时间:2023-06-11 04:35:01 阅读量: 实用文档 文档下载
- 编译原理实验报告推荐度:
- 相关推荐
昆明理工大学信息工程与自动化学院学生实验报告
( 201 — 201 学年 第 1 学期 )
课程名称:编译原理 开课实验室: 年 月 日
一、实验目的
实验目的: 设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法;
二、实验原理及基本技术路线图(方框原理图)
三、所用仪器、材料(设备名称、型号、规格等) 1台pc和Microsoft Visual C++软件
四、实验方法、步骤
程序源代码:
#include<stdio.h> #include<string.h> #include<iostream.h> char prog[80],token[8];
char ch;
int syn,p,q,m=0,n,sum=0;
char *rwtab[5]={"else","if","then","while","do"};
char *operat[9]={"+","-","*","/",">","<",">=","<=","="};
int scaner() { for(n=0;n<8;n++) token[n]=NULL; ch=prog[p++]; if((ch>='A'&&ch<='Z')||( ch>='a'&&ch<='z')) { m=0; while((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')) {token[m++]=ch; ch=prog[p++]; for(n=0;n<5;n++) if(strcmp(token,rwtab[n])==0) { syn=1; token[m++]='\0'; p--; return 0; } } token[m++]='\0'; p--; syn=2; return 0; } if((ch=='+')||(ch=='-')||(ch=='*')||(ch=='/')||(ch=='=')||(ch=='>=')||(ch=='<=')||ch=='<'||ch=='>') { syn=4; token[0]=ch; token[1]='\0'; return 0; }
else if(ch>='0'&&ch<='9') { sum=0; while(ch>='0' && ch<='9') { sum=sum*10+ch-'0';
ch=prog[p++]; } p--; syn=3; }
else if(ch==';' ||ch=='('||ch==')') syn=5;
else if(ch=='#') syn=0; return 0; }
int main() {p=0;
cout<<"\t\t\t\t 词法分析\n请输入源程序: \n"; do {cin>>ch;
prog[p++]=ch; }while(ch!='#'); q=p; p=0; do { scaner(); switch(syn) { case 3: cout<<"(3,"<<sum<<")\n";break; case -1: cout<<"error!"; break; case 4: cout<<"(4,"<<ch<<")"<<endl;break; case 5:cout<<"(5,"<<ch<<")\n";break; case 0:cout<<"(0,#)"<<endl;break;
default: cout<<"("<<syn<<","<<token<<")\n"; }
}while (syn!=0); return 0; }
五、实验过程原始记录(数据、图表、计算等)
程序运行截图:
六、实验结果、分析和结论(误差分析与数据处理、成果总结等。其中,绘制曲线图时必须用计算纸)
这次实验的内容是词法分析程序,词法分析的任务是就是依次扫视输入串中的各个字符,并从中识别出一系列具有独立意义的基本语法单位——单词,它是整个编译工作的基础。
通过实验,我对词法分析有了更进一步的认识和了解,在实验中还遇到了许多问题,通过不断地解决遇到的问题,我们的能力也得到了提高。
正在阅读:
编译原理实验报告 词法分析06-11
某某市商务局上半年工作总结及2021下半年工作打算08-03
临安之旅作文400字07-02
幼儿园小班卫生保健工作计划优秀3篇04-03
初中数学沪科版八年级下册19.2 第2课时 平行四边形的对角线的性04-26
2021年汽车应用与维修专业社会实践报告05-21
实验室基础11-02
防治家暴论文07-01
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 词法
- 编译
- 原理
- 实验
- 报告
- 分析
- 浅析成都零售企业的供应链管理
- 《案例分析》全真模拟题
- 小型软件公司如何建立自己的组织结构
- 工程热力学的概念
- 人们破坏环境事例
- 文化传媒公司管理制度汇编
- 2015年1月时事政治
- 数据结构与算法大作业
- 人教版小学语文课后生字汇总表(带拼音)
- 某厂工业循环冷却水补充水处理的工艺设计 环境工程设计基础
- 立体几何第二讲球体精讲(教师版)
- 【全国市级联考首发】河南省洛阳市2015-2016学年高一上学期期末考试化学试题(word版无答案)
- 中学学生评教总结
- 浅谈公路路基施工质量控制
- 乌司他丁对重症中暑患者血管内皮细胞损伤的影响
- 宜昌市2013-2014年六年级小学数学毕业调研考试模拟试题
- 苏州高铁新城介绍
- wq型无堵塞潜水排污泵
- 2013注册安全工程师-案例通关秘籍(个人手工整理)
- 美国Kirkpatrick培训评价模型与我国工商系统干部培训绩效评估