2023年简单的词法分析实验报告 词法分析器实验报告实用
报告材料主要是向上级汇报工作,其表达方式以叙述、说明为主,在语言运用上要突出陈述性,把事情交代清楚,充分显示内容的真实和材料的客观。大家想知道怎么样才能写一篇比较优质的报告吗?以下是我为大家搜集的报告范文,仅供参考,一起来看看吧
简单的词法分析实验报告 词法分析器实验报告篇一
二、实验要求 1、要求能识别整数、自定义标识符及以下关键字:
+-* / < <= ==!= > >= & && || =()[ ] { } :;, void int float char if else while do!main 2、自己任意书写一小段包含上述部分关键字的 c 语言代码,编写词法分析程序分析所写的代码,可以用任何语言实现,输出程序中所有关键字、整数、自定义标识符对应的二元式。
3、关键字、自定义标识符、整数的类号自己确定,要求将确定的类号以表格的形式书写在纸质实验报告上。
4、要求输出的格式是:假设float的类号是28,则识别float的输出结果是(float,28);对于整数与自定义标识符,假设标识符的类号是 1,则识别标识符的输出结果是(标识符名称 , 1),同时将该标识符放入一张符号表。
5、实例如下:
三、
提示 1、程序代码提交给课代表。2、纸质实验报告内容:实验内容、自己写的待扫描的 c 语言源程序,类号分配表,所实现代码的核心代码,词法分析结果。
实验指导 一、实验涉及的数据结构与变量 1、关键字列表
struct{ char symbol[30];int classid;}keywordtable[33];用于存放实验要求的 33 个关键字,可以在定义该结构数组时直接初始化,给每个关键字分配唯一的类号。
2、符号表 struct{ char name[20];int type;}symtable[100];用于存放源程序中的自定义标识符与整数(不考虑浮点数),其中整数的类号与自定义标识符的类号自行确定,但是不能与关键字的类号相同。
3、二元式列表 struct{ char sign[20];int classid;}eryuanshi[100];用于存放所有识别的二元式,包含关键字、整数、自定义标识符。
4、几个变量 int key_count=33;//关键字的个数 int sym_count;//符号表计数器 int eryuanshi_count;//二元式计数器 二、实验涉及的函数 1、void lookup(char *p)【功能说明】首先在关键字列表 keywordtable 中查询字符串 p,若存在就将该字符串及对应的类号插入二元式列表 eryuanshi;若没有,在符号表 symtable中查询,如果 symtable 中不存在 p 就将 p 插入,这里要分 p 是标识符还是整数区别对待,设置不同的 type 值。
2、void wordanalysis()【功能说明】读入待分析的源代码并进行词法分析,适当的时候调用 lookup函数查造各种数据表。
(实验一)
vfp实验一
必修一实验
数字信号实验一
网络实验一