编译原理_实验一_熟悉BNF定义_20min_100415.ppt_第1页
编译原理_实验一_熟悉BNF定义_20min_100415.ppt_第2页
编译原理_实验一_熟悉BNF定义_20min_100415.ppt_第3页
编译原理_实验一_熟悉BNF定义_20min_100415.ppt_第4页
编译原理_实验一_熟悉BNF定义_20min_100415.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 湖南科技学院计算机与通信工程系吕兰兰讲师lanlanxyz 编译原理 2 编译原理 课程实验安排 实验一手工编写词法分析器实验二熟悉BNF定义实验三编写递归分析程序实验四编写预测分析程序实验五自动生成词法分析器实验六自动生成语法分析器 3 编译程序的功能 4 一 SP语言的BNF定义 5 一 SP语言的BNF定义 续 READ WRITE LET GOTO GOTOIF 6 一 SP语言的BNF定义 续 E T T T T T T F F F F F F E num id 7 一 SP语言的BNF定义 续 X Y Z 0 1 2 3 4 5 6 7 8 9 8 二 用SP语言编写程序 READX READY READZ X0 X Y Z WRITEX0 READX READY READZ LETX0 X Y Z WRITEX0 例输入3个整数 输出它们的和 9 分析 为什么X Y Z不是合法的表达式 表达式的文法如下 E T T T T TT F F F F FF E num id推导目标 X Y Z 结论 X Y Z 是SP语言中合法的表达式 可以通过加括号的方式进行多次加法运算 E T T F id X F E T T F id Y F id Z 10 二 用SP语言编写程序 续 READX READY READZ X0 X Y Z WRITEX0 READX READY READZ LETX0 X Y Z WRITEX0 WRITEX Y Z 例1输入3个整数 输出它们的和 11 推广 输入10个整数 输出它们的和 READX0 READX1 READX2 READX5 READX6 READX7 WRITEX0 X1 X2 X3 X4 X5 X6 X7 X8 X9 READX3 READX4 READX8 READX9 12 推广 输入100个整数 输出它们的和 用C语言编写的程序 用SP语言编写的程序 intsum 0 for inti 0 i 100 i scanf d sum x printf d sum 100 LETZ 0 LETY 0 READX LETZ Z X LETY Y 1 GOTOIFY 100 GOTO WRITEZ 200 200 100 13 练习 输入两个整数 输出其中的大者 READX READY GOTOIF WRITEY WRITEX READX READY LETZ Y 100 100 GOTO 200 GOTOIFX Y 100 GOTO LETZ X 100 WRITEZ 200 200 200 X Y X Y 14 三 实验内容及要求 1 编写两个语法正确的SP源程序要求 在这两个源程序中 用到SP语言的所有语法构造 即你编写的两个源程序加在一起覆盖了SP语言提供的语句 表达式 变量 数值等各种构造 1 输入10个数 输出其中的最大值 最小值 2 Fibonaci数列各项为1 1 2 3 5 8 13 21 求第40项 15 三 实验内容及要求 续 2 编写两个含有词法或语法错误的SP源程序要求 在这两个源程序中 既包含一些词法错误 例如 不合法的标识符 不合法的常量等 也包含一些语法错误 例如 括号不匹配 表达式缺少运算符 表达式缺少操作数 命令缺少关键字等 1 先输出1至100内的奇数 然后输出其中的偶数 2 输入一个整数 计算其各位的和 直到结果为一位数 16 四 应提交的实验结果 1 两个语法正确的SP源程序test01 sp和test02 sp 2 两个含有词法或语法错误的SP源程序error01 sp和error02 sp 3 自述文件Readme txt 给出你的姓名 学号 电子邮件 联络电话 以及其它补充说明 4 实验报告 手写或打印均可 17 五 实验结果的提交 1 提交时间 下周四 2010 04 22 2 提交方式 1 实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论