高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI

上传人:xmg****18 文档编号:113385529 上传时间:2019-11-08 格式:PPT 页数:28 大小:550.50KB
返回 下载 相关 举报
高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI_第1页
第1页 / 共28页
高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI_第2页
第2页 / 共28页
高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI_第3页
第3页 / 共28页
高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI_第4页
第4页 / 共28页
高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI》由会员分享,可在线阅读,更多相关《高级软件工程---欢迎访问北京大学信息学院软工所-—-PKUSEI(28页珍藏版)》请在金锄头文库上搜索。

1、编译实习,北京大学信息学院,王 千 祥,理科一号楼1803,如何与老师联系?,Email:wqx,电话:62759074(O),高级软工、操作系统,助教: 邵津 shaojin07 梁广泰 lianggt08 刘海文 liuhw08 石奎 shikui08,同教: 郭耀 参与 辅导环节 与 成绩计算环节 联系方式:略,理科1号楼1726,一、为什么要进行编译实习 二、如何组织实习 三、如何辅导与检查 四、成绩如何计算 五、其它信息,课 程 介 绍,一、为什么要进行编译实习,宋陆游 古人学问无遗力 少壮工夫老始成 纸上得来终觉浅 绝知此事要躬行,Learning by doing,任何人 想 仅

2、仅通过单纯的阅读 而 不把所学到的知识应用于特定问题 并 强迫自己反复进行思考 就 掌握一门学问 如果说 不是不可能的 那也是困难的 凡是 人们自己亲身探索、体会到的东西 学得最好,课程目的,巩固所学习的编译知识 深入理解编程语言:新语言? 深入理解处理器:多核编程? 学习典型开发工具:新工具? 体会大项目流程:软件工程?,学、做、说、写,学: 学习 编译知识、开发工具、开发流程 做: 开发 解释器、编译器 说: 讲解 自己的工作 写: 撰写 基于 自己工作 的 报告,非常投入,非常收获!,非常投入,非常投入,非常投入,主要挑战是什么,警示数据 08年未获得成绩率:15/122! 缓考 笔试分

3、数低 未交作业 作弊 为什么? 难!必修-限选;教务 目标不清楚 时间投入不足,二、如何组织实习,与以往有较大不同 从 老教师 到 新教师 从 指定到 指定 + 自选 给同学更多的选择 教材 从无到有 参考 国内其他学校 从 C 到 Java 实用性更强 从 2 次检查 到 4 次检查 更多的过程控制点,开发一个 miniJava 的编译器 1-2人 1人为主:完整体验 允许2人:极限编程 Vs. 滥竽充数 便于辅导、检查,指定题目(多数),MiniJava 编译器描述,输入 符合 MiniJava 语言规范的源程序 P 输出 对 P 进行编译 检查 P 的词法、语法、语义、(优化) 生成能在

4、 SPIM 上运行的目标码,热身:直线程序解释器(第一月) 语言简单 不借助任何工具(直接在JDK上运行) 体会编译涉及的基本环节 熟悉工作环境: JDK, (Eclipse) 实战:MiniJava 编译器(第二、三月) 复杂,但比完整的 Java 语言简单 借助工具 JavaCC 完成词法分析器 与 语法分析器 生成目标码,怎么做?,编译器的基本内部流程,目标程序,源程序,出错信息,Eclipse 开发环境,MiniJava 编译器,扫描器,词法 分析器,语法 分析器,语义 分析器,寄存器 分配,代码 生成,Java 语言,编译器内部模块,课堂介绍内容,面向实际项目 探索课程间协作 鼓励创

5、新 总共4个左右 2-3人 一个项目,自选题目(少数),自选题目(少数),题目来源 与体系结构实习联合 软件分析 多核相关 自己设计 例如: 不同方式界面的转换,时间安排,9.17 课程介绍,题目介绍 9.24 Java、Eclipse 介绍 10.15 MiniJava 语法、题目筛选 10.22 JavaCC 介绍 10.29 答疑 11.5 点评 11.12 答疑 11.19 答疑 11.26 点评,SPIM 介绍 12.3 答疑 12.10 答疑 12.17 演示、点评,明确任务 规划题目,词法分析 语法分析 抽象语法,(数据流分析),中间代码,最终集成,语义分析,目标代码,实习报告,

6、4位助教为主 每位助教负责:1 + 1 + 1 1个班 1个自选题目 1次点评,三、如何辅导与检查,辅导方式 作业批注 上课点评 检查方式 电子方式提交 北大教学网() 约定时间到院软件实验室检查 集中、顺序 现场 询问、检查,辅导与检查方式,集中检查时间安排,9.17 课程介绍,题目介绍 9.24 Java、Eclipse 介绍 10.15 MiniJava 语法、题目筛选 10.22 JavaCC 介绍 10.29 答疑 11.5 点评 11.12 答疑 11.19 答疑 11.26 点评,SPIM 介绍 12.3 答疑 12.10 答疑 12.17 演示、点评,明确任务 规划题目,词法分

7、析 语法分析 抽象语法,(数据流分析),中间代码,最终集成,语义分析,目标代码,实习报告,10月13日,11月3日,11月24日,12月15日,四、成绩如何计算:4+1,4次 平时作业:程序 4 * 20 = 80% 1个 实习报告:文档+体会+建议 1 * 20 = 20% 总体上:按学校要求的正态分布 85(含)以上:1-45 人 60(不含)以下:1-5 人,五、其它信息,主要参考文献: Modern Compiler Implementation in Java , 2nd edition. Andrew Appel with Jens Palsberg, Cambridge Univ

8、ersity Press, 2002 现代编译器的 Java 实现(第二版),电子工业出版社,2004年9月,课程网站: 基本信息 北大教学网: 交作业、讨论,http:/www.cs.ucla.edu/palsberg/course/cs132/S09/index.html,作业(都要做!),编写一个 Java 程序:一个直线程序语言的 解释器 直线程序语言特点: 没有 循环语句 与 分支语句 只有 一种数据类型:整数 只有 4 种基本运算:+ - * / 检查时间:10月15日以前(13日) 直接在 JDK 上运行!,Stm Stm ; Stm CompoundStm Stm id := Exp AssignStm Stm print (Exp) PrintStm Exp id IdExp Exp num NumExp Exp Exp Binop Exp OpExp Binop + Plus Binop - Minus Binop * Times Binop / Divide 缺省:不带优先级 高级:带优先级,输入:a := 5+3; print(a);b :=10*a; print(b),输出:8 80,问 题 ?,非常投入,非常收获!,非常投入,非常投入,非常投入,选择=结果,汇报结束 谢谢观看! 欢迎提出您的宝贵意见!,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号