1 / 6
文档名称:

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

格式:doc   大小:110KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:luciferios04 2017/10/10 文件大小:110 KB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:编译原理实验报告
年级学号姓名成绩
专业实验地点指导教师
实验项目C_minus语言词法分析器的设计实验日期
概述
词法分析程序完成打的是编译第一阶段的工作,它的主要任务是从左至右逐个字符的对源程序进行扫描,产生一个个单词序列,用以语法分析。本程序是独立的一遍,把字符流的源程序变为单词序列,输出在一个中间文件上,这个文件作为语法分析程序的输入而继续编译过程。
正文
词法分析需解决的首要问题是如何正确的获得一个单词,并判断它的类型,本程序设定了三种单词类型,分别为:关键字、标识符、常数、运算符和界符,其中,对标识符和常数的判断,用DFA图,其余的直接定义成常量。下面逐一介绍:
1、关键字(keyword):else if int return void while共6个,所有的关键字都是保留字,并且必须是小写。
在程序中的定义为:
#define KEYWORD_ELSE 1
#define KEYWORD_IF 2
#define KEYWORD_INT 3
#define KEYWORD_RETURN 4
#define KEYWORD_VOID 5
#define KEYWORD_WHILE 6
string strKey[6] = {"else","if","int","return","void","while"};
2、标识符(Identifier):识别与C语言词法规定相一致的标识符,通过下列正则表达式定义:ID =letter (letter | digit)*;所对应的DFA图如下:
相应的表示其类型的定义为:
#define IDENTIFIER 10
对应的判断代码为:
bool Identifier(char ch[], int state)
{
switch(state)
{
case 0:
if (isalpha(ch[0]))
return Identifier(ch+1,1);
else
return false;
case 1:
if (isalpha(ch[0]) || isdigit(ch[0]))
return Identifier(ch+1,1);
if (ch[0] == '\0')
return true;
else
return false;
}
}
3、常数(constant):NUM=(+ | - |ε)digit digit*(.digit digit* |ε)(e(+ | - |ε) digit digit* |ε),letter = a|..|z|A|..|Z|,digit = 0|..|9,包括整数,如123, -123, +123等;小数,, +, -;科学计数法表示的常数,如+,--9;对应的DFA图如下:
相应的表示其类型的定义:
#define CONSTANT_INTEGER 20 // 整数
#define CONSTANT_DECIMAL 21 // 小数
#define CONSTANT_SCIENTIFIC 22// 科学计数
对应的判断代码为:
int Constant(char ch[], int

最近更新

安徽省芜湖市事业单位招聘考试(职业能力倾向.. 148页

安徽省马鞍山市事业单位招聘考试(职业能力倾.. 148页

安徽省黄山市事业单位招聘考试(职业能力倾向.. 150页

山东淄博市2024年市属事业单位公开招聘工作人.. 60页

山东省枣庄市事业单位招聘考试(职业能力倾向.. 149页

山东省泰安市事业单位招聘考试(职业能力倾向.. 149页

山东省济南市事业单位招聘考试(职业能力倾向.. 148页

山东省济宁市事业单位招聘考试(职业能力倾向.. 147页

山东省烟台市事业单位招聘考试(职业能力倾向.. 148页

山东省烟台市事业单位招聘考试(职业能力倾向.. 149页

山东青岛2024年国土资源和房屋管理局所属事业.. 60页

广东四会市应急机动中心2024事业单位招聘28人.. 59页

广东省云浮市选调生考试(行政职业能力测验).. 147页

广东省文化厅直属事业单位2024年公开招聘历年.. 60页

广东省深圳市选调生考试(行政职业能力测验).. 147页

广东省选调生考试(行政职业能力测验)综合能.. 148页

广西地方税务局2024年招聘直属事业单位工作人.. 57页

广西百色《决策参考》编辑部2024事业单位招聘.. 57页

广西百色隆林各族自治县2024事业单位招聘拟聘.. 60页

广西省钦州市选调生考试(行政职业能力测验).. 147页

昭觉县人力资源和社会保障局2024年公开招聘事.. 59页

枝江市2024年公开招聘教育卫生事业单位工作人.. 59页

江苏2024年南通市港闸区事业单位招聘历年高频.. 59页

江苏省农业科学院2024年科研人员公开招聘历年.. 59页

江苏省南通市事业单位招聘考试(职业能力倾向.. 147页

蓝奏云软件库合集软件资料 1页

传承壮族文化心得体会 5页

艺人经纪人合同范本 22页

智能传感器与传感器系统 111页

浅谈薄煤层开采技术现状与发展趋势 6页