编译实习 王 千 祥 北京大学信息学院.

Slides:



Advertisements
Similar presentations
IT 服务与业务发展融合 王维航 北京华胜天成科技股份有限公司 十分钟的悲剧.
Advertisements

蕭文生 中正大學法律系教授兼法學院院長.  壹、前言  貳、司法院釋字第六八四號解釋  參、大學生之受教權  肆、大學自治之範疇  伍、大學生之其他基本權利  陸、救濟管道之改善  柒、結語.
提昇餐廳供餐品質 及服務滿意度 標竿學習主題 標竿學習計劃排定進度 分析客戶對餐廳供餐滿意度偏低原因:
第八課 謝 天. 第八課 謝 天 作者主旨文章作法 民國 陳之藩 謙卑感 恩,功 成不居 以「謝天」的傳統觀念 為中心,經由疑惑、思 索、領悟三個層次的敘 述,賦予新的意義 ★題目含義:表示對很多「人」的感謝。
蔬菜大觀園 V.S 大家來種菜 蔬菜的外觀及分類  蔬菜是我們常吃的食物,蔬菜的外觀形狀不 同,有各種不同的顏色、形狀、氣味等,嚐 起來的味道也不相同。  蔬菜的營養價值不盡相同,可實用的部位也 不同,有的是根、有的是莖、有的是葉、有 的是花、有的是果實,還有的是種子。  依據蔬菜種類和食用部位的不同,可以將蔬.
政府的权力:依法行使. 政府的权力:依法行使 重庆“最牛钉子户”事件 九龙坡区法院一名张院长称,法院已组织6次调解,有时1天就有2次调解。3月28日下午,九龙坡区委书记郑洪还专门接待吴苹3小时。1日,在法院组织下,拆迁双方基本达成口头协议,今天下午,双方签字生效。按协议,吴苹选择了异地实物安置方案,开发商将其在沙坪坝开发的一处门面房,按同样面积交付吴苹,吴同意此方案.
第八課 馮諼客孟嘗君 謀職達人 來也.
蔬菜大觀園V.S大家來種菜 高雄市楠梓區翠屏國中小教師 林珮如
“腸”保安康 現代人的腸胃保健.
如何做個稱職的父母 財團法人雲林縣雲萱婦幼文教基金會 王招萍.
那一段「詩聲戀」的日子 孟令今老師.
獨立國家國協 1.地形 2.氣候 3.產業.
綜合活動領域 教學分享.
诚信人生 ---高二(2)班主题班会.
航向未來 飛揚國際 —關於華航與長榮的財務報表 指導老師: 組員:張甄芸 4A 鄭雅華 4A070079
世界史.
面对苦难 (约翰福音15:18-16:4) 2/22/15 我们不属世界,神从这世界中拣选了我们,却没有为我们另设一处“世外桃源”,乃是让我们住在地上,以他的信实为粮,以他的生命为光。既然在这被罪玷污的世界中,就会有苦难仇恨,然而它们不能打倒我们,因为它们 无目的 无缘故 无胜算 在世上我们虽有苦难,也可以放心,因为耶稣已经胜了世界。
如果你没法阻止战争,那你就把战争的真相告诉世界
102學年度第二學期 208家長座談會 歐陽美慧.
第六章 中国公务员制度 干部 VS 公务员.
大陸教育基本現況認識 楊景堯 淡江大學中國大陸研究所.
C语言程序设计 李伟光.
性別平權.
青龙偃月刀 韩少功. 青龙偃月刀 韩少功 走近作者 韩少功,湖南长沙人。1985年倡导“寻根文学”的主将。1996年出版的长篇小说《马桥词典》。比较著名的有《爸爸爸》、《女女女》等。
彰化基督教醫院 健康檢查科 / 家庭醫學科 吳美鳳醫師
經濟系 在學什麼專業? 經濟學是一門研究人類經濟行為的社會科學 為什麼鑽石會比水貴? 為什麼台灣中央銀行不多印一點台幣, 以增加大家的財富?
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
公文寫作及實務.
厌讼与好讼:明清诉讼文化面面观 廖华生 江西师范大学历史文化与旅游学院.
解读社会保险.
講題:『你不可不知的禱告』 經文:舊約詩篇90篇 陳文惠傳道
青少年憂鬱症 資料來源: 臺北e大「聆聽憂鬱的心~談憂鬱症」/劉宗憲醫師 台南市憂鬱症關懷協會談青少年憂鬱症/陳信昭醫師
考績制度改革的政策分析 政治大學公共行政學系 博士生 簡鈺珒.
(以「背影」象徵父愛。 紙船印象:母愛, 作者洪醒夫 負荷:父愛, 作者,吳晟) 第 三 課 背 影 文體:抒情文 朱自清.
中國大陸民辦大學發展現況 楊景堯 淡江大學中國大陸研究所.
護教裡的情與義 細說基督教與 天主教的「原來分別」.
中秋烤肉?不夠酷, 從唐詩長作文,才叫酷~~
走不一樣的路 易牙居餐飲集團 董事長 林志成.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
何处安放 我们的青春? 透视 大学毕业生 “族化”生存现象.
成長的腳印 記敘文 課文朗讀.
國立屏東女中98學年度 大學多元入學宣導 高三家長說明會
李白杜甫詩中的"月"和"風" --電腦如何用於古典詩詞鑒賞
行政救濟案例分享 主題一【遺產及贈與稅】 主題二【特種貨物及勞務稅】 報告日期
第六课 投资的选择 储蓄存款与商业银行.
医患关系 ——和谐需要共创.
台灣社會問題基本認識 2007/侯東成.
走過箭竹草原 劉克襄.
102學年度 多元入學管道說明 彥如.
不動地前才舍藏,金剛道後異熟空, 大圓無垢同時發,普照十方塵剎中。
关于在宝钢全体党员中开展“学党章党规、 学系列讲话,做合格党员”学习教育的 实施方案
咨询式内训 ——企业量身定制的培训套餐.
“权力导致腐败,绝对权力导致绝对腐败” ---阿克顿.
第3讲 “轴心时代”:春秋战国百家争鸣之思想背景
語文強化系列 ~修辭大觀~ 創意文句‧生動鮮明 康軒6上語文特寫.
研究性學習及科技創新活動的開展:以高師大附中「專題研究學習」之課程發展為例
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
绪 论  珍惜大学生活 开拓新的境界.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
腦科學導論 報告主題:大腦的解讀 姓名:徐敏甄.
北京铁路电气化学校 心理健康 第四章 学会学习 终身学习 知识点八 实践是培养技能的重要途径 制作人:陈峻殊 德育教研组.
第九課 現代詩選 (ㄧ)再別康橋 (二)斷  章.
教科版六年级下册第一单元第4课 怎样放得更大 莲都区天宁小学 陈建秋.
微信商城系统操作说明 色卡会智能门店.
方格紙上畫正方形.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
自然语言处理培训课程提纲 Find Real Matter.
Integrated Learning Programme
自然语言处理培训课程提纲 Find Real Matter.
Presentation transcript:

编译实习 王 千 祥 北京大学信息学院

如何与老师联系? 理科一号楼1803 电话:62759074(O) Email:wqx@pku.edu.cn 高级软工、操作系统

同教: 郭耀 参与 辅导环节 与 成绩计算环节 联系方式:略 助教: 邵津 shaojin07 梁广泰 lianggt08 参与 辅导环节 与 成绩计算环节 联系方式:略 助教: 邵津 shaojin07 梁广泰 lianggt08 刘海文 liuhw08 石奎 shikui08 @sei.pku.edu.cn 理科1号楼1726

课 程 介 绍 一、为什么要进行编译实习 二、如何组织实习 三、如何辅导与检查 四、成绩如何计算 五、其它信息

一、为什么要进行编译实习 宋·陆游 古人学问无遗力 少壮工夫老始成 纸上得来终觉浅 绝知此事要躬行

Learning by doing

任何人 想 仅仅通过单纯的阅读 而 不把所学到的知识应用于特定问题 并 强迫自己反复进行思考 就 掌握一门学问 如果说 不是不可能的 那也是困难的 凡是 人们自己亲身探索、体会到的东西 学得最好

课程目的 巩固所学习的编译知识 深入理解编程语言:新语言? 深入理解处理器:多核编程? 学习典型开发工具:新工具? 体会大项目流程:软件工程?

学、做、说、写 做: 开发 解释器、编译器 非常收获! 非常投入 学: 学习 编译知识、开发工具、开发流程 说: 讲解 自己的工作 学: 学习 编译知识、开发工具、开发流程 做: 开发 解释器、编译器 说: 讲解 自己的工作 写: 撰写 基于 自己工作 的 报告 非常收获! 非常投入 非常投入 非常投入 非常投入

主要挑战是什么 警示数据 为什么? 08年未获得成绩率:15/122! 难!必修--->限选;教务 目标不清楚 时间投入不足 缓考 笔试分数低 未交作业 作弊 为什么? 难!必修--->限选;教务 目标不清楚 时间投入不足

二、如何组织实习 与以往有较大不同 从 老教师 到 新教师 从 指定到 指定 + 自选 教材 从 C 到 Java 给同学更多的选择 教材 从无到有 参考 国内其他学校 从 C 到 Java 实用性更强 从 2 次检查 到 4 次检查 更多的过程控制点

指定题目(多数) 开发一个 miniJava 的编译器 1-2人 1人为主:完整体验 允许2人:极限编程 Vs. 滥竽充数 便于辅导、检查

MiniJava 编译器描述 输入 输出 符合 MiniJava 语言规范的源程序 P 对 P 进行编译 生成能在 SPIM 上运行的目标码

怎么做? 热身:直线程序解释器(第一月) 实战:MiniJava 编译器(第二、三月) 语言简单 不借助任何工具(直接在JDK上运行) 体会编译涉及的基本环节 熟悉工作环境: JDK, (Eclipse) 实战:MiniJava 编译器(第二、三月) 复杂,但比完整的 Java 语言简单 借助工具 JavaCC 完成词法分析器 与 语法分析器 生成目标码

编译器的基本内部流程 前端(分析) 后端(综合) 内 部 表 示 词法 分析 语法 扫描 指令 选择 分配 寄存器 出错信息 源程序 目标程序 出错信息

MiniJava 编译器 词法 分析器 语法 分析器 语义 分析器 寄存器 分配 代码 生成 扫描器 编译器内部模块 JavaCC SPIM MiniJava Grammer SPIM Eclipse 开发环境 Java 语言 课堂介绍内容

自选题目(少数) 面向实际项目 探索课程间协作 鼓励创新 总共4个左右 2-3人 一个项目

自选题目(少数) 题目来源 与《体系结构实习》联合 软件分析 多核相关 自己设计 例如: 不同方式界面的转换

时间安排 明确任务 规划题目 词法分析 语法分析 抽象语法 语义分析 中间代码 目标代码 最终集成 9.17 课程介绍,题目介绍 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 演示、点评 词法分析 语法分析 抽象语法 语义分析 (数据流分析) 中间代码 目标代码 最终集成 实习报告

三、如何辅导与检查 4位助教为主 每位助教负责:1 + 1 + 1 1个班 1个自选题目 1次点评

辅导与检查方式 辅导方式 检查方式 作业批注 上课点评 电子方式提交 约定时间到院软件实验室检查 北大教学网(course.pku.edu.cn) 约定时间到院软件实验室检查 集中、顺序 现场 询问、检查

集中检查时间安排 明确任务 规划题目 词法分析 语法分析 抽象语法 语义分析 中间代码 目标代码 最终集成 9.17 课程介绍,题目介绍 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 演示、点评 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 University Press, 2002 现代编译器的 Java 实现(第二版),电子工业出版社,2004年9月 http://www.cs.ucla.edu/~palsberg/course/cs132/S09/index.html 课程网站:http://sei.pku.edu.cn/~wqx/cl/2009 基本信息 北大教学网:course.pku.edu.cn 交作业、讨论

作业(都要做!) 编写一个 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

非常收获! 非常投入 非常投入 非常投入 非常投入 问 题 ?