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

当前位置:首页 > 编译原理词法分析实验报告

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 22:24:01

词法分析实验报告

学院:计算机科学与技术 班级:软件工程1203班 学号:1 2 0 8 0 1 0 3 0 3 姓名: 王 青 枝

词法分析实验报告

一、 题目 词法分析

二、实验目的

1) 加深对词法分析器的工作过程的理解; 2) 加强对词法分析方法的掌握;

3) 能够采用一种编程语言实现简单的词法分析程序;

4) 能够使用自己编写的分析程序对简单的程序段进行词法分析。

二、 单词 保留字 运算符 界符(表格)

1) 编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。 2) 依次输出各个单词的内部单词种别及单词符号自身值。 3) 单词的文法表示:<常量定义>::=<标识符>=<无符号整数>; <标识符>::=<字母>={<字母>|<数字>}; <加法运算符>::=+|- <乘法运算符>::=*|/

<关系运算符>::==|#|<|<=|>|>= <字母>::=a|b|…|X|Y|Z <数字>::=0|1|2|…|8|9 4) 要求:

保留字: 单词种别码为1。

包括if、int、for、while、do、return、break、continue; 标识符: 单词种别码为2。

常 数: 单词种别码为3。(常数为无符号整形数) 运算符: 单词种别码为4。

包括+、-、*、/、=、>、<、>=、<=、!= ; 分隔符: 单词种别码为5。 包括,、;、{、}、(、);

四、实验要求

1.实验环境要求 在C或C++运行环境中执行 2. 对单词的构词规则有明确的定义;

3. 编写的分析程序能够正确识别源程序中的单词符号; 4. 识别出的单词以<种别码,值>的形式保存在符号表中;

5. 对于源程序中的词法错误,能够做出简单的错误处理,给出简单的错误提示, 保证顺利完成整个源程序的词法分析;

五、词法分析总体架构 大的流程图

在词法分析中,先以只读方式读取一个文件,自文件头开始扫描文本,滤去开头的空格、回车符、换行符等!读取的字符送入缓冲区。扫描第一个字符,看匹配的类型,并进行相应的类型分析,满足判断类型时,输出其种别码和值。判断时要注意保留字和识别符之间的不同,单目运算符和双目运算符之间的不同。因此可用指针进行处理。还必须熟悉字符串函数的使用。并要对非法字符作出错误提示。文本扫描结束要判断词法分析是否成功。最后是关闭文件,释放指针。 其中:

⑴常量、变量、数据结构的定义:

本程序中用keyword数组来定义保留字if、int、for、while、do、return、

break、continue;用yunsuan数组来定义运算符+、-、*、/、=、> 、<、>=、<=、!=;用fenge数组来定义分隔符包括:,、;、{、}、(、)

1- 表示保留字 2-表示标识符 3-表示常数 4-表示运算符 5-表示分隔符 Output是输出函数。 ⑵函数使用: 字符函数:

?int isalpha(int ch)

若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 ?int isalnum(int ch)

若ch是字母('A'-'Z','a'-'z')或数字('0'-'9')返回非0值,否则返回0 ?int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 字符串函数:

?strcmp(const char *s1,const char *s2) 比较字符串s1与s2的大小,并返回s1-s2 ?strchr(const char *string, int c)

函数就是在字符串中搜索指定字符。第一个形参就是要搜索的字符串,第二个是被搜索的字符。如果找到了该字符就返回该字符第一次出现的内存地址。如果没有找到就返回NULL(也就是0)。

?fseek(文件类型指针,位移量,起始点);

起始点指文件开头处,文件当前位置,文件尾,分别用0,1,2来表示 ④ fwrite()

搜索更多关于: 编译原理词法分析实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

词法分析实验报告 学院:计算机科学与技术 班级:软件工程1203班 学号:1 2 0 8 0 1 0 3 0 3 姓名: 王 青 枝 词法分析实验报告 一、 题目 词法分析 二、实验目的 1) 加深对词法分析器的工作过程的理解; 2) 加强对词法分析方法的掌握; 3) 能够采用一种编程语言实现简单的词法分析程序; 4) 能够使用自己编写的分析程序对简单的程序段进行词法分析。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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