PowerPoint 演示文稿

Size: px
Start display at page:

Download "PowerPoint 演示文稿"

Transcription

1 编译原理课程实验方案的设计与实施 中国科学技术大学 计算机科学与技术学院 张昱陈意云 第二届全国高等学校计算机实验与实践教学研讨会 2009 年 7 月 25 日威海 山东大学威海分校 张昱陈意云 中国科学技术大学

2 提纲 国内外编译原理实验简述 实验方案综述 部分实验支持库的设计思路 实验方案的特点 实验方案的实践及经验教训 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 2

3 国内外编译原理实验简述 (1) 国内情况 清华大学 北京大学 北京航空航天大学设立单独的编译原理实践课程 北京航空航天大学 : 5 种难度级别的 20 多种文法, 学生选择级别, 系统确定要实现的文法, 抽查答辩 一部分学校 : PL/0 及其扩展 熟悉编译器自动生成工具的使用 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 3

4 国内外编译原理实验简述 (2) 国内情况 中国科学技术大学 1984~1993: 实现扩展 PL/0 语言到扩展 PL/0 抽象机的编译器 实现扩展 PL/0 抽象机的解释器数组类型和函数类型 1994~2001: 单独的实践课布尔类型 exit/break 语句和布尔表达式短路计算 2002~2006 : 本科学制五年改成四年, 单独的实践课被取消, 仅开展熟悉 Lex 和 Yacc 的课程小实验 2007~ : 以 源语言 - 抽象语法树 - 低级中间表示 - 汇编代码的内部表示 -x86/mips 汇编 为主线, 每个学生完成编译器的前端 ( 后端 ), 自行选择合作伙伴, 分组逐个答辩 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 4

5 国内外编译原理实验简述 (3) 国外情况 几所美国名校 (Stanford, UC Berkeley, UCLA, Cornell) 普遍要求 : 实现一个小型面向对象程序设计语言的编译器 ; 与理论课程同步展开 ; 分成多个课程设计, 最终完成一个完整的编译器 ; 理论课教学知识面宽 ; 实验分值占总分值的比例高 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 5

6 国内外编译原理实验简述 (4) 国外情况 Cornell: CS 412/413 Introduction to Compilers 词法分析 语法和语义分析 代码生成 数据流分析 演示. 4 个书面作业 20%+ 实验 45%+ 2 次测验 35% UCLA: CS 132 Compiler Construction LL(1) 分析器 ->MiniJava 的类型检查 -> Piglet ->Spiglet- >Kanga->MIPS 期中考试 15%+ 期末考试 30%+ 实验 55% 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 6

7 国内外编译原理实验简述 (5) 国外情况 UC Berkeley: CS164 Programming Languages and Compilers Python 子集的词法分析和语法分析 静态分析 代码生成. 6 个书面作业 +3 个实验 + 期中考试 + 期末考试 Stanford: CS143 Compilers 词法分析 语法分析 语义分析 代码生成 4 个书面作业 4 个实验 70%+ 期末考试 30% 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 7

8 提纲 国内外编译原理实验简述 实验方案综述 部分实验支持库的设计思路 实验方案的特点 实验方案的实践及经验教训 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 8

9 实验方案的综述 实验方案设计的指导思想 实验方案的主线与组成要素 实验开发环境与工具 实验软件包 课程设计内容 实验方案的实施建议 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 9

10 计算机科学与技术学科的本科教学目标 计算机科学与技术学科的毕业生除了要掌握该学科的各个知识领域的基本知识和技术之外, 还必须具有较扎实的数学功底, 掌握科学的研究方法, 熟悉计算机如何得以实际应用, 并具有有效的沟通技能和良好的团队工作能力 中国计算机科学与技术教程 2002(CCC2002) 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 10

11 专业实践及其意义 专业实践的形式 课程实验 实习 毕业设计 竞赛 专业实践的意义 激发学生的学习兴趣 巩固和消化课堂知识 提高实践技能 培养创新能力 增强交流能力 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 11

12 存在问题 毕业生在就业中暴露出的一些问题 动手能力较差 分析问题 解决问题能力较薄弱 岗前技术培训 : 其中有些是学校可以做而没有做的 岗前工程意识 质量意识和团队精神的教育 : 学校也可以逐步培养的 课程实验中存在的问题 各课程的课程实验各自独立 内容陈旧 覆盖面窄 综合性不高 难度低 规模小 不注重对学生工程 质量 团队等意识的培养 学生数增加, 检查力度和深度不够 学生对课程实验的热情未调动起来, 拷贝风气增长 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 12

13 专业实践改革 指导思想 首先抓课程实验改革, 课程实验要整体规划 像讨论教学计划那样来讨论技术水平的培养 : 语言 工具 平台的覆盖范围和相互之间的衔接 其覆盖程度依赖于 制度的保证 学科机构的资源 教职人员的利益 软件类的课程实验 学生至少参与完成一个有一定规模的软件项目的设计与开发, 涉及对多门课程所学原理的综合运用 遵循由小到大 循序渐进的原则 整体规划课程实践涉及的语言 工具和环境 注意培养工程意识 质量意识和团队意识 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 13

14 专业实践改革 软件类的课程实验 低年级的课程实验 ( 如 C 语言 数据结构 ) 以巩固课程知识的小实验为主 训练学生基本的程序设计技能 高年级的课程实验 ( 如编译原理 操作系统等 ) 以综合运用的课程设计为主 训练学生软件工程的能力 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 14

15 编译原理课程实验方案设计的指导思想 定位 : 综合运用的课程设计 ( 通过合作 ) 为某个语言设计开发一个可运行的编译器 为适应不同学校的要求或者适应不同学生的个性化学习, 布局多个小型课程设计 不同学校可结合本校教学目标和学生情况选择合适的课程设计作为学生的课程实验内容 学生可以结合自己的实际情况进行选择, 不同难度系数的课程设计的得分不一样 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 15

16 实验方案的综述 实验方案设计的指导思想 实验方案的主线与组成要素 实验开发环境与工具 实验软件包 课程设计内容 实验方案的实施建议 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 16

17 实验方案的主线 以 源语言 - 抽象语法树 - 低级中间表示 - 汇编代码的内部表示 - x86/mips 汇编 为主线搭建的 基于组件的编译原理实验体系 源语言程序 分析器 高级中间表示 (AST) 解释器 变换器 (AST2LIR) 检查器正确? 低级中间表示 ( 如三地址码 ) 变换器 (IR 优化器 /IR 之间的转换器 ) 寄存器分配器 代码生成器 汇编代码的内部表示 汇编代码 ( 如 x86, MIPS) 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 17

18 实验方案的组成要素 (1) 要实现的源语言 SimpleMiniJOOL 语言 单函数的无类型结构化语言, 变量默认为整型, if/while/continue/break 通过实现该语言的一个简单的解释器, 打开编译实验的大门 SkipOOMiniJOOL 语言 多函数的强类型 ( 整型 布尔型 字符串型以及元素类型为这三者之一的一维数组类型 ) 结构化语言 用于展开各种编译器组件的骨干实验, 帮助学生理解 消化和掌握编译原理实验 MiniJOOL 语言 强类型的面向对象语言 用于展开有关面向对象编译的高级实验, 帮助学生了解现代面向对象编程语言的一些编译技术和方法 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 18

19 实验方案的组成要素 (2) 目标机的选择 x86 IA32: CISC 从面向目标程序的角度来增强指令功能 从面向高级语言和编译程序以及 OS 的优化实现的角度改进指令系统 指令系统复杂, 各种指令使用频率相差悬殊 在普通 PC 机上, 利用 GCC 将 x86 汇编码编译连接成可执行文件 MIPS: RISC 选取使用频率最高的指令, 并补充一些最有用的指令 每条指令的功能应尽可能简单, 并在一个机器周期内完成 所有指令长度均相等, 只有 load 和 store 指令才访问存储器 SPIM 模拟器上执行, 或在龙芯机上利用 GCC 将 MIPS 汇编码编译连接成可执行文件 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 19

20 实验方案的组成要素 (3) 中间表示通过中间表示, 可以将一个完整的编译器或解释器分解成若干规模适度 接口清晰的编译器组件便于设计和实现支撑课程实验的软件库和实验运行平台便于规划各个课程设计并提供实验的框架代码 高级中间表示 能清楚地反映源程序的语法结构 Eclipse JDT 中的 AST-JLS3( 无符号表, 有声明结构 ) 低级中间表示 旨在降低汇编代码生成的难度, 便于开展优化 提供一种以三地址码为基础的低级中间表示及其实现 LIR 提供统一的中间表示访问接口, 用户可以自行实现它, 扩展新的中间表示实现 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 20

21 实验方案的组成要素 (4) 面向对象特征的编译 分析器 :MiniJOOL 程序 具有面向对象特征的 AST AST2LIR: AST 不具有面向对象特征的三地址码可以与 SkipOOMiniJOOL 共用基于 LIR 三地址码的代码优化器和代码生成器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 21

22 实验方案的组成要素 (5) 汇编代码的内部表示 汇编程序中的语句有伪指令 标号语句 指令 不同汇编语言在具体的伪指令 指令的种类和编码上存在差异 不同汇编语言在语句格式上存在一些共性之处开发一套统一的汇编代码内部表示库 AIR 其中, 对于依赖于具体汇编语言的部分, 主要通过编写汇编语言特征配置文件 利用配置文件自动生成程序 动态加载汇编语言特征得到运行时数据等手段来实现 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 22

23 实验方案的组成要素 (6) 编译器组件类别 分析器 : 源程序 中间表示 如 : 语法分析器 带语义检查的分析器 解释器 : 中间表示 输出执行结果 检查器 : 中间表示 true/false 如 : 语义分析器 变换器 : 中间表示 中间表示 如 :AST 到 LIR 的转换器 LIR 优化器 代码生成器 : 中间表示 输出目标代码 ( 汇编代码 ) 到指定文件 如 :x86 汇编代码生成器 MIPS 汇编代码生成器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 23

24 实验方案的组成要素 (7) 实验开发环境与工具 支持课程实验的实验软件包 实验教材的配套光盘 实验支持库 课程设计开发包 实施方案 以上内容在后面依次介绍 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 24

25 编译器实现框架 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 25

26 实验方案的综述 实验方案设计的指导思想 实验方案的主线与组成要素 实验开发环境与工具 实验软件包 课程设计内容 实验方案的实施建议 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 26

27 实验开发环境与工具 编译器开发所使用的语言 :Java Java SDK 1.5 (J2SE 5.0) 以上 Eclipse IDE Eclipse JDT 中的 AST, 简称 Eclipse AST 分析器的生成工具 词法分析器的生成工具 :JFlex LALR 分析器的生成工具 :CUP LL(k) 分析器的生成工具 :Java CC 目标机 x86 汇编代码 :PC 机 -GCC(MinGW), GDB MIPS 汇编代码 : PC 机 - SPIM 模拟器, 龙芯机 -GCC 编译工具 :ant 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 27

28 Eclipse AST 需要的类库文件 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 28

29 实验环境的软件配置示例 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 29

30 实验软件配置 安装 jdk ant eclipse gcc(mingw) SPIM 假设 ant 安装在 D:\IDE\apache-ant 假设 jdk 安装在 D:\IDE\Java\jdk1.5.0 环境变量 设置 ANT_HOME 为 D:\IDE\apache-ant 设置 JAVA_HOME 为 D:\IDE\Java\jdk1.5.0 将 jdk ant gcc spim 可执行文件的存放路径加到环境变量 PATH 中 关于环境变量设置参见 编译原理实验教程 节 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 30

31 演示 1: 用 ant 编译 运行 Java 程序 编译原理实验教程 节 Ant 的更多使用参见 XML 与 ant 简介 示例代码 : 配套光盘 test/skipoominijool/java bin: build.xml 用于编译 运行 Java 程序, compile.bat 编译 Java 程序 src: 一些 Java 源程序 在命令控制台下进入 bin 目录, 执行 ant build 将创建 classes 目录, 并将编译得到的 class 文件置于其中 执行 ant 运行指定的 Java 程序 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 31

32 实验方案的综述 实验方案设计的指导思想 实验方案的主线与组成要素 实验开发环境与工具 实验软件包 课程设计内容 实验方案的实施建议 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 32

33 实验支持库 以类库文件的形式提供 : 实验运行平台 : 提供平台接口以及编译器运行控制 以三地址码为基础的低级中间表示 LIR 及优化库 汇编代码的内部表示 AIR 可用的编译器组件 实用工具 :AST 的图形化显示 中间表示访问类 编译器错误管理包 LIR 上的寄存器分配器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 33

34 课程设计开发包 (1) 入门级实验 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 34

35 课程设计开发包 (2) 基础级实验 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 35

36 课程设计开发包 (3) 提高级实验 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 36

37 课程设计开发包 (4) 学生自主选择 开发和推销某类编译器组件, 并自主选择使用其他学生的组件进行装配, 从而得到一个完整的编译器 参见第 10 章 综合级实验独立开发局部 合作开发整体自主推销 整体评测 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 37

38 课程设计开发包 (5) 课程设计开发包各子目录的内容 为课程设计提供框架程序以及支持快速编译运行程序的批命令等 bin 目录 : 存放 ant 编译文件和批处理文件等 config 目录 : 存放各种配置文件 lib 目录 : 存放课程设计要用到的类库文件, 仅 lab2 和 lab4 目录包含该子目录 src 目录 : 存放 Java 源程序 test 目录 : 存放测试程序 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 38

39 配套光盘的内容 README: 光盘的说明文件 manual.pdf: 实验软件包的简要用户手册 student 目录 : 存放学生开展实验所需的实验支持库和课程设计开发包等 lab 目录 : 存放各章课程设计的开发包 lib 目录 : 存放各个实验支持库 config 目录 : 存放一些配置文件 词法和文法规范描述文件 src 目录 : 存放一些自动生成出来的 Java 源程序 submit 目录 : 可作为存放各个学生实验提交内容的根目录 tools 目录 : 存放 JFlex CUP JavaCC 的类库文件 doc 目录 : 存放实验支持库等的应用编程接口文档 test 目录 : 存放各种测试程序 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 39

40 实验支持库的构成 (lib 目录 ) 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 40/35

41 实验软件包涉及的配置文件 (config 目录 ) 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 41/35

42 学生实验提交物目录结构组织示例 在 submit 目录中给出一个示例, 即 demo 子目录 bin 目录 : 存放 ant 编译文件和批处理文件等 config 目录 : 存放各种配置文件 lib 目录 : 存放自己开发的以及所使用的由其他学生开发的编译器组件的类库文件, 类库文件的命名方式可以是 学号 _ 组件名.jar doc 目录 : 存放接口说明文档 设计实现文档以及进度计划与执行情况说明文档 src 目录 : 存放自己的 Java 源程序 test 目录 : 存放测试程序 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 42

43 实验方案的综述 实验方案设计的指导思想 实验方案的主线与组成要素 实验开发环境与工具 实验软件包 课程设计内容 实验方案的实施建议 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 43

44 编译原理实验教程 书目 1. 概述 - Eclipse, Ant, XML 2. 一个简单的程序解释器 -lab1,platform,ast,visitor 3. 词法分析 -lab2, JFlex 4. 语法分析 -lab3, CUP, JavaCC, Util 错误管理 5. 语义分析 -lab4, 符号表 6. 中间表示的转换 -lab5, LIR 7. 汇编语言及汇编代码的内部表示 -AIR 8. 汇编代码的生成 -lab6(x86), lab7(mips) 9. 面向对象语言的编译 -lab8 MiniJOOL-I,II,III,MiniJOOL 10. 综合性课程设计 - 自行建立工程 与理论课程教学同步的若干个循序渐进的课程设计 可独立开课的综合性课程设计 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 44

45 要实现的源语言的描述 2.1 SimpleMiniJOOL 语言 - 非形式描述附录 4 SimpleMiniJOOL 语言语法的 EBNF 表示 - 二义的 3.2 MiniJOOL 语言的词法 - 非形式描述附录 1 MiniJOOL 语言的词法记号类型及标识 4.1 SkipOOMiniJOOL 语言的语法 - 非形式描述 5.1 SkipOOMiniJOOL 语言的静态语义 - 非形式 / 形式描述附录 5 SkipOOMiniJOOL 语言语法的 EBNF 表示 - 二义的 9.1 MiniJOOL 语言特征 - 非形式描述 -MiniJOOL-I 类 对象 单一继承, 无重载 重写 / 隐藏 -MiniJOOL-II 类的析构器及 delete 语句 -MiniJOOL-III 域隐藏, 方法的重载 重写 / 隐藏 -MiniJOOL 多态附录 6 MiniJOOL 语言语法的 EBNF 表示 - 二义的 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 45

46 示例使用的源语言及其描述 Block 语言的词法 - 非形式描述 SimpleBlock 语言 - 非形式描述 示例 2:Block 语言的语法分析器 1. Block 语言的语法 - 非形式描述 Block 语言的语义特征 - 非形式描述 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 46

47 循序渐进的课程设计 (1) Ch2 一个简单的程序解释器 - 入门级实验 课程设计 1 一个简单的程序解释器 SimpleMiniJOOL Ch3 词法分析 课程设计 2-1 用 JFlex 为 MiniJOOL 语言构造一个词法分析器示例识别由英文字母组成的单词和由数字组成的整数 课程设计 2-2 手工编写一个简单的词法分析器示例识别十进制整数和加号 课程设计 2-3 编写一个非确定有限自动机 (NFA) 的生成器 课程设计 2-4 编写一个词法分析器的生成器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 47

48 循序渐进的课程设计 (2) Ch4 语法分析 课程设计 3-1 手工编写一个分析合法 SimpleBlock 程序的语法分析器 课程设计 3-2 用 CUP 生成一个能分析合法程序的语法分析器 示例 1 SimpleBlock 语言的语法分析器 示例 2 Block 语言的语法分析器 课程设计 3-3 用 JavaCC 生成一个语法分析器示例 Block 语言及其子语言的分析器 课程设计 3-4 用 CUP 生成一个有错误处理能力的语法分析器示例 SimpleBlock 语言的有错误处理能力的分析器 课程设计 3-5 用 JavaCC 生成一个有错误处理能力的语法分析器示例 SimpleBlock 语言的有错误处理能力的分析器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 48

49 循序渐进的课程设计 (3) Ch5 语义分析 课程设计 4-1 为源程序对应的 AST 构造符号表示例为 Block 程序对应的 AST 构造符号表 课程设计 4-2 利用 AST 及其符号表信息开展语义检查示例利用 Block 程序对应的 AST 及其符号表信息开展语义检查 课程设计 4-3 对源程序关联的 AST 进行语义检查示例对 Block 程序对应的 AST 进行语义检查 课程设计 4-4 在语法分析的同时构造符号表示例带符号表构造的 Block 语言分析器 课程设计 4-5 在语法分析的同时开展语义检查示例带语义检查的 Block 语言分析器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 49

50 循序渐进的课程设计 (4) Ch6 中间表示的转换 课程设计 5-1 SkipOOMiniJOOL 语言的 AST 到 LIR 的转换器 类型信息的收集 全局变量的声明和访问 局部变量的声明与访问 方法声明 参数传递 返回值的传递 其他语句和表达式的处理 课程设计 5-2 自行设计和实现一种中间表示 课程设计 5-3 AST 到自行设计的中间表示的转换 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 50

51 循序渐进的课程设计 (5) Ch8 汇编代码生成 课程设计 6-1 利用现有的寄存器分配器由 LIR 生成 x86 汇编代码 课程设计 7-1 利用现有的寄存器分配器由 LIR 生成 MIPS 汇编代码 课程设计 6-2 实现寄存器分配并应用于 LIR 到 x86 汇编代码的生成器中 课程设计 7-2 实现寄存器分配并应用于 LIR 到 MIPS 汇编代码的生成器中 课程设计 6-3 AST 到 x86 汇编代码的生成 课程设计 7-3 AST 到 MIPS 汇编代码的生成 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 51

52 提高级课程设计 Ch9 面向对象语言的编译 课程设计 8-1 构造 MiniJOOL 语言的词法语法分析器 课程设计 8-2 构造 MiniJOOL 语言的语义检查器 课程设计 8-3 构造 MiniJOOL-I 语言的 AST 到 LIR 的转换器类变量的创建和初始化 实例变量的创建和初始化以及访问方法的定义和调用 课程设计 8-4 构造 MiniJOOL-II 语言的 AST 到 LIR 的转换器对析构器声明的处理 delete 语句的处理 课程设计 8-5 构造 MiniJOOL-III 语言的 AST 到 LIR 的转换器方法的重载 域隐藏 方法隐藏与方法重写 课程设计 8-6 构造 MiniJOOL 语言的 AST 到 LIR 的转换器虚方法表的建立 动态绑定 运行时类型判断 课程设计 8-7 构造 MiniJOOL 语言的 LIR 到汇编代码的生成器类变量和方法的签名 虚方法表的表示 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 52

53 综合级课程设计 (1) 选做组件 选做组件 1 源语言程序的分析器 选做组件 2 基于 AST 的解释器 选做组件 3 基于 LIR 的解释器 选做组件 4 AST 到 LIR 的转换器 选做组件 5 基于 LIR 的 x86 汇编代码生成器 选做组件 6 基于 LIR 的 MIPS 汇编代码生成器 选做组件 7 基于 AST 的 x86 汇编代码生成器 选做组件 8 基于 AST 的 MIPS 汇编代码生成器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 53

54 综合级课程设计 (2) 各编译器组件的组合方式 组合方式 1 选做组件 1+ 选做组件 2 组合方式 2 选做组件 1+ 选做组件 7+GCC 组合方式 3 选做组件 1+ 选做组件 8+SPIM 组合方式 4 选做组件 1+ 选做组件 4+ 选做组件 3 组合方式 5 选做组件 1+ 选做组件 4+ 选做组件 5+ GCC 组合方式 6 选做组件 1+ 选做组件 4+ 选做组件 6+ SPIM 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 54

55 综合级课程设计 (3) 课程设计实施方式 第 1~2 周, 教师根据本校实际情况明确课程实验目标, 制订具体的综合性课程设计内容 第 3 周, 教师布置综合性课程设计内容以及时间节点 第 3~5 周, 教师指导和要求学生开展本书第 2 章的课程设计, 旨在熟悉实验环境 AST 及其访问者模式 第 6~7 周, 答疑并介绍源语言的词法 语法和语义特点, 以及可利用的相关编译器组件和其他工具包 第 6~10 周, 学生自行消化理解, 确定拟实现的编译器组件, 并进行初步设计, 将问题反馈给教师 第 11 周左右, 学生提交选做的组件以及初步设计, 教师公布学生选做组件的分布情况 ( 注意平衡性 ) 并答疑 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 55

56 综合级课程设计 (4) 课程设计实施方式 第 11~12 周左右, 学生细化组件设计, 并反馈问题 第 13 周左右, 教师根据学生提问, 集中答疑与指导 第 13~15 周左右, 学生独立开发编译器组件 第 14 周左右, 教师发布测试程序以及整体评测环境 第 15 周左右, 学生课程设计的第二次提交, 主要提交设计文档 已开发的源代码和库等 第 15~17 周左右, 学生自行推销和选择组件, 进行编译器的整体测试和修改, 其间, 教师可以让学生每周提交一次当前的实验结果 ( 包括设计文档 已开发的源代码 库 测试程序等 ), 旨在督促学生, 了解学生实验状况, 并根据实际决定是否安排答疑和指导 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 56

57 综合级课程设计 (5) 课程设计实施方式 第 18 周, 教师规定最后的提交截止时间以及提交内容, 确定考评方案并通知 学生按要求在规定的截止时间之前提交最后版本 学生在规定的时间和地点参加课程设计答辩与考评 教师需要事先准备好网络提交环境, 制订提交细则, 然后通知学生 学生需要按教师的规定来组织每次提交的提交物 学生必须在提交的根目录下安放一个 readme.txt 或者是 readme.doc, 说明当前的进展状况 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 57

58 综合级课程设计 (6) 考评方法 学生分成若干组, 每组约 10 人 各组用一个上午 下午或晚上的时间进行现场测试 答辩和公开评分 评委 : 教师 研究生助教 同组的所有同学 教师主导测试过程, 学生自己动手按老师要求操作, 并用投影机当众显示测试过程 老师和同学均可以提问, 学生需当众回答 所提问题主要围绕完成的设计和编程, 以及测试中暴露出的设计或编程错误等展开 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 58

59 综合级课程设计 (7) 评分依据 工程的规范性 编译器的正确性 错误定位与恢复能力 所生成的目标代码质量 回答问题时所表现出的对本课程设计所涉及知识的掌握程度 对自己设计和编码的前端 ( 后端 ) 的熟悉程度 操作的熟练程度 提交物的完整性 条理性及其中反映的分析和设计的思想 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 59

60 综合级课程设计 (8) 评分方法 每个评委当场给该组的全部同学排名次 由助教根据所有有效排名表, 给出最终的排名 由老师根据本组的情况确定本组的最高分和最低分, 并依据排名, 主要按等间隔确定每个同学的分数 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 60

61 综合级课程设计 (9) 其他评分细则 如被老师 助教和过半数同学认为所提交的不是自己的课程设计成果时, 为 0 分 ; 未按时提交也是 0 分 ; 独自完成整个编译器, 分组评定成绩后降 10 分 ; 当前后端人数比例严重失调, 则抬高少数人一端分数 若所开发的前端 ( 或后端 ) 被多个同学 ( 开发的合作伙伴除外 ) 采用, 则在分组评分的基础上加分, 加分原则是 : 每增加两个采用者加 1 分 课程设计和平时作业合计不超过 50 分 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 61

62 实验方案的综述 实验方案设计的指导思想 实验方案的主线与组成要素 实验开发环境与工具 实验软件包 课程设计内容 实验方案的实施建议 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 62

63 测试环境 在课程实验初期规定评测时所使用的软件版本 避免因软件版本不一致而出现学生提交的软件包无法支持工作, 或因不熟悉评测环境而影响评测的进度和效果 事先明确测试环境的工作目录必须按配套光盘中的 student 目录结构进行组织 减少学生在评测时修改各种路径设置的工作量 评测时统一使用配套光盘 student 目录中的 lib 和 tools 子目录下的相关类库 避免因学生使用的类库不存在或与评测提供的类库相冲突 学生依据相对路径来使用各种类库或测试文件 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 63

64 课程设计提交要求 尽早明确学生的课程设计提交内容, 学生须按规定的目录结构组织提交内容, 然后将它们打包成一个文件进行电子提交 培养学生的工程质量意识 教师要反复督促和检查, 才能让学生真正养成按规范办事的习惯 实践证明, 多数学生需要被督促 其他的一些提交要求 不得提交生成的 class 文件 限制提交文件的大小, 不要包含配套光盘中提供的类库等 源程序中应该加有注释 学会用 jar 命令只把自己编写的组件的相关类文件打包成类库文件, 放到提交目录的 lib 子目录下 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 64

65 过程管理与控制 督促学生尽早动手实践 : 边阅读 边实践 边思考 边消化理解 教师要结合所在学校以及学生的实际情况, 尽早选择若干课程设计布置给学生 教师在布置实验任务时要尽可能详尽, 学生也要及时反馈对任务描述的疑问 制定多时间节点和多次提交的过程管理与控制机制 对学生每次提交的内容要及时检查, 并及时通报检查结果 对于无进展或进展不好的同学, 要给以警示 ; 对于进展优秀的同学, 要给以表扬 建立日常的多种答疑和解惑机制, 如 bbs 集中讲解 公布定期的答疑时间和地点等 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 65

66 提纲 国内外编译原理实验简述 实验方案综述 部分实验支持库的设计思路 实验方案的特点 实验方案的实践及经验教训 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 66

67 部分实验支持库的设计思路 实验运行平台 中间表示的图形化输出 编译器的错误管理 低级中间表示 汇编代码的内部表示 寄存器分配器 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 67

68 实验运行平台的组成和目的 实验平台接口 : 提供各类编译器组件及组件间信息访问的接口 实验运行平台 : 能将若干个编译器组件连接装配成一个完整的编译器或解释器或它们的前端, 并控制它们的执行 平台配置文件或命令行参数 根据配置加载 运行各编译器组件 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 68

69 实验平台接口 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 69

70 中间表示访问接口 接口定义 :public interface InterRepresent 需要实现的方法 public Object getir( ) public void setir(object ir) public void showir( ) public SymTable getsymtable() public void setsymtable(symtable symtable) 说明 : 旨在封装某种中间表示的实例及符号表实例, 对外提供统一的访问接口 两种实现类 高级中间表示访问类 edu.ustc.cs.compile.util.ir.hirpack 以 Eclipse AST 为中间表示, 无符号表信息 低级中间表示访问类 edu.ustc.cs.compile.util.ir.lirpack 以实验软件包中的 edu.ustc.cs.compile.lir.lir 为中间表示, 无符号表信息 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 70

71 分析器接口 接口定义 :public interface ParserInterface 需要实现的方法 public InterRepresent doparse(file src) throws ParserException 说明 : src: 待分析的源程序文件 返回 : 一个中间表示访问接口实例 若分析器在分析中发现源程序有错, 并且该错误影响编译器后续部分的正确运行时, 就需要抛出 ParserException 异常 实验运行平台捕获到这个异常后, 会终止运行 适用于本接口的编译器组件 : AST 构造器 语法分析器 带语义检查的语法分析器等 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 71

72 解释器接口 接口定义 :public interface InterpreterInterface 需要实现的方法 public void interpret(interrepresent ir) throws InterpreterException 说明 : ir: 待解释执行的源程序对应的中间表示访问实例若解释器在执行时发现程序有错, 并且该错误影响编译器后续部分的正确运行时, 就需要抛出 InterpreterException 异常 实验运行平台捕获到这个异常后, 会终止运行 适用于本接口的编译器组件 : AST 解释器 LIR 解释器 其他中间表示上的解释器等 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 72

73 检查器接口 接口定义 :public interface CheckerInterface 需要实现的方法 public boolean check(interrepresent ir) throws CheckerException 说明 : ir: 待检查的源程序的中间表示访问实例 返回 : 若检查器认为程序语义正确, 则返回 true, 否则为 false 若检查器在执行时发现程序有错, 并且该错误影响编译器后续部分的正确运行时, 就需要抛出 CheckerException 异常 实验运行平台捕获到这个异常后, 会终止运行 适用于本接口的编译器组件 : AST 的语义检查器 其他中间表示上的检查器等 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 73

74 变换器接口 接口定义 :public interface TransformerInterface 需要实现的方法 public InterRepresent transform(interrepresent ir) throws TransformerException 说明 : ir: 待变换的程序的中间表示访问实例 返回 : 变换后的中间表示访问实例 若变换器在执行时发现程序有错, 并且该错误影响编译器后续部分的正确运行时, 就需要抛出 TransformerException 异常 实验运行平台捕获到这个异常后, 会终止运行 适用于本接口的编译器组件 : AST 到 LIR 的转换器 AST 或 LIR 上的各种优化变换器 其他中间表示上的优化变换器 中间表示之间的转换器等 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 74

75 代码生成器接口 接口定义 :public interface GeneratorInterface 需要实现的方法 public void generate(file cfgfile, File outfile, InterRepresent ir) throws GeneratorException 说明 : cfgfile: 目标语言的特征配置文件 outfile: 生成的目标程序的输出文件 ir: 待进行代码生成的程序的中间表示访问实例 若生成器在执行时发现程序有错, 并且该错误影响编译器后续部分的正确运行时, 就需要抛出 GeneratorException 异常 实验运行平台捕获到这个异常后, 会终止运行 适用于本接口的编译器组件 : 由某种中间表示到 x86 或 MIPS 汇编代码的生成器等 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 75

76 实验运行平台的工作机制 参数处理器 平台配置文件 实验运行平台控制器 参数设置分析器处理器解释器处理器检查器处理器变换器处理器 命令行参数分析器解释器检查器变换器 1 变换器 2 源程序 IR true? IR1 IR2 生成器处理器 变换器 n IRn 张昱陈意云 结束 中国科学技术大学 执行命令 编译原理课程实验方案设计与实施 生成器 GCC/SPIM 汇编程序 可执行程序 76

77 实验运行平台的使用 使用简介 java 命令行 java classpath <classpath> edu.ustc.cs.compile.platform.main [options] [source-file] 批命令脚本 在课程设计开发包的 bin 目录下提供 run.bat 或 run.sh./run.sh [options] [source-file] Linux/Unix 平台 run.bat [options] [source-file] Windows 平台 <classpath> 指定本次执行所依赖的除 JRE(Java Runtime Environment) 提供的类库之外的类库文件或 class 文件的位置, 包括实验运行平台类库文件 所涉及的编译器组件的类库文件或 class 文件的位置等 [options] 指定实验运行平台的各种参数 [source-file] 指定待编译的源程序文件的位置 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 77

78 实验运行平台的命令行参数 (1) --help( 或 -h): 输出帮助信息 --cfg-file <file>( 或 -cf <file>): 指定平台配置文件的位置 --debug( 或 -d): 打开调试模式 --parser-class <classname>( 或 -P <classname>): 指定分析器的全称类名 --disp-ir=[yes no]( 或 -di=[yes no]): 指定是否显示分析器 变换器执行后所得到的中间表示, 默认设为 no --do-interp=[yes no]( 或 -i=[yes no]): 指定是否调用解释器, 默认设为 no --interp-class <classname>( 或 -I <classname>): 指定解释器的全称类名, 缺省类名为 edu.ustc.cs.compile.interpreter.interpreter, 该选项在 -- do-interp=yes( 或 -i=yes) 时生效 --do-check=[yes no]( 或 -c=[yes no]): 指定是否调用检查器 默认设为 no 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 78

79 实验运行平台的命令行参数 (2) --checker-class <classname>( 或 -C <classname>): 指定检查器的全称类名, 默认类名为 edu.ustc.cs.compile.checker.skipoominijool.checker 该选项在 --do-check=yes( 或 -c=yes) 时生效 --do-trans =[yes no]( 或 -t=[yes no]): 指定是否调用变换器 默认设为 no --trans-classes <classname list>( 或 -T <classname list>): 指定待执行的一组变换器的全称类名, 各个类名之间以冒号来分隔 该参数在 --do-trans =yes( 或 -t=yes) 时生效, 默认为 edu.ustc.cs.compile.ast2lir.skipoominijool.ast2lir --do-gen=[yes no]( 或 -g=[yes no]): 指定是否调用代码生成器, 默认设为 yes --gen-class <classname>( 或 -G <classname>): 指定你的代码生成器的全称类名, 默认类名为 edu.ustc.cs.compile.generator.generator 该选项在 --do-gen=yes( 或 -g=yes) 时生效 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 79

80 实验运行平台的命令行参数 (3) --asmcfg-file <file>( 或 -af <file>): 指定目标语言特征配置文件的位置, 默认为空串 该选项在 --do-gen=yes( 或 - g=yes) 时生效 用 --arch=[x86 mips] 或 -a=[x86 mips]: 指定生成的汇编代码是 Intel x86 架构上的还是 MIPS R2000/R3000 架构上的 默认为 x86 -S <file>: 指定汇编代码文件名 file, 汇编代码生成器将把生成的汇编代码输出到该文件中 <file> 默认为 a.s 该选项在 --dogen=yes( 或 -g=yes) 时生效 --exec=[yes no]( 或 -e=[yes no]): 指定是否运行生成的汇编代码 如果生成的是 x86 架构上的汇编代码, 实验运行平台会先调用 gcc 将汇编代码编译成可执行文件, 然后再执行 如果生成的是 MIPS 架构上的汇编代码, 实验运行平台会调用 spim 执行这些汇编代码 该选项默认设为 yes, 并且在 --do-gen =yes( 或 -g=yes) 时生效 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 80

81 实验运行平台的命令行参数 (4) --gcc-path <path> 或 -gcc <path>: 指定你的系统中 gcc 的绝对路径 该选项默认为 /usr/bin/gcc, 并且在 --do-gen=yes( 或 -g=yes) 且 --arch=x86( 或 -a=x86) 时生效 -o <file>: 指定可执行文件名 file, 实验运行平台将调用 gcc 对生成的汇编代码编译链接得到可执行代码, 并将其输出到所指定的文件中 可执行文件名默认设为 a.out 该选项在 --dogen=yes( 或 -g=yes) 且 --arch=x86( 或 -a=x86) 时生效 --spim-path <path> 或 -spim <path>: 指定你的系统中 spim 的绝对路径 该选项默认为 /usr/local/bin/spim, 它在 --dogen=yes( 或 -g=yes) 且 --arch= mips( 或 -a= mips) 时生效 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 81

82 实验平台配置文件 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 82

83 部分实验支持库的设计思路 实验运行平台 中间表示的图形化输出 编译器的错误管理 低级中间表示 汇编代码的内部表示 寄存器分配器 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 83

84 中间表示的图形化显示 AST 节点的属性显示区 AST 结构显示区 AST 节点对应的源代码显示区 AST 节点对应的低级中间表示显示区 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 84

85 Eclips AST 简介 参见 编译原理实验教程 2.4 Eclipse 帮助页面 : 窗口左边的目录 JDT Plug-in Developer Guide Reference API Reference org.eclipse.jdt.core.dom 相关的类 ASTNode 类及其派生类 : 描述各种 AST 节点的类, 每个 AST 节点表示 Java 源程序中的一个语法结构 AST 类 : 创建 AST 节点的工厂类, 类中包含许多创建各类 AST 节点的工厂方法 ASTVisitor 类 :AST 的访问者抽象类, 类中声明了一组访问各类 AST 节点的 visit( ) 方法 endvisit( ) 方法 previsit( ) 方法和 postvisit( ) 方法 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 85

86 演示 2:Eclipse, 实验运行平台和 AST 编译原理实验教程 ~2.7 示例代码 : 配套光盘 student/lab/lab1 Eclipse 的使用 按 节的 3(5) 建立工程 修改 src/edu/ustc/cs/compile/interpreter/main.java, 注释 57~65 行 读 src/edu/ustc/cs/compile/interpreter/testcase.java 尝试自己写一个创建 AST 的方法 在命令控制台的使用 或 修改 config/lab1-*.xml, 将 dointerp 的值改为 false 在命令控制台下进入 bin 目录, 执行 run..\config\lab1-testcase.xml run..\config\lab1-parser.xml 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 86

87 AST 的图形化显示 软件包 在 edu.ustc.cs.compile.util.astview 包中 使用 core.astviewer AST 的图形化显示器 core.astviewpropertyitem 一条输出属性 core.astviewpropertydump 输出属性的定制基类 plugin.genericpropertydump 默认的输出属性定制类 ASTViewer astviewer = new ASTViewer(root, null); // 创建 ASTViewer 实例,root 为 AST 的根,null 表示用默认定制类实例处理节点的属性显示 astviewer.show(); // 启动对 AST 树的图形化显示 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 87

88 AST 的图形化显示 AST 节点输出属性的定制 自行编写一个类, 它由类 ASTViewPropertyDump 或 GenericPropertyDump 派生 该类中根据需要重写部分或全部的 dump( ) 方法 public List dump(t node) 返回一个元素类型为 ASTViewPropertyItem 的序列 参见 编译原理实验教程 2.5 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 88

89 部分实验支持库的设计思路 实验运行平台 中间表示的图形化输出 编译器的错误管理 低级中间表示 汇编代码的内部表示 寄存器分配器 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 89

90 错误类型与错误信息管理 编译原理实验教程 节 目的 便于管理各类错误, 统一每类错误的错误输出信息 组成 错误类型配置文件示例 : 配套光盘 student/config/err_def.xml/xsd 应用编程接口 类 ErrorFactory 演示 3: 错误信息管理 示例代码 : 配套光盘 student/lab/lab3/config/cup/sblock_err.cup 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 90

91 部分实验支持库的设计思路 实验运行平台 中间表示的图形化输出 编译器的错误管理 低级中间表示 汇编代码的内部表示 寄存器分配器 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 91

92 低级中间表示 编译原理实验教程 6.2 节 LIR 组成 (lir.jar) 三地址代码 为支持数据的存储布局所需保存的类型信息 基本优化信息 ( 用于优化和代码生成的基础结构 ) 演示 4:AST 到 LIR 的转换 示例代码 : 配套光盘 student/lab/lab5/bin/demo.bat demo.sh student/lab/lab5/config/demo.xml 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 92

93 部分实验支持库的设计思路 实验运行平台 中间表示的图形化输出 编译器的错误管理 低级中间表示 汇编代码的内部表示 寄存器分配器 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 93

94 汇编代码的内部表示 编译原理实验教程 7.4 节 AIR 的组成 固定部分 :lib/air.jar 可变部分 汇编语言特征配置文件示例代码 : 配套光盘 student/config/air 符号编码类的代码生成示例代码 : 配套光盘 student/lib/genaircode.bat.sh 生成出的代码位于 :student/src 对生成出的代码编译打包成 student/lib/aircode.jar 运行时动态加载特征配置 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 94

95 部分实验支持库的设计思路 实验运行平台 中间表示的图形化输出 编译器的错误管理 低级中间表示 汇编代码的内部表示 寄存器分配器 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 95

96 寄存器分配器 编译原理实验教程 8.5 节 算法 线性扫描寄存器分配算法 (Linear scan register allocation, TOPLAS99) 实验支持库中的实现 :regalloc.jar edu.ustc.cs.compile.gen.regalloc.regallocator RegAllocator( ) RegAllocator(int availregnum) // 指定可用寄存器数目 RegAllocator(int[ ] availregidarray) // 指定一组可用寄存器编号 Integer getregid(int pseudoregid) Integer getoffset(int pseudoregid) 张昱陈意云 中国科学技术大学 编译原理课程实验方案设计与实施 96

97 提纲 国内外编译原理实验简述 实验方案综述 部分实验支持库的设计思路 实验方案的特点 实验方案的实践及经验教训 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 97

98 实验方案的特点 (1) 规范性 目录结构 编译运行 指导性 批处理脚本 配置文件 Eclipse IDE 工程文件 提供样例及其说明 如 : 以 SimpleBlock 和 Block 语言示意语法 语义分析的实现 提供一般性的处理规则 如 : 语法结构与汇编代码的映射规则 提供框架代码 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 98

99 实验方案的特点 (2) 整体性 每个课程设计的实验内容着眼于局部点, 但是课程设计的运行完成一个相对完整的功能, 例如一个编译器 一个分析器的生成器, 等等 灵活性 对课程设计的选择, 可根据实际情况灵活确定 与课堂教学同步进行 : 选择各个独立的课程设计 综合性课程实验 : 前端 / 后端 对编译 调试 运行方法的灵活选择 Eclipse 工程 命令控制台脚本 实验平台脚本 组件实现方法的灵活选择 编译器实现方法的灵活选择 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 99

100 实验方案的特点 (3) 开拓性 实验方案主线以及实验运行平台支持学生开展更多开拓创新型实验, 例如, 设计实现新的中间表示 与之有关的转换器 优化变换器等 语言的描述 非形式描述与形式描述相结合 让学生初步接触语言的形式描述 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 100

101 提纲 国内外编译原理实验简述 实验方案综述 部分实验支持库的设计思路 实验方案的特点 实验方案的实践及经验教训 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 101

102 实验方案的实践 (1) PB04011: 综合性实验,2007 年春 以 SkipOOMiniJOOL 语言作为要实现的源语言 对语言仅有简单的非形式描述, 一些语言特征未描述清楚 每个学生独立完成编译器的前端或后端 每个学生自行选择完成后端或前端的合作伙伴 前端要求 : 词法分析 语法分析 语义检查并生成 AST 后端要求 : 由 AST 生成 x86 汇编代码, 不要求代码优化, 但要求考虑寄存器分配等问题 提交要求 : 一个完整的编译器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 102

103 实验方案的实践 (2) PB05011: 综合性实验,2008 年春 以 SkipOOMiniJOOL 语言作为要实现的源语言 对语言有非形式的描述和程序举例 每个学生独立完成编译器的前端或后端 每个学生自行选择完成后端或前端的合作伙伴 前端要求 : 词法分析 语法分析 语义检查并生成 AST 后端要求 : 由 AST 生成 x86 汇编代码或 MIPS 汇编代码, 不要求代码优化, 但要求考虑寄存器分配等问题 提交要求 : 一个完整的编译器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 103

104 实验方案的实践 (3) PB06011: 综合性实验,2009 年春 以 SkipOOMiniJOOL 语言作为要实现的源语言 对语言有非形式的描述和程序举例 形式描述了类型系统 每个学生独立完成编译器的前端或后端 每个学生自行选择完成后端或前端的合作伙伴 提供了丰富的实验支持库和课程设计开发包 前端要求 : 词法分析 语法分析 语义检查并生成 AST 或 LIR 后端要求 : 由 AST 或 LIR 生成 x86 汇编代码或 MIPS 汇编代码, 不要求代码优化, 但要求考虑寄存器分配等问题 提交要求 : 一个完整的编译器 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 104

105 2009 年春季编译实验实践的过程管理 提交检查 5 月 15 提交系统设计书, 包括进度表和拟开发的组件 5 月 22 前经老师认可学生可调整拟开发的组件 5 月 31 提交已完成源代码和前后端接口描述 6 月 10 再次提交已完成源代码和进度报告 6 月 20 提交源文件 类库文件 测试程序 设计文档等 6 月 22 提交课程实践的收获 体会和建议 ( 发邮件给 张昱老师 ) 发布节点 6 月 13 发布测试程序 6 月 16 发布测试环境, 对最终提交文档的规定 每次提交时需要说明当前的执行进度与计划中的出入与原因, 以及对计划的调整 ( 如果有的话 )! 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 105

106 实践效果 2007 春实践反响 BBS CompilerTech 版 : (978) 07.6(+300) 学生 1( 张昊中 ) 收益 加深了对 LALR 分析的理解 ; 大概了解了一个编译器 ( 特别是前端 ) 的结构和工作流程 积累了一些做工程的经验 存在问题 对实验中要处理的语言的定义不清晰 ; 实验指导不足 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 106

107 实践效果 学生 2( 李勋浩 ) 收益 了解了编译器的基本运行方式, 以及经典程序语言运行的基本方式 一些一直以来未能理解的概念和疑问, 在自己的摸索中明朗了 在这样相对较为开放的实验环境中, 一定程度上激发了我创造的热情 实现中我会不断假想, 假如用另一种方法去实现, 会怎么样? 假如增加某种功能, 是否容易? 如果不容易, 需要加入什么样的内容? 不足之处 大三下课程较紧, 实验周期不长, 学生不易在已完成结果上扩展 实验中能够找到的非常相关的阅读材料不足, 能找到的也大多是英文的, 这对大多数学生来说是个障碍 ; 抄袭现象较严重, 这也是跟本次实验相对其它课程实验来说更难入门有关 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 107

108 实践效果 2008 春实践效果 学生 1( 徐奎 ) 总的来说, 我觉得这门实验是非常有意义, 有必要, 并且应该大力推广下去的, 让以后的同学也能有这样一次宝贵的经历 一 正面的 : 与其他课程的实验相比, 这门实验的难度和所需要投入的时间与精力都要高很多, 这是一种新的要求, 相对与一些不疼不痒的小实验, 更具有挑战性, 也能给人更多的锻炼与完成后的成就感 二 负面的 :1 有些同学借用别人的代码, 检查之前突击一下, 最后也能通过, 甚至得分还不错 相反有些同学自己花时间做了但可能做的不是太好 2 在做的中期过程中, 与其他组的同学沟通交流不够, 同时与老师和助教的交流也太少, 很多时候都是自己在摸索 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 108

109 实践效果 2008 春实践效果 学生 2( 赵增 ) 一个个人小小的建议 : 这个实验涉及的内容以及技术实在很多, 或许学校能将其作为一门课程设立, 至少, 可一多给学生上几节课程 大实验拆分成几个阶段性的小实验来提交, 可能比较有助与大家熟悉实验 2009 春实践效果 M4A3E6C8B&num= M4A538F62&num= 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 109

110 经验教训 经验 提供程序框架和文档说明 : 既有挑战性又有好的效果 以中间表示作为编译器组件间信息传递的接口 : 既控制了学生开发的规模又允许有自行设计的空间 提供 AST 图形显示并要求生成汇编码, 便于测试和考评 合作开发 自主推销和选择 整体评测, 既培养了团队精神, 又增强了质量意识 规定了统一的版本提交截止时间, 既有公平性和工程性, 又易于评测 教师主导的集体公开评分方式, 既有公平性又易评测 由学生参与评分, 既能弥补教师对学生实际情况了解的局限性, 又能调动学生的参与热情 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 110

111 经验教训 教训及改进之处 多种开发工具和环境加宽了学生的技术层面, 但导致学生不能集中精力到和编译有关的技术上来 前导软件课程实践中逐步熟悉掌握其中的部分工具, 提供对这些工具的文档说明和样例 2007,2008 对要实现的语言描述不够 =>2009 形式化语言规范 2007,2008 对提交环境目录和编写能编译运行编译器的批处理文件等要求发布太迟 增加相关的要求与指南, 平时注意对学生强调它们 2007 只有提交截止时间 => 多时间节点和多次提交的过程管理与控制 需要配备技术水平高的软件实验师, 研究生助教承担 不好这样的实验指导 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 111

112 经验教训 教训及改进之处 增加实验学时或独立开实验课, 强化指导和督促 抄袭 拷贝问题对 SkipOOMiniJOOL 的语言特征再分解, 确定并定义多种难度级别的语言, 让学生进行级别选择 ; AST 等中间表示上做限制或扩展 进一步完善优化方面的实验 丰富可以使用的编译器组件 针对学生对类库文件的反编译问题字节码的混淆调研与应用 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 112

113 谢谢! 张昱陈意云中国科学技术大学编译原理课程实验方案设计与实施 113

PowerPoint Presentation

PowerPoint Presentation 结合开源软件的 编译原理教学实践探索 张昱 中国科学技术大学计算机科学与技术学院 2017 年高等院校计算机系统类课程联合研讨会 2017.8.26 恩施 中科大的编译原理课程 计算机专业分两个级别, 同时间段授课, 学生可以选择 英才班 (30+) 从 2010 级开始 54+40 加大实验强度, 基础实验 + 扩展实验, 占总分 50% 普通班 54+40 基础实验, 实验占总分 20~30%

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D> 编译原理与技术 中国科学技术大学 计算机科学与技术学院 张昱 陈意云 0551-3603804, 3607043 yuzhang, yiyun@ustc.edu.cn cn 课程简介 课程内容 介绍编译器构造的一般原理和基本实现方法 包括的理论知识 : 形式语言和自动机理论 语法制导的定义等 课程特点 强调对编译原理和技术的宏观理解, 不把注意力引导到理论和一些枝节算法上 不偏向于任何源语言或目标机器

More information

2014 10 October 2014 + ( 沈阳理工大学环境与化学工程学院, 辽宁沈阳 110165) 沈阳理工大学环境工程专业改革人才培养模式采取的措施及取得的成效在遵循 实施工程教育, 突出工程实践和 社会实践, 提高学生的创新能力 的人才培养模式的基础上, 通过教学模式改革优化课程设置校企结合建立工程实践能力四年连 续培养体系导师负责制的科研创新能力训练体系, 培养 创新 + 工程实践

More information

Microsoft PowerPoint - ch1.ppt [兼容模式]

Microsoft PowerPoint - ch1.ppt [兼容模式] 编译原理和技术 中国科学技术大学计算机科学与技术学院张昱 0551-3603804 yuzhang@ustc.edu.cn 致谢 本系列讲稿是在陈意云教授撰写的 编译原理和技术 讲稿之上完成, 特此感谢陈老师! 课程简介 课程内容 介绍编译器构造的一般原理和基本实现方法 包括的理论知识 : 形式语言和自动机理论 语法制导的定义和属性文法 类型论与类型系统 程序分析原理, 等等 强调形式描述技术和自动生成技术

More information

PowerPoint Presentation

PowerPoint Presentation 引论 编译原理和技术 张昱 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 主要内容 1 2 编程语言及设计 编译器及形式 3 编译器的阶段 4 示例 : 程序的表示 5 基础实验的考虑 张昱 : 编译原理和技术 引论 2 主要内容 1 2 编程语言及设计 编译器及形式 3 编译器的阶段 4 示例 : 程序的表示 5 基础实验的考虑 张昱 :

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

孙 蓝等 基于目标导向的研究生英语学习模式创新

孙 蓝等 基于目标导向的研究生英语学习模式创新 第 期 总第 期 年 月 研究生教育研究 以中国科技大学研究生英语学习公共服务平台建设为例 孙 蓝 陈纪梁 邢鸿飞 刘海清 万洪英 中国科学技术大学外语系 安徽合肥 中国科学技术大学研究生院 安徽合肥 研究生英语教学的使命是培养学生在当今多元社会中进行有效沟通的能力 英语语言教育者的任务不是去寻求更好的教学法 而是要探索一套能够满足学生需求且与学生学习体验相一致的教与学的策略 为此 有必要构建研究生英语学习公共服务平台

More information

大侠素材铺

大侠素材铺 编译原理与技术 词法分析 Ⅱ 计算机科学与技术学院李诚 13/09/2018 主要内容 记号 (token) 源程序 词法分析器 getnexttoken 语法分析器 符号表 词法分析器的自动生成 正则表达式 NFA DFA 化简的 DFA 词法分析器的生成器 Lex: flex jflex Fst lexicl nlyzer genertor 2/51 Regulr Expr to NFA 正则表达式

More information

中国科学技术大学博士学位论文指针逻辑的扩展与应用姓名 : 王志芳申请学位级别 : 博士专业 : 计算机软件与理论指导教师 : 陈意云 20090401 指针逻辑的扩展与应用 作者 : 王志芳 学位授予单位

More information

考试时间课程名称级人数考试地点 机械工程 17 级卓越 1 30 D-386 机械工程 17 级卓越 2 30 D-386 自动化 17 级 1 30 D-3108 自动化 17 级 2 30 D-3108 电子信息工程 17 级 1 32 C-170 电子信息工程 17 级 2 32 C-242

考试时间课程名称级人数考试地点 机械工程 17 级卓越 1 30 D-386 机械工程 17 级卓越 2 30 D-386 自动化 17 级 1 30 D-3108 自动化 17 级 2 30 D-3108 电子信息工程 17 级 1 32 C-170 电子信息工程 17 级 2 32 C-242 考试时间课程名称级人数考试地点 纺织工程 17 级 1 26 D-282 纺织工程 17 级 2 28 D-282 纺织工程 17 级 3 29 D-284 纺织工程 17 级 4 29 D-284 纺织工程 17 级 5 28 D-286 纺织工程 17 级 6 26 D-286 高分子材料与工程 17 级 1 31 C-142 非织造材料与工程 17 级 1 24 D-2108 纺织工程 17

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

大侠素材铺

大侠素材铺 编译原理与技术 导论 计算机科学与技术学院 李诚 03/09/2018 主要内容 课程设置情况 编译器的由来与挑战 编译器的构造 2/45 课程设置 时间 : 每周一 (6,7) 四 (3,4) 地点 :3B201 课程主页 ( 课件 试题等 ): http://staff.ustc.edu.cn/~chengli7/courses/co mpiler18/ 邮件列表 : 我们会自动将大家的邮箱加入

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

教学输入与学习者的语言输出 温晓虹 本文从三个方面探讨了语言的输入与输出的关系 首先从理论研究的角度讨 论了从语言输入到语言输出的习得过程 实验研究表明 输入的语言素材必须被学习者所接收 即使接收了的内容也并不会自动进入中介语的体系 而是需要进一步对输入语言进行 分解 归类等分析性与综合性的处理 在语言 内化 的基础上 学习者的中介语系统才能 够不断地得到重新组合 趋于目的语 另外 学习者在语言输出前和输出时需要调节

More information

5 2. 过程与方法 情感 态度与价值观 三 知识结构图 四 教学内容和教学要求 课 程 教学要求 课时安排

5 2. 过程与方法 情感 态度与价值观 三 知识结构图 四 教学内容和教学要求 课 程 教学要求 课时安排 单元教学综述 一 内容概述 2 IE 5 5 10 11 12 13 14 二 教学目标 1. 知识与技能 1 2 3 4 5 2. 过程与方法 1 2 3 4 3. 情感 态度与价值观 1 2 3 三 知识结构图 四 教学内容和教学要求 课 程 教学要求 课时安排 1 10 1 2 11 1 1 2 12 1 2 3 4 1 小学信息技术第 3 册教师用书 续表 课 程 教学要求 课时安排 13

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc 在 VMWare-5.5+RedHat-9 下建立 本机 QTopia-2.1.1 虚拟平台 张大海 2008-5-9 一 资源下载 1. 需要以下安装包 : tmake-1.13.tar.gz qtopia-free-source-2.1.1.tar.gz qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz qt-x11-free-3.3.4.tar.gz

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

标题

标题 17,2015 3 (ResearchofModernBasicEducation) Vol.17,Mar.2015 (, 201114) :,,,,.,.,,. : ; ; ; ; :,. 5. 4 9,.,,,,.,.Maly,. 3,.,.,,,,.,,,,.,, :,,,. 189 17 (ResearchofModernBasicEducation) 2015 3,,. 1,,.,,.,..,,,,,.

More information

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech - OfficeCoder 1 2 3 4 1,2,3,4 xingjiarong@mail.sdu.edu.cn 1 xuchongyang@mail.sdu.edu.cn 2 sun.mc@outlook.com 3 luoyuanhang@mail.sdu.edu.cn 4 Abstract. Microsoft Word 2013 Word 2013 Office Keywords:,, HTML5,

More information

Microsoft Word zw

Microsoft Word zw 第 1 章 Android 概述 学习目标 : Android Android Android Studio Android Android APK 1.1 1. 智能手机的定义 Smartphone 2. 智能手机的发展 1973 4 3 PC IBM 1994 IBM Simon PDA PDA Zaurus OS 1996 Nokia 9000 Communicator Nokia 9000

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

Microsoft PowerPoint - 第一讲 概论.ppt

Microsoft PowerPoint - 第一讲 概论.ppt Java 游 戏 编 程 技 术 乔 少 杰 ( 博 士 ) 2009 年 下 sjqiao@home.swjtu.edu.cn 2009-9-7 西 南 交 通 大 学 信 息 科 学 与 技 术 学 院 1/32 为 什 么 开 设 本 课 程? 从 实 用 角 度 : 行 业 发 展 趋 势, 游 戏 产 业 蓬 勃 发 展 ( 网 络 游 戏, 手 机 游 戏 ) 2008 年 中 国 网

More information

2017創形パンフ表1_表4

2017創形パンフ表1_表4 2017 SCHOOL GUIDE BOOK 2017 SOKEI ACADEMY OF FINE ART & DESIGN 关于创形美术学校? 创形美术学校是培育专业艺术家的摇篮 大家知道 : 用普通的教育课程来培育专业的艺术家是件困难的事 在我们创形, 从老师到办公人员, 大家全体都是专业的艺术家 在美术界, 设计界当中取得卓越成绩的艺术家们将为大家面对面地传授心得 我们重视的并不是通过指定的教学说明书来指导大家,

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

宋守信 教授 杨书宏 教授级高工 傅 贵 教授 许开立 教授 高等工程教育专业认证委员会安全工程专业试点工作组 北京交通大学经济管理学院 北京 中国职业安全健康协会培训部 北京 中国矿业大学 北京 资源与安全工程学院 北京 东北大学资源与土木工程学院 沈阳 简要介绍我国高等工程教育专业认证试点的发展状况和主要做法 详细阐述安全工程专业认证以学生为本的指导思想和以质量保证及质量改进为出发点的基本特点

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

闖 關 組 4. 任 一 隊 員 曾 獲 得 第 一 屆 第 2 次 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 菁 英 組 前 三 名 或 歷 屆 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 挑 戰 組 前 三 名 應 報 此 組 5. 任 一

闖 關 組 4. 任 一 隊 員 曾 獲 得 第 一 屆 第 2 次 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 菁 英 組 前 三 名 或 歷 屆 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 挑 戰 組 前 三 名 應 報 此 組 5. 任 一 第 五 屆 全 國 大 專 ITSA 盃 程 式 設 計 桂 冠 挑 戰 大 賽 競 賽 須 知 一 辦 理 目 的 : 教 育 部 為 培 育 全 國 大 專 校 院 資 訊 軟 體 人 才, 特 推 動 資 通 訊 軟 體 創 新 人 才 推 升 計 畫, 並 建 置 程 式 設 計 e-tutor 服 務 平 臺 及 PTC 競 賽 練 習 平 台, 由 教 授 專 家 組 成 命 題 團 隊,

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

Microsoft Word - 201110.doc

Microsoft Word - 201110.doc 2011 年 10 月 信 徒 交 通 月 刊 目 錄 一 本 期 目 錄 編 輯 室 1 二 牧 者 的 話 教 會 轉 化 -- 得 到 更 新 皮 袋 衣 立 凡 2 三 講 章 精 華 清 潔 的 心 思 -- 除 去 論 斷 講 員 衣 立 凡 / 賴 美 如 整 理 4 清 潔 的 心 思 -- 除 去 情 慾 講 員 葉 志 偉 / 林 慶 如 整 理 9 四 精 選 文 章 等 候

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

旅游科学

旅游科学 旅 游 科 学 王春雷 会展专业人才培养模式是一个院校对于会展办学的整体设计 因而需要进行系统性的构建 但目前这方面的研究成果不多 更缺乏实证性的研究 本 文基于文献综述的发现和会展专业的特点 从理论上构建了一个项目驱动型会展 专业人才培养模式的基本框架 进而以上海师范大学会展经济与管理专业为例 侧重从教育理念 培养目标 培养过程 培养制度和培养评价等方面进行了实证研究 项目驱动型 会展专业 人才培养模式

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

Microsoft Word - CX1000-HMI_程序开发_PLC通讯 用 VB.Net 开发 CX1000 的 HMI 第二部分和 TwinCAT PLC 通讯 一 TwinCAT 动态库 TwinCAT.Ads.dll The TwinCAT.Ads.dll 是一个.NET 类库, 它提供和 ADS 设备通讯的类 如果 TwinCAT PLC 运行在 IPC 上, 则需要添加的类库是路径 \TwinCAT\ADS Api\.NET\v1.1.4322 下的 TwinCAT.Ads.dll

More information

学年第二学期临潼校区第二十周期末考试安排表 ( 四 ) 考试时间课程名称班级人数考试地点监考教师 7 月 13 日 8:00-10:00 线性代数 (A) 测控技术与仪器 16 级 1 班 31 C-142 马盈仓 7 月 13 日 8:00-10:00 线性代数 (A) 测控

学年第二学期临潼校区第二十周期末考试安排表 ( 四 ) 考试时间课程名称班级人数考试地点监考教师 7 月 13 日 8:00-10:00 线性代数 (A) 测控技术与仪器 16 级 1 班 31 C-142 马盈仓 7 月 13 日 8:00-10:00 线性代数 (A) 测控 线性代数 (A) 测控技术与仪器 16 级 1 班 31 C-142 马盈仓 线性代数 (A) 测控技术与仪器 16 级 2 班 29 C-144 线性代数 (A) 自动化 16 级 1 班 33 C-152 线性代数 (A) 自动化 16 级 2 班 31 C-154 线性代数 (A) 通信工程 16 级 1 班 32 C-242 线性代数 (A) 通信工程 16 级 2 班 32 C-244 线性代数

More information

省份 科类 本一线 出档线 人数 最高分 最低分 平均分 理 青海 文 理 山东 文 理

省份 科类 本一线 出档线 人数 最高分 最低分 平均分 理 青海 文 理 山东 文 理 厦门大学 2006 年普高招生分省分专业录取分数统计表 省份 科类 本一线 出档线 人数 最高分 最低分 平均分 文 573 600 25 638 601 612.7 安徽 理 566 615 74 653 615 630.1 理 ( 国防生 ) 566 596 12 621 596 607.2 北京 文 516 574 24 605 574 586.3 理 528 593 59 646 596 610.7

More information

<4D F736F F D B1E0D2EBD4ADC0EDCAB5BCF9B8C4B8EFB5C4D4D9B4CECCBDCBF72DD2FDC8EBBFAAD4B4B1E0D2EBC6F74C4C564D>

<4D F736F F D B1E0D2EBD4ADC0EDCAB5BCF9B8C4B8EFB5C4D4D9B4CECCBDCBF72DD2FDC8EBBFAAD4B4B1E0D2EBC6F74C4C564D> 文章编号 : 中图分类号 :G642 文献标识码 :B/A 编译原理实践改革的再次探索 : 引入开源编译器 LLVM 张昱, 桑榆扬 ( 中国科学技术大学计算机科学与技术学院, 安徽省合肥市邮编 230027) 摘要 : 针对计算机及相关专业的毕业生在就业过程中暴露出的对编译过程理解不足 动手能力差等问题, 以及开源编译器 LLVM 的广泛使用和模块化设计的优势, 提出结合 LLVM 的编译原理课程实践的新方案

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

Microsoft Word - 119002_Java_術科 .doc

Microsoft Word - 119002_Java_術科 .doc 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 人 參 考 資 料 (Java) 試 題 編 號 :11900-1000201~3 審 定 日 期 :100 年 6 月 28 日 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 人 參 考 資 料 目 錄 ( 第 二 部 分 ) 壹 電 腦 軟 體 設 計 乙 級 技 術 士 技

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

目次 

目次  軟 體 工 程 期 末 報 告 網 路 麻 將 91703014 資 科 三 黃 偉 嘉 91703024 資 科 三 丘 祐 瑋 91703030 資 科 三 江 致 廣 1 目 次 壹 前 言 (Preface) P.4 貳 計 畫 簡 述 及 預 期 效 益 (Project Description and Expected Results) P.4 參 系 統 開 發 需 求 (System

More information

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas Contents 目錄 chapter 1 1-1... 1-2 1-2... 1-3 HTML5... 1-3... 1-5 1-3... 1-9 Web Storage... 1-9... 1-10 1-4 HTML5... 1-14... 1-14... 1-15 HTML5... 1-15... 1-15... 1-16 1-5... 1-18 Apps... 1-18 HTML5 Cache

More information

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像 .... 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Fall 2010 . Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像 . 编译 Linux 在 QEMU 模拟器上运行 qemu+linux-2.6.26.1. 准备模拟器.2.

More information

欢迎访问动力节点官方网站,动力节点java0基础免费学习半个月,java就业班免费学习一个月,满意后再交学费,请稊等,正在为您接入咨询老师

欢迎访问动力节点官方网站,动力节点java0基础免费学习半个月,java就业班免费学习一个月,满意后再交学费,请稊等,正在为您接入咨询老师 JDK 中的设计模式应用实例在 JDK(Java Development Kit) 类库中, 开发人员使用了大量设计模式, 正因为如此, 我们可以在不修改 JDK 源码的前提下开发出自己的应用软件, 本文列出了部分 JDK 中的模式应用实例, 有兴趣的同学可以深入研究, 看看前 Sun 公司的开发人员是如何在实际框架开发中运用设计模式的,Sunny 认为, 研究 JDK 类库中的模式实例也不失为学习如何使用设计模式的一个好方式.

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用 第 卷 第 期 年 月 交通运输工程学报 曹 源 唐 涛 徐田华 穆建成 为了确保列车运行控制系统设计和开发的正确性 比较了仿真 测试和形式化 种能够验证 系统设计正确性的方式 根据列车运行控制系统对安全的苛求性 提出了 个与系统安全相关的重要特性 即实时性 混成性 分布 并发 性 反应性 并分析了与这些特性相关的具体形式化方法 通 过对每种形式化方法的数学基础和应用范围的分析和归类 给出了各种方法的优势和不足

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

201406002+大学计算机基础B.doc

201406002+大学计算机基础B.doc 目 录. 大 学 计 算 机 基 础 B( 非 独 立 设 课 ).... 计 算 机 操 作 基 础 ( 独 立 设 课 )...3 3. 程 序 设 计 基 础 ( 非 独 立 设 课 )...5 4. 面 向 对 象 程 序 设 计 ( 非 独 立 设 课 )...8 5. 数 据 库 原 理 ( 非 独 立 设 课 )...0 6. 算 法 设 计 与 分 析 ( 非 独 立 设 课 )...

More information

先生別耍我

先生別耍我 先 生 別 耍 我. 夏 雪 3 目 錄 : 第 一 章 005 第 二 章 019 第 三 章 044 第 四 章 058 第 五 章 077 第 六 章 101 第 七 章 121 第 八 章 136 4 目 錄 第 九 章 151 第 十 章 172 尾 聲 196 關 於 夏 雪 197 先 生 別 耍 我. 夏 雪 5 第 一 章 姜 曦 在 照 片 裡 翻 閱 照 片 的 是 一 個

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Microsoft PowerPoint - 1-Introduction.ppt

Microsoft PowerPoint - 1-Introduction.ppt 任课教师情况 编译原理 Principles of Compiler 赵银亮教授联系方式 :zyl9910@mail.xjtu.edu.cn 辅导老师 : 李聪 王旭昊 张长军 韦远科 赵银亮 2008 年秋 与编译有关的研究背景 : isp 机 isp_m1 系统 (1987-90) Common isp Object System 实现 (1990-95) 并行程序性能分析 (1996-98)

More information

唐后期五代宋初敦煌寺院财产管理研究

唐后期五代宋初敦煌寺院财产管理研究 南京师范大学博士学位论文唐后期五代宋初敦煌寺院财产管理研究姓名 : 明成满申请学位级别 : 博士专业 : 专门史指导教师 : 刘进宝 20080509 唐后期五代宋初敦煌寺院财产管理研究

More information

(Microsoft Word - outline for Genesis 9\243\2721\243\25529.doc)

(Microsoft Word - outline for Genesis 9\243\2721\243\25529.doc) 創 世 紀 9:1-29; 神 的 憐 憫 及 與 挪 亞 立 約 韋 江 傳 道 暖 身 問 題 : 當 別 人 無 意 識 地 踩 到 你 的 腳, 確 一 句 話 不 說 就 走 開 的 時 候, 你 會 怎 麼 樣 做? 注 意 : 大 綱 中 問 題 較 多, 但 顯 然 不 是 所 有 的 都 需 要 討 論 到, 比 較 多 的 是 供 你 們 參 考 所 以, 每 一 個 帶 領 者

More information

穨Shuk-final.PDF

穨Shuk-final.PDF : : ( ( ( ( ( D : 20 25 -, -, - :, D ( ( ((,! ( ( ( 15 20 ( - - - ( ( ( 1985 33 ( ( ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - - - - - ( ( ( - --- ( - ( - - - - ( ( ( ( ( ( ( ( 1985 35 1. ( ( ( ( ( 2.

More information

2

2 1 2 3 4 4 5 5 6 6 I 17 27 31 63 II 79 87 91 99 103 107 113 119 III 129 135 137 141 145 153 163 165 169 175 177 181 7 187 193 195 199 201 7 8 9 9 10 11 11 12 12 I 13 13 14 14 I.... 17... 27 15... 31...

More information

招行2002年半年度报告全文.PDF

招行2002年半年度报告全文.PDF 2 2 12 13 13 16 19 19 1 2 7088 518040 14,444 2,744-370 -1,955-864 14,889 3 4 8% 16.38 14.01 10.26 11.39 11.93 11.61 4% 10.73 9.69 4.23 10.89 11.11 11.30 15% 6.43 7.59 8.15 10.64 9.28 11.44 75% 55.67 57.74

More information

Microsoft Word - 75413980_4

Microsoft Word - 75413980_4 中 国 资 产 管 理 业 翘 首 等 待 修 订 后 的 证 券 投 资 基 金 法 及 配 套 法 规 的 施 行 2012 年 12 月 28 日, 业 内 期 盼 已 久 的 中 华 人 民 共 和 国 证 券 投 资 基 金 法 ( 新 基 金 法 ) 修 订 通 过, 自 2013 年 6 月 1 日 起 施 行 为 了 支 持 新 基 金 法 的 实 施, 有 关 监 管 部 门, 主

More information

郑州大学(下).doc

郑州大学(下).doc ...1...10 ( )...12...14...18...20...24...26...30...33...37...39...42...45...48...52...53 I ...57...63...65...74...82...84...85...87...91...95...97... 101... 103... 106... 109... 115... 124... 126... 128

More information

厨房小知识(六)

厨房小知识(六) ...1...1...2...2...4...6...7...8...9...10...13...14...17...18...20...20...21...23...24...24...26...27...28 I II...31...32...32...35...36...39...40...41...41...42...43...44...47?...49...50...52...53...54...54...60...67...68...69

More information

广 东 纺 织 职 业 技 术 学 院 发 展 党 员 公 示 制 实 施 办 法...189 关 于 推 荐 优 秀 团 员 作 为 党 的 发 展 对 象 工 作 的 意 见...192 后 勤 管 理 工 作 广 东 纺 织 职 业 技 术 学 院 新 引 进 教 职 工 周 转 房 管 理

广 东 纺 织 职 业 技 术 学 院 发 展 党 员 公 示 制 实 施 办 法...189 关 于 推 荐 优 秀 团 员 作 为 党 的 发 展 对 象 工 作 的 意 见...192 后 勤 管 理 工 作 广 东 纺 织 职 业 技 术 学 院 新 引 进 教 职 工 周 转 房 管 理 目 党 政 工 作 广 东 纺 织 职 业 技 术 学 院 党 委 理 论 中 心 组 学 习 制 度...1 广 东 纺 织 职 业 技 术 学 院 教 职 工 政 治 理 论 学 习 制 度...4 广 东 纺 织 职 业 技 术 学 院 党 风 廉 政 建 设 责 任 制 实 施 办 法 ( 试 行 )...6 广 东 纺 织 职 业 技 术 学 院 党 风 廉 政 建 设 暂 行 规 定...18

More information

2005 2005 12

2005  2005 12 2005 2005 http://www.nsfc.gov.cn 2005 12 2005...1 1-1 2005...1 1-2 2005...2 1-3 2005...5 1-4 2005...6 1-5 2005...7 1-6 2005...8 1-7 2005...9 1-8 2005...10 1-9 2005 200...11 1-10 2005...21 1-11 2005...61

More information

游戏攻略大全(五十).doc

游戏攻略大全(五十).doc I...1...2...18...32...37...39...40...40...41...41...41...42...42...42...43...44...44...44...45...45...45...46 ...46...46...47...47...47...47...48...48...48...49...51...72...80...82...85...86...91...94...97

More information

金融英语证书考试大纲

金融英语证书考试大纲 金 融 英 语 证 书 考 试 大 纲 第 一 部 分 考 试 说 明 一 考 试 目 的 金 融 英 语 证 书 考 试 是 国 家 级 行 业 性 专 业 外 语 水 平 考 试, 旨 在 通 过 统 一 的 标 准 化 考 试 程 序 和 测 试 标 准, 为 中 国 金 融 业 提 供 金 融 英 语 水 平 行 业 参 考 标 准, 测 试 并 认 定 应 试 人 员 的 金 融 英 语

More information

I...1...2...3...4...6...7...8...10... 11...12...13...14...16...17...18...20...21...22...23...25...26...27...28...30 II...31...33...34...35...37...38...39...41...43...44...45...47...49...50...52...54...55...56...57...59...60...61...62...63...64...65

More information

健康知识(二)

健康知识(二) I...1...6...7...8...10...12...14...15...17...19...22...26...28...29...30...31...32...34...36...37...38...39...40 II...41...42...43...46 7...47...48...49...53...55...56...57...58...60...66...67...68...69...69...70...73...73...74...75...78...79...79

More information

中南财经大学(二).doc

中南财经大学(二).doc 2004...1...3 2004...5...9 2004...10 2004...13...16...18...19...23...35...39...42...44...46...50 I ...53...54 ( )...57...58...62... 121... 124... 149 ( )... 151... 152... 154... 157... 158... 159... 163...

More information

广西大学(一).doc

广西大学(一).doc .....1... 11...14...15...16...17...19...19...22 ( )...30 ( )...32...34...39...44 ( )...63...64...67...69 I ...75...77...79...81...87 ( )...88...92...93...95...98... 100... 104... 114... 116... 124 ( )...

More information

根据学校教学工作安排,2011年9月19日正式开课,也是我校迁址蓬莱的第一学期开学

根据学校教学工作安排,2011年9月19日正式开课,也是我校迁址蓬莱的第一学期开学 济 南 大 学 泉 城 学 院 2014 届 毕 业 生 就 业 质 量 年 度 报 告 前 言 济 南 大 学 泉 城 学 院 是 国 家 教 育 部 和 山 东 省 人 民 政 府 正 式 批 准 成 立, 实 施 本 科 层 次 学 历 教 育 的 综 合 性 高 等 院 校 自 2005 年 建 校 以 来, 学 院 依 托 济 南 大 学 雄 厚 的 办 学 实 力, 坚 持 以 学 生

More information

山东大学(一).doc

山东大学(一).doc ...1...8...23...27...30 ( )...33...36...40...44...46...52 ( )...53...54...54 I ...55...56...58...59...60 ( )...63...75...88...92...99 ( )... 110... 118... 138... 142... 148 ( )... 152 2004 2006... 156

More information

主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清

主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清 主 编 : 杨 林 副 主 编 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 评 审 顾 问 : 杨 林 张 新 民 评 审 : 张 新 民 邹 兰 曹 纯 纯 周 秋 婷 李 雅 清 黄 囡 囡 李 忆 萍 徐 如 雪 文 字 编 辑 : 曹 纯 纯 邹 兰 李 雅 清 周 秋 婷 李 忆 萍 徐 如 雪 何 雯 技 术 编 辑 : 李 雅 清 曹 纯 纯 薛 莞 陈 敏

More information

最新文物管理执法全书(十四).doc

最新文物管理执法全书(十四).doc I...1...3...5...8...12...15...19...23...25...28...30...34...37...39...43...47...50...52...55...59...60...63...67...70 ...75...79...82...83...85...90...92...95...99... 103... 106... 113... 117... 119...

More information

园林常识(二).doc

园林常识(二).doc I...1...1...1...2...32...33...36...38...41...42...43...43...43...44...45...45...46...48...49...56...62...65 ...68...77...84...98... 103 :... 104... 105 :... 107 :... 109... 110...111... 126... 127... 130

More information

前 言 二 一 六 年 四 月 四 日, 兒 童 節, 誕 生 了 一 件 美 事 : 中 國 作 家 曹 文 軒 在 意 大 利 博 洛 尼 亞 國 際 童 書 展 榮 獲 國 際 安 徒 生 文 學 獎, 是 該 獎 創 設 六 十 年 來, 第 一 位 摘 桂 的 中 國 作 家, 意 義 重

前 言 二 一 六 年 四 月 四 日, 兒 童 節, 誕 生 了 一 件 美 事 : 中 國 作 家 曹 文 軒 在 意 大 利 博 洛 尼 亞 國 際 童 書 展 榮 獲 國 際 安 徒 生 文 學 獎, 是 該 獎 創 設 六 十 年 來, 第 一 位 摘 桂 的 中 國 作 家, 意 義 重 目 錄 前 言 i 童 年 1 關 於 肥 肉 的 歷 史 記 憶 ( 節 錄 ) 7 疲 民 15 水 邊 的 文 字 屋 23 海 邊 的 屋 29 紅 葫 蘆 37 追 隨 永 恆 ( 草 房 子 代 跋 一 ) 53 因 水 而 生 草 房 子 寫 作 札 記 59 書 香 人 家 73 朗 讀 的 意 義 79 知 無 涯, 書 為 馬 85 讀 是 誰 91 給 孩 子 講 課 文 學

More information

湖 南 科 技 大 学

湖 南 科 技 大 学 I 目 录 第 一 章 2015 年 度 培 训 概 况 1 1 基 本 情 况 1 1.1 项 目 申 报 情 况 1 1.2 项 目 实 施 情 况 3 1.3 学 员 来 源 情 况 5 1.4 项 目 经 费 情 况 7 2 组 织 管 理 9 2.1 学 校 设 立 培 训 项 目 实 施 工 作 领 导 小 组 9 2.2 施 训 学 院 设 立 项 目 实 施 办 公 室 9 3 培

More information

上海外国语大学(二).doc

上海外国语大学(二).doc ...1...3...4...9...10 ( )... 11...12...16...31...33...34...50...56...58...60...62 I II...63...65...68...74...75...75...76...76...78...87...92...96 ( )...96 ( )...97 ( )...98 ( )...99... 100 ( )... 101

More information

2009 陳 敦 德

2009 陳 敦 德 前 言 : 發 掘 香 港 歷 史 獨 有 的 寶 藏 2010 2009 陳 敦 德 目 錄 前 言 發 掘 香 港 歷 史 獨 有 的 寶 藏 / i 第 一 章 香 港 設 立 八 路 軍 辦 事 處, 青 年 廖 承 志 為 主 任 /1 一 毛 澤 東 認 為, 八 路 軍 駐 香 港 辦 事 處, 是 個 獨 特 的 辦 事 處 /10 二 毛 澤 東 親 自 點 將, 為 小 廖 舉

More information

切 实 加 强 职 业 院 校 学 生 实 践 能 力 和 职 业 技 能 的 培 养 周 济 在 职 业 教 育 实 训 基 地 建 设 工 作 会 议 上 的 讲 话 深 化 教 育 教 学 改 革 推 进 体 制 机 制 创 新 全 面 提 高 高 等 职 业 教 育 质 量 在

切 实 加 强 职 业 院 校 学 生 实 践 能 力 和 职 业 技 能 的 培 养 周 济 在 职 业 教 育 实 训 基 地 建 设 工 作 会 议 上 的 讲 话 深 化 教 育 教 学 改 革 推 进 体 制 机 制 创 新 全 面 提 高 高 等 职 业 教 育 质 量 在 目 录 中 华 人 民 共 和 国 职 业 教 育 法... 1 国 务 院 关 于 大 力 推 进 职 业 教 育 改 革 与 发 展 的 决 定... 7 国 务 院 关 于 大 力 发 展 职 业 教 育 的 决 定... 17 教 育 部 财 政 部 关 于 实 施 国 家 示 范 性 高 等 职 业 院 校 建 设 计 划 加 快 高 等 职 业 教 育 改 革 与 发 展 的 意 见...

More information

鸽子(三)

鸽子(三) ...1...3...5...7....9...12...20...28...30...33...39...52....53...56...60...61...64...67....86 I ...88...90...95.... 102... 107... 112... 115... 125... 127... 128... 134... 139... 149... 151... 152... 156...

More information

兽药基础知识(四)

兽药基础知识(四) ...1...1...3...4...9...10... 11...13...14...15...16...18...19...23...24...26...29...32...34 I ...36...38...39...40...41...43...45...47...49...50...52...53...54...55...57...59...61...64 E...68...69...72

More information

园林植物卷(十).doc

园林植物卷(十).doc I II III 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

More information

园林植物卷(十七).doc

园林植物卷(十七).doc I II III 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

More information

临床手术应用(三)

临床手术应用(三) ...1...5...5... 11...16...16...24...30...34...36...38...42...49...49...51...53...55...57...58...58...61 I ...63...65...67...69...73...73...75...80...83...85...86...88...92...94...94...98... 101... 102...

More information

家装知识(二十)

家装知识(二十) I..1...2...5...7...10... 11...12...14...17...19...20...21...25...26...27...30...32...33...37...40...42...44...45 II...49...50...53...54...56...61...62...63...64...67...68...69...71...74...75...76...79...80...81...81...82...83...87...90...91...93

More information

医疗知识小百科

医疗知识小百科 ...1...3...4...7...8...9... 10... 12... 13... 13... 14... 15... 17... 19... 29... 30... 32... 34... 37... 38... 39... 42 I ... 47... 48... 52... 53... 57... 58... 59... 61... 63... 65... 66... 67... 69...

More information

家庭万事通(一)

家庭万事通(一) I...1...2...3...5...7...9...10... 11...12...14...14...16...18...19...21...22...24...27...28...29...31...32...34 II...36...37...38...39...41...45...46...46...49...50...51...52...54...56...58...59...67...69...71...72...73...75...77...78...80...83

More information

家装知识(三)

家装知识(三) I...1...2...3...4...7...8... 11...13...16...18...19...20...21...23 10...25...26...30...31...33...35...38...42...44 II...45...47...49...51...53...54...56...57...59...62...64...66...68...69...71...75...77...80...81...82...83...85...85...88...90...91

More information

园林绿化(一)

园林绿化(一) ( 20 010010) 7871092 32 162.50 2004 12 1 2004 12 1 11 000 495.00 ( 19.80 ) ...1...2 605...5 84K...7 9...9...12...15...17...18...20...30...32...36...40...40...43...45...50 ( )...52 I ... 106... 113... 121...

More information

园林植物卷(十五).doc

园林植物卷(十五).doc I II III 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

More information

最新监察执法全书(一百五十).doc

最新监察执法全书(一百五十).doc ................................ I ............................. 2000.................. II ...... III [2002]5 1 2 3 4 5 6 1 2 3 1993 8 14 () () () () () () () () () () () () () () () () () ()

More information