全球旧事资料 分类
学年第学期《编译原理》实验报告
学院系计算机科学与工程学院
班级11303070A
学号
姓名无名氏
指导教师保密式
时间2016年7月
f目录
1实验目的1
2实验内容及要求1
3实验方案设计1
31编译系统原理介绍1
311编译程序介绍2
312对所写编译程序的源语言的描述2
32词法分析程序的设计3
33语法分析程序设计4
34语义分析和中间代码生成程序的设计4
4结果及测试分析4
41软件运行环境及限制4
42测试数据说明5
43运行结果及功能说明5
5总结及心得体会7
f1实验目的
根据Sample语言或者自定义的某种语言设计该语言的编译前端。包括词法分析语法分析、语义分析及中间代码生成部分。
2实验内容及要求
1词法分析器
输入源程序输出对应的toke
表符号表和词法错误信息。按规则拼单词并转换成二元形式滤掉空白符跳过注释、换行符及一些无用的符号进行行列计数用于指出出错的行列号并复制出错部分列表打印源程序发现并定位词法错误
2语法分析器
输入toke
串通过语法分析寻找其中的语法错误。要求能实现Sample语言或自定义语言中几种最常见的、基本的语法单位的分析算术表达式、布尔表达式、赋值语句、if语句、for语句、while语句、dowhile语句等。
3语义分析和中间代码生成
输入toke
串进行语义分析修改符号表寻找其中的语义错误并生
成中间代码。要求能实现Sample语言或自定义语言中几种最常见的、基本的语法单位的分析算术表达式、布尔表达式、赋值语句、if语句、for语句、while语句、dowhile语句等。
实验要求功能相对完善有输入、输出描述有测试数据并介绍不足。
3实验方案设计
31编译系统原理介绍
编译器逐行扫描高级语言程序源程序编译的过程如下
1词法分析
识别关键字、字面量、标识符变量名、数据名、运算符、注释行给人看的一般不处理、特殊符号续行、语句结束、数组等六类符号分别归类等待处理。
2语法分析
一个语句看作一串记号Toke
流由语法分析器进行处理。按照语言的文法检查判定是否是合乎语法的句子。如果是合法句子就以内部格式保存否则报错。直至检查完整个程序。
3语义分析
语义分析器对各句子的语法做检查运算符两边类型是否相兼容该做哪些类型转换例如实数向整数赋值要
好听全球资料 返回顶部