编译原理上机实习c语言小子集编译程序的实现报告,编译原理上机实习指导书(2015-11修改).pdf...
《编译原理上机实习》指导书
一、上机实习目的
理解编译程序的构造原理,掌握编译程序的构造方法与技术。通过实习,使学生既加深对
编译原理基础理论的理解,又提高动手能力,特别是提高软件设计能力。
二、上机实习要求
在理解编译原理基本思想的基础上,选择一个自己熟悉的程序设计语言,完成编译程序的
设计和实现过程。
编译程序的设计可以采用自顶向下和自底向上两种不同的方法。由于许多高级语言(如
PASCAL,C)中的语法成分都是递归定义的,所以 本实验要求学生采用递归下降分析技术 ,这是
一种自顶向下的的编译方法, 其基本思想是对语言的每个 (或若干个)语法成分编制一个处理子
程序, 从处理 这个语法成分的子程序开始, 在分析过程中调用一系列过程或函数, 对源程
序进行语法和语义分析,直到整个源程序处理完毕为止。
本上机实习是为 C 语言 ( 子集 ) 设计一个编译程序,完成词法分析、语法分析、语义分析等
功能,并生成某种机器上的目标代码 ( 汇编语言 ) 或中间代码 ( 四元式 ) 。
三 、上机实习步骤
1.阅读《上机实习指导书》 。
2 .根据设计要求写算法, 画程序框图
3 .根据框图编写编译程序
4 .输入编译程序并上机调试
5 .撰写上机实习报告
四、上机实习内容
1、题目 :C语言小子集编译程序的实现
2 、C 语言小子集的文法规则:
:: =main (){< 分程序 >}
< 分程序 >::=< 变量说明部分 >;
< 变量说明部分 >::=< 变量说明 >
::=int
::=< 标识符表 >,
::=< 标识符 >
< 标识符 >::=< 字母 >
::=< 标识符 >
::=< 标识符 >
< 语句部分 >::=< 语句部分 >; |< 语句 >
:: =|< 条件语句 >|< 循环语句 >|
::=< 标识符 >=
< 条件 >::=< 表达式 >
< 表达式 >::=< 项 >|< 表达式 >
::=< 因子 >|< 项 >
:: =|< 常量 >|(< 表达式 >)
:: =
::=< 数字序列 >
::=< 数字序列 >
::=< 数字 >
:: =+|-
::=*| /
:: =|!=|>=|<=|==
::={< 语句部分 >}
:: =|< 复合语句 >
::=if ()else< 语句 1>
::=while ()do
::=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
::=0|1|2|3|4|5|6|7|8|9
3、实现功能 :
(1)词法分析
扫描源程序,根据词法规则,识别单词,填写相应的表。
(2)语法分析
对源程序作语法分析,确定是否属于 C 语言小子集,同时揭示出程序的内在结
构。
(3)语法错误检查
编译原理上机实习c语言小子集编译程序的实现报告,编译原理上机实习指导书(2015-11修改).pdf...相关推荐
- 编译原理上机实习c语言小子集编译程序的实现报告,合肥工业大学编译原理实验报告(完整代码版)...
<合肥工业大学编译原理实验报告(完整代码版)>由会员分享,可在线阅读,更多相关<合肥工业大学编译原理实验报告(完整代码版)(58页珍藏版)>请在人人文库网上搜索. 1.计算机与 ...
- c语言小子集,C语言小子集的词法分析程序
<C语言小子集的词法分析程序>由会员分享,可在线阅读,更多相关<C语言小子集的词法分析程序(10页珍藏版)>请在人人文库网上搜索. 1.沈阳航空航天大学上 机 实 验 报 告实 ...
- 微型计算机原理实验指导书,微机原理实验实验指导书2015.pdf
微机原理实验实验指导书2015 微型计算机原理与应用 实验指导书 上 海 大 学 通 信 学 院 2015 年 3 月 实验一 8051 单片机简单编程与调试 一.实验目的 通过简单小程序的输入和调试 ...
- c语言设计匀速直线运动,C语言课程设计指导书2015版(试用版)201506.doc
C语言课程设计指导书2015版(试用版)201506精选 C语言课程设计 指导书 信息技术教学与实验中心 2015-04 目 录 第1章 C语言课程设计基本要求-------------- 1 §1. ...
- c语言函数与编译预处理教学视频,C语言课程第6章 函数及编译预处理.ppt
C语言课程第6章 函数及编译预处理 6.1模块化程序设计与函数 在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题. ...
- c语言程序设计书实验电子版,C语言程序设计实验指导书(学生用书)-修订版.pdf
C语言程序设计 实验指导书 (试用版) 华中科技大学计算机学院 2004年3月 编写说明 C语言程序设计的上机实验是进一步深刻了解C语言的语法.语义,掌握用 C语言进行初步程序设计所需要的方法和技能的 ...
- C语言中单引号 39 97 39,C語言程序设计实验指导书.doc
C語言程序设计实验指导书 C语言程序设计 实验指导书 ? ? ? ? ? ? ? 计算机学院计算机科学教研室 武汉科技大学 2005年 ? ? 实验一 Turbo C编译环境的使用 [实验目的] 1. ...
- c语言 运行经过八个翻译阶段,GitHub - BUAA-SE-Compiling/miniplc0-handbook: miniplc0 指导书...
miniplc0 实验指导书 1. 概述 本指导书为 miniplc0 指导书. 由于本指导书还只是一个 beta 版本,因此很可能存在一些错误,如果你发现本书中有以下问题 逻辑性/知识性错误 表意模 ...
- 三极管工作原理_「硬见小百科」半导体三极管的工作原理
PNP型半导体三极管和NPN型半导体三极管的基本工作原理完全一样,下面以NPN型半导体三极管为例来说明其内部的电流传输过程,进而介绍它的工作原理.半导体三极管常用的连接电路如图15-3(a)所示.半导 ...
最新文章
- Python持续点火,跟进还是观望?
- 手把手教你写移动端瀑布流控件布局篇
- 在函数调用中,星号运算符是什么意思? [重复]
- 我的WCF之旅(12):使用MSMQ进行Reliable Messaging(转载)
- 【收藏】Zeppelin与Linkis、Scriptis的实践对比
- 记录程序人生2020.8.11
- 包r语言_R语言入门之寻找你的R包
- Ubuntu 安装和使用 jupyter 出现的问题总结
- Tomcat 项目代码上线步骤详解
- 【连载】如何掌握openGauss数据库核心技术?秘诀三:拿捏存储技术(6)
- 【Flink】Flink 写入 AnalyticDB MySQL
- docker执行容器内的shell_为什么不建议把数据库部署在docker容器内?
- 微信公众平台开发教程(二) 基本原理及消息接口
- 佳能Canon PIXMA MG3020 打印机驱动
- jQuery源码解析(30)
- 2015 年度新增开源软件排名 TOP100
- 解析错误:解析软件包时出现问题
- 什么样的耳机戴着舒服些、最好用的的几款骨传导蓝牙耳机推荐
- 网站被攻击了怎么处理
- 从DLL生成LIB文件