没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
19页
实验一 词法分析设计 用 VC++/VB/JAVA 语言实现对 C 语言子集的源程序进行词法分析。通过输入源程序从左到右对字符串进行扫描和分解,依次输出各个单词的内部编码及单词符号自身值;若遇到错误则显示“Error”,然后跳过错误部分继续显示 ;同时进行标识符登记符号表的管理。 以下是实现词法分析设计的主要工作: (1)从源程序文件中读入字符。 (2)统计行数和列数用于错误单词的定位。 (3)删除空格类字符, 实验二 LL(1)分析法 (1)根据某一文法编制调试 LL ( 1 )分析程序, 以便对任意输入的符号串 进行分析。 (2)构造预测分析表,并利用分析表和一个栈来实现对上述程序设计语言的分 析程序。 (3)分析法的功能是利用 LL(1)控制程序根据显示栈栈顶内容、向前看符号 以及 LL(1)分析表,对输入符号串自上而下的分析过程。 实验三 LR(1)分析法 对下列文法,用 LR(1)分析法对任意输入的符号串进行分析: (1) E-> E+T (2) E->T (3) T-> T*F (4) T->F (5) F-> (E) (6) F-> i
资源推荐
资源详情
资源评论
编译原理实验报告
(实验一、二、三)
专 业 班 级
计算机科学与技术
学生姓名及学号
任 课 教 师
李宏芒老师
实 验 指 导 教 师
李宏芒老师
实 验 地 点
计算机中心
2021 ~2022 学年第二学期
实验一 词法分析设计
一、实验目的
通过本实验的编程实践,使学生了解词法分析的任务,掌握词法分析程序设
计的原理和构造方法,使学生对编译的基本概念、原理和方法有完整的和清楚的
理解,并能正确地、熟练地运用。
二、功能描述
用 VC++/VB/JAVA 语言实现对 C 语言子集的源程序进行词法分析。通过
输入源程序从左到右对字符串进行扫描和分解,依次输出各个单词的内部编码及
单词符号自身值;若遇到错误则显示“Error”,然后跳过错误部分继续显示 ;同
时进行标识符登记符号表的管理。
以下是实现词法分析设计的主要工作:
(1)从源程序文件中读入字符。
(2)统计行数和列数用于错误单词的定位。
(3)删除空格类字符,包括回车、制表符空格。
(4)按拼写单词,并用(内码,属性)二元式表示。
(5)如果发现错误则报告出错。
(6)根据需要是否填写标识符表供以后各阶段使用。
三、程序结构描述
算法设计流程如下:
状态转移图如下图所示:
四、详细的算法描述
1. 主要函数及其功能:
函数名
参数类型
返回类型
功能
isDigtal
char
bool
判断读入字符是否为数字(
0~9
)
isLetter
char
bool
判断读入字符是否为小写字母(
a~z
)
isEnter
char
bool
判断读入字符是否为换行符(
\n
)
isKey
string
bool
判断字符串是否为关键字
isSeparate
char
bool
判断字符是否为分界符
isOperation
char
bool
判断字符是否为运算符
剩余18页未读,继续阅读
资源评论
工大老张
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功