云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理实验报告一 简单样本语言的词法分析器

编译原理实验报告一 简单样本语言的词法分析器

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 8:23:58

理工大学信息工程与自动化学院学生实验报告

( 2012 —2013学年 第 一 学期 )

课程名称: 开课实验室: 2012 年 12 月 03 日 年级、专业、班 实验项目名称 教师评语 该同学是否了解实验原理: 该同学的实验能力: A.了解□ A.强 □ B.基本了解□ C.不了解□ B.中等 □ C.差 □ B.基本达到□ C.未达到□ 学号 姓名 指导教师 成绩 简单样本语言的词法分析器 该同学的实验是否达到要求: A.达到□ 实验报告是否规: A.规□ A.详细□ B.基本规□ C.不规□ B.一般 □ C.没有 □ 实验过程是否详细记录: 教师签名: 年 月 日 一、 实验目的及容

编译技术是理论与实践并重的课程,而其实验课要综合运用所学的多门课程的容,用来完成一

个小型编译程序。从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。

调试并完成一个词法分析程序,加深对词法分析原理的理解。

二、实验原理及基本技术路线图(框原理图或程序流程图) 1、 待分析的简单语言的词法

(1) 关键字:

begin if then while do end 所有关键字都是小写。 (2) 运算符和界符:

:= + – * / < <= <> > >= = ; ( ) #

专业资料

(3) 其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:

ID=letter(letter| digit)* NUM=digit digit *

(4) 空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、

界符和关键字,词法分析阶段通常被忽略。

2、

各种单词符号对应的种别码

单词符号 begin if then while do end 种别码 1 2 3 4 5 6 10 单词符号 : := > <> <= < >= 种别码 17 18 20 21 22 23 24 letter(letter| digit)* digit digit * * / + -

11 13 14 15 16 = ; ( ) # 25 26 27 28 0 3、

词法分析程序的功能

输入:所给文法的源程序字符串。

输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码;

token为存放的单词自身字符串; sum为整型常数。

二、

所用仪器、材料(设备名称、型号、规格等或使用软件)

专业资料

1台PC以及VISUAL C++6.0软件。 三、

实验法、步骤(或:程序代码或操作过程)

(1)程序代码:

#include #include #include char prog[80],token[8]; char ch;

int syn,p,m=0,n,row,sum=0;

char *rwtab[6]={\

void scaner() {

for(n=0;n<8;n++) token[n]=NULL; ch=prog[p++]; while(ch==' ') { }

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) {

m=0;

while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { }

token[m++]='\\0'; p--; syn=10;

for(n=0;n<6;n++)

token[m++]=ch; ch=prog[p++]; ch=prog[p]; p++;

专业资料

}

if(strcmp(token,rwtab[n])==0) { }

syn=n+1; break;

else if((ch>='0'&&ch<='9')) { }

else switch(ch) {

{ } p--; syn=11; if(sum>32767)

syn=-1; sum=0;

while((ch>='0'&&ch<='9')) { }

sum=sum*10+ch-'0'; ch=prog[p++];

case'<':m=0;token[m++]=ch;

ch=prog[p++]; if(ch=='>') { }

else if(ch=='=') {

syn=22; syn=21;

token[m++]=ch;

专业资料

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

理工大学信息工程与自动化学院学生实验报告 ( 2012 —2013学年 第 一 学期 ) 课程名称: 开课实验室: 2012 年 12 月 03 日 年级、专业、班 实验项目名称 教师评语 该同学是否了解实验原理: 该同学的实验能力: A.了解□ A.强 □ B.基本了解□ C.不了解□ B.中等 □ C.差 □ B.基本达到□ C.未达到□ 学号 姓名 指导教师 成绩 简单样本语言的词法分析器 该同学的实验是否达到要求: A.达到□ 实验报告是否规: A.规□ A.详细□ B.基本规□ C.不规□ B.一般 □ C.没有 □ 实验过程是否详细记录:

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com