实践 : 能够独立设计和开发简单语言的编译器 课程意义 : 1. 本课程能使学生对编程语言的设计和实现有深刻的理解, 对和编程语言有关的理论 ( 形式语言和自动机理论 类型论等 ) 有所了解, 对宏观上把握编程语言来说, 起一个奠基的作用 2. 对软件工程来说, 编译器是一个很好的实例 ( 基本设计

Similar documents
2/80 2

XXX专业本科人才培养方案

大侠素材铺

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D>

什么是 Servlet 技术 Servlet 与 JSP 的联系与区别 实例介绍了解 Servlet 技术的特点和应用领域, 以及与 JSP 的联系与区别 4.EJB 技术 EJB 技术基础 EJB 基本环境的建立 实例介绍了解 EJB 技术的特点和应用领域, 熟悉 EJB 应用的部署和维护 5.S

大侠素材铺

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

加州大学洛杉矶分校(UCLA)「创新营销管理」2014暑期项目

Theory of Groups is another course for undergraduates; and Module Theory will be a basic course of graduates). The main contents include the basic str

大侠素材铺

2. 通 识 教 育 类 课 程 要 求 分 类 修 读, 毕 业 审 核 施 分 类 审 核 常 州 大 通 识 教 育 类 课 程 分 为 六 类 : 人 文 素 养 类 艺 术 素 养 类 科 素 养 类 安 全 与 法 律 法 规 类 创 新 创 业 类 跨 文 化 与 国 际 视 野 类


A B A B S + V + Pt or Complement + Num-MP + O a b SVO c 2 9 * 10 * X Y

教務會議議程

職業安全衛生績效量測技術手冊

书名 : 作 者 : 出版社 : 出版 :

书名 : 作 者 : 出版社 : 出版 :

书名 : 作 者 : 出版社 : 出版 :

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 计 算 机 应 用 基 础 刘 升 贵 年 8 月

一、考試宗旨:考選風險管理人才,提升風險管理水準。

水 资 源 与 水 危 机 2 学 分 32 学 时 Water Resources and Water Crisis 水 资 源 是 人 类 耐 以 生 存 的 基 础 自 然 资 源, 同 时 也 是 生 态 环 境 的 控 制 性 因 素 之 一 ; 在 国 民 经 济 中

Microsoft Word - Long-term Chinese course list Nov 2017.doc

PowerPoint Presentation

encourage students to develop their study initiatives and improve their comprehensive cultural qualities. 课程教学大纲 (course syllabus) * 学习目标 (Learning Ou

穨423.PDF

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

Microsoft Word - 06会计学( ).doc

1.3


编译原理与技术

<4D F736F F D20C9CFBAA3BFC6BCBCB4F3D1A7D0C5CFA2D1A7D4BA C4EAC7EFBCBEC8EBD1A7B2A9CABFD7CAB8F1BFBCCAD4CAB5CAA9CFB8D4F22D C8B7B6A8B8E5>

Microsoft PowerPoint - 1-Introduction.ppt


<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

中三級 英國語文科

資訊系統開發模式

PowerPoint Presentation

<4D F736F F D C6D5CDA8B8DFB5C8D1A7D0A3B1BEBFC6D7A8D2B5C9E8D6C3C9EAC7EBB1ED>

目 錄 壹 教 學 計 劃 表 P.2 貳 修 課 名 單 P.5 參 服 務 學 習 計 畫 書 P.7 肆 反 思 心 得 分 享 P.37 伍 服 務 學 習 照 片 P.65 陸 服 務 時 數 證 明 P.85 柒 其 他 P.149 1

附 件 一 教 學 與 科 技 學 群 課 程 規 劃 一 教 學 與 科 技 學 群 課 程 包 括 12 門 課, 計 25 學 分 ( 生 活 科 技 概 論 3 學 分 ) 課 程 依 序 規 畫 如 下, 一 上 : 資 訊 教 育 ; 一 下 : 閱 讀 教 育 生 活 科 技 概 論

untitled

目次 

zt

<4D F736F F D20B169B74FC5EF2020A8E2A9A4B0EABB79B1D0ACECAED1A56AA8E5B8D6BA71BFEFBFFDA4A7ACE3A8732E646F63>

中铁某集团人力资源咨询项目建议书

创 新 经 济 时 代 来 临, 面 对 快 速 变 迁 与 激 烈 竞 争 的 市 场 环 境, 企 业 必 须 藉 由 持 续 开 发 新 产 品, 才 能 应 对 产 品 生 命 周 期 急 剧 缩 短 所 带 来 的 经 营 危 机 因 此, 产 品 经 理 不 但 扮 演 了 统 合 项

南華大學數位論文

强 度 调 制 器 相 位 延 迟 器 表 面 声 光 偏 转 器 磁 光 隔 离 器 偏 振 控 制 器 等 器 件 的 原 理 及 应 用 讲 述 介 质 波 导 波 导 色 散 光 纤 模 式 等 概 念 结 合 基 础 介 绍 学 科 前 沿 知 识 精 密 仪 器 设 计

南華大學數位論文

JAEA-Technology indb

892213E006146

93碩簡章

Microsoft Word - 01李惠玲ok.doc

北 京 大 学

大学计算机基础B.doc

未命名-6

1

Time Estimation of Occurrence of Diabetes-Related Cardiovascular Complications by Ching-Yuan Hu A thesis submitted in partial fulfillment of the requi

Microsoft Word - 26電子報_已改_.doc

2014 版 工 程 造 价 人 才 培 养 计 划 工 程 造 价 (Cost Engineering) 专 业 本 科 人 才 培 养 方 案 一 工 程 造 价 二 招 生 对 象 : 高 中 毕 业 生 三 修 业 年 限 : 四 年 四 授 予 学 位 : 工 学 学 士 五

國 立 虎 尾 科 技 大 學 學 生 成 績 繳 交 及 處 理 要 點 中 華 民 國 98 年 11 月 17 日 98 學 年 度 第 一 次 臨 時 教 務 會 議 通 過 99 年 03 月 23 日 98 學 年 度 第 二 次 教 務 會 議 正 通 過 99 年 06 月 22 日

一 项 目 申 请 人 情 况 申 请 人 姓 名 王 艳 云 性 别 男 民 族 汉 族 出 生 日 期 1996/07/21 所 在 学 院 生 物 与 化 学 学 院 专 业 班 级 15 级 化 学 本 科 班 ( 化 学 ) 项 目 名 称 草 莓 种 植 及 产 品 加 工 通 讯 地

國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 表 11 國 立 政 治 大 學 教 育 學 系 博 士 班 資 格 考 試 抵 免 申 請 表 論 文 題 目 申 報 暨 指 導 教 授 表 12 國 立 政 治 大 學 碩 博 士 班 論

PowerPoint 演示文稿

书 作 名 : 者 : 出版社 : 出版时间 : 书 号 :

书 作 名 : 者 : 出版社 : 出版时间 : 书 号 :

Abstract Today, the structures of domestic bus industry have been changed greatly. Many manufacturers enter into the field because of its lower thresh

致 谢 本 人 自 2008 年 6 月 从 上 海 外 国 语 大 学 毕 业 之 后, 于 2010 年 3 月 再 次 进 入 上 外, 非 常 有 幸 成 为 汉 语 国 际 教 育 专 业 的 研 究 生 回 顾 三 年 以 来 的 学 习 和 生 活, 顿 时 感 觉 这 段 时 间 也

从调查统计( 表 1) 可以看出 工科学生英语学习关注目标在不同阶段存在较大差异 外在目标主要关注就业和专业发 展 尤其毕业后认为英语学习的目标应该为专业发展的达到了 90% ; 内在目标学生主要关注的是拓展知识和跨文化认知 且 在校生对内在目标的关注远低于毕业生 调查 2 语言技能 我们对南京工程

2009—2010级本科课程教学大纲与课程简介格式

Microsoft Word doc


() ISO ISO ISO/IEC Directives2012 (High Level Structure, HLS) () ISO31000 ISO31000 () () 2005 ISO 2.(Normative references) ISO27001:

2 3. 1,,,.,., CAD,,,. : 1) :, 1,,. ; 2) :,, ; 3) :,; 4) : Fig. 1 Flowchart of generation and application of 3D2digital2building 2 :.. 3 : 1) :,

Microsoft PowerPoint ARIS_Platform_en.ppt

声 明 本 人 郑 重 声 明 : 此 处 所 提 交 的 硕 士 学 位 论 文 基 于 等 级 工 鉴 定 的 远 程 考 试 系 统 客 户 端 开 发 与 实 现, 是 本 人 在 中 国 科 学 技 术 大 学 攻 读 硕 士 学 位 期 间, 在 导 师 指 导 下 进 行 的 研 究

前 言 香 港 中 文 大 學 優 質 學 校 改 進 計 劃 ( 下 稱 計 劃 ) 團 隊 自 1998 年 起 積 極 於 本 地 推 動 理 論 及 實 踐 並 重 的 學 校 改 進 工 作, 並 逐 步 發 展 成 為 本 地 最 具 規 模 的 校 本 支 援 服 務 品 牌, 曾 支


CH01.indd

校 基 本 情 表 校 名 称 成 都 理 工 大 校 代 码 066 邮 政 编 码 校 园 网 址 edu.cn 校 办 基 本 类 型 o 部 委 院 校 þ 地 方 院 校 þ 公 办 o 民 办 o 中 外 合 作 办 机 构 þ 大 o 院

投影片 1

<4D F736F F D20ACFCA94DBBB7B65AB1D0BEC7BDD2B57BA46ABAF D322E646F63>

CC213

穨ld-sms-c

31 17 www. watergasheat. com km 2 17 km 15 km hm % mm Fig. 1 Technical route of p

紋 (2002) 之 研 究 結 果 發 現, 目 前 有 15% 以 上 身 心 健 全 的 學 生, 由 於 種 種 因 素, 無 法 受 惠 於 主 流 數 學 教 學 中 的 教 材 和 教 法, 導 致 學 生 在 數 學 學 習 的 挫 敗, 因 此 我 們 應 該 更 認 真 思 考

<4D F736F F D20B9A4C9CCB9DCC0EDD7A8D2B5D6CAC1BFB1A8B8E6>

第三章 国内外小组合作学习的应用情况

书名 : 作 者 : 出版社 : 出版 :

Microsoft PowerPoint - 1-Introduction12.ppt [兼容模式]

EK-STM32F

高中英文科教師甄試心得


2012 年 4 月 至 6 月 活 動 一 覽 月 份 計 劃 / 項 目 活 動 4 月 竹 園 中 心 活 動 竹 園 中 心 開 放 日 暨 沒 有 巴 掌 日 嘉 年 華 :4 月 28 日 v 迎 新 會 :4 月 21 日 童 歡 部 落 v 義 工 服 務 :5 月 27 日 v 小

CDWA Mapping. 22 Dublin Core Mapping

○○大學(或學院)九十五年度系所評鑑

Instructions Fill in the form carefully. Additional pages allowed. Fill in the form in blue or black ink, or print it out after filling. Discipline :

36 一 前 言 教 育 翻 译 和 语 言 原 本 是 三 个 不 同 的 学 科 然 而, 在 人 口 流 动 和 全 球 化 等 诸 多 社 会 因 素 的 推 动 下, 不 同 的 学 科 出 现 交 叉 点 语 言 和 教 育 的 关 系 比 较 密 切 人 们 从 小 学 习 语 言,

Transcription:

课程名称 教学大纲 一 课程基本信息 开课单位信息学院课程代码 CS131 课程名称编译原理英文名称 Programming Languages and Compilers 学分 4 学时 64 授课对象 ( 面向专业 ) CS 双语 / 中文 / 全英文授课 双语 先修课程 CS100 二 课程简介和教学目的 课程简介 : 1. 本课程介绍编译器构造的一般原理和基本实现方法, 主要介绍编译器的各个阶段 : 词法分析 语法分析 语义分析 中间代码生成 代码优化和目标代码生成 反映直至 20 世纪末的一些重要成果, 如有关类型制导的编译思想 2. 本课程在介绍命令式程序设计语言实现技术的同时, 强调一些相关的理论知识, 如形式语言和自动机理论 语法制导的定义和属性文法 类型论等 它们是计算机专业理论知识的重要一部分, 在本书中结合应用来介绍这些知识, 有助于学生较快领会和掌握 3. 本课程强调形式化描述技术, 并以语法制导定义作为翻译的主要描述工具 4. 本课程强调对编译原理和技术在宏观上的理解, 而不把读者的注意力分散到一些枝节的算法上, 如计算开始符号集合和后继符号集合的算法, 回填技术等 作为原理性的教材, 本书介绍基本的理论和方法, 而不偏向于某种源语言或目标机器 教学目的 : 理论 : 使学生熟练掌握编译器构造的一般原理 基本实现方法及其相关理论知识

实践 : 能够独立设计和开发简单语言的编译器 课程意义 : 1. 本课程能使学生对编程语言的设计和实现有深刻的理解, 对和编程语言有关的理论 ( 形式语言和自动机理论 类型论等 ) 有所了解, 对宏观上把握编程语言来说, 起一个奠基的作用 2. 对软件工程来说, 编译器是一个很好的实例 ( 基本设计 模块划分等 ), 也是本科期间能碰到的唯一的大型例子, 学生从本课程的学习也能了解到软件工程中的一些技术 ( 如基于事件驱动的编程 ) 本课程所介绍的概念和技术能应用到一般的软件设计之中 3. 大多数程序员同时是语言的设计者, 虽然是一些简单的语言 ( 如输入输出 ), 本课程的学习有助于提高对这些语言的设计水平 4. 编译技术在软件逆向工程 程序理解和软件安全等方面有着广泛的应用 5. 软件逆向工程 : 以另外一种形式创建系统同一层次的表示或者更高层次的抽象, 应用 : 技术仿造 软件维护 6. 程序理解 : 通过分析 抽象和一般化来获取软件知识的演绎过程 (1) 基于机器代码和中间代码层的理解, 需要借助于反汇编和反编译技术 ;(2) 基于源代码的理解 ;(3) 基于语法层的理解, 程序分段 程序切片和程序分析等技术就是其中的最典型代表 ;(4) 基于程序语义层的理解, 模式匹配 格局识别 (plan recognition) 概念赋值(concept assigned) 和概念分析 (concept analysis) 等都是进行语义级的软件理解和分析技术 7. 软件安全 : 满足安全策略 基本安全策略 : 类性安全 控制流安全和内存安全 还有信息流安全 用到词法 语法和语义分析 类性系统和类性检查 控制流分析和数据流分析等 编译器将走向类型制导的编译器 三 教学内容 教学方式和学时安排 ( 建议例表如下 ) 课堂教学内容 教学进度和学时安排 教学方式 第一章绪论 第 1 周 课堂教学 课后

1.1 语言处理 1.2 编译器结构 第二章一个简单的语法制导翻译 器 2.1 引言 2.2 语法定义 2.3 语法制导翻译 2.4 语法分析 2.5 简单表达式的翻译器 2.6 词法分析 2.7 符号表 2.8 中间代码生成 第 3 章词法分析 3.1 词法分析器的作用 3.2 输入缓冲 3.4 词法单元的识别 3.5 词法分析器生成工具 Lex 3.6 有穷自动机 3.7 从正则表达式到自动机 3.8 词法分析器生成工具的设 计 3.9 基于 DFA 的模式匹配器的优 化 第 4 章语法分析 4.1 引论 4.2 上下文无关文法 4.3 设计文法 4.4 自顶向下的语法分析 4.5 自底向上的语法分析 4.6 LR 语法分析技术介绍 : 简单 LR 4.7 更强大的 LR 语法分析器 4.8 使用二义性文法 4.9 语法分析器的生成工具 随堂测验 第 5 章语法制导的翻译 5.1 语法制导定义 复习 ( 作业 ) 第 1 周课堂教学 复习 ( 作业 ) 第 2 周 总计 4 学时第 2 周课堂教学 复习 ( 作业 ) 材料阅第 3 周读 词法分析器项 4 学时目第 4 周 4 学时第 5 周 总计 1第 5 周课堂教学 复习 ( 作业 ) 材料阅第 6 周读 语法分析器项 4 学时目第 7 周 4 学时第 8 周 总计 1第 8 周闭卷 第 9 周课堂教学 复习 4 学时 ( 作业 )

5.2 SDD 的求值顺序 5.3 语法制导翻译的应用 5.4 语法制导的翻译方案 5.5 实现 L- 属性的 SDD 第 6 章中间代码生成 (6h) 6.1 语法树的变种 6.2 三地址代码 6.3 类型和声明 6.4 表达式的翻译 6.5 类型检查 6.6 控制流 6.7 回填 6.8 Switch 语句 6.9 过程中间代码 随堂测验讲解 第 10 周 第 10 周 第 11 周 4 学时第 12 周 课堂教学 复习 ( 作业 ) 材料阅 读 第 7 章运行时环境 7.1 存储组织 7.2 栈空间分配 7.3 栈中非局部数据访问 7.4 堆管理 7.5 内存回收简介 第 12 周 第 13 周 课堂教学 复习 ( 作业 ) 第 8 章代码生成 8.1 代码生成器设计中的问题 8.2 目标程序 8.3 目标程序中的地址 8.4 基本块和流图 8.5 基本块优化 8.6 一个简单代码生成器 8.7 窥孔优化 8.8 寄存器分配和指派 8.9 通过树重写来选择指令 第 9 章优化 9.1 优化的主要来源 9.2 数据流分析介绍 9.3 数据流分析基础 9.4 常量传播 9.5 部分冗余消除 9.6 流图中的循环 第 13 周 第 14 周 4 学时第 15 周 4 学时第 16 周 课堂教学 复习 ( 作业 ) 项目代码生成器课堂教学 复习 ( 作业 ) 材料阅读

9.7 基于区域的分析 9.8 符号分析 Review 期末考试 第 16 周 第 17 周 闭卷 注 : 习题课 实验 ( 上机 / 实践 ) 内容和基本要求可参照填写 四 考核方式和成绩评定 项目 30% 作业 20% 期中测试 20% 期末测试 30% 五 推荐教材和参考书目 书名 作者 译者 出版社 出版时间 ISBN 教材 : Compilers: Principles, Techniques and Tools (2Ed.) by Aho et al, 机械工业 出版社 参考书目 : Compiler Construction Principles and Practice by Louden,PWS Publishing Company 六 其他说明 建议内容 : 1. 课程教学网站 教学参考网站 ; 2. 基于学业规范的要求 ( 道德行为规范 作业规范 实验规范等 ) 3. 个性化的要求 七 教师信息和开课单位审核意见 签名 : 邮箱 songfu@shanghaitech.edu.cn 授课教师 年月日 签名 : 年月日 电话 15921769918 邮箱 电话

课程负责人 ( 大纲负责人 ) 签名 : 年月日 开课单位审核意见 签名 : ( 单位公章 ) 年月日

Course Syllabus I.General Information Course Code Course Title CS131 Programming Languages and Compilers Credit 4 Teaching Hours 64 Major CS Prerequisite(s) CS100 II.Course Description This course covers the fundamentals of compiler design, including lexical analysis, parsing, semantic analysis, compile-time memory organization, run-time memory organization, code generation, and compiler portability issues. Goal: 1. Understand what is a compiler 2. Understand the different phases of a compiler 3. Have an idea about designing and maintaining a compiler using compiler generator tools III.Course Schedule 1. Introduction (2h, xh denotes x Teaching hours) 1.1 Language Processors 1.2 The Structure of a Compiler 2. Simple Syntax-Directed Translator (4h) 2.1 Introduction 2.2 Syntax Definition 2.3 Syntax-Directed Translation 2.4 Parsing 2.5 A Translator for Simple Expressions 2.6 Lexical Analysis 2.7 Symbol Tables 2.8 Intermediate Code Generation

3. Lexical analysis (12h) 3.1 The Role of the Lexical Analyzer 3.2 Input Buffering 3.3 Specification of Tokens 3.4 Recognition of Tokens 3.5 The Lexical-Analyzer Generator Lex 3.6 Finite Automata 3.7 From Regular Expressions to Automata 3.8 Design of a Lexical-Analyzer Generator 3.9 Optimization of DFA-Based Pattern Matchers 4. Syntax Analysis (12h) 4.1 Introduction 4.2 Context-free grammars 4.3 Writing a grammar 4.4 Top-down parsing 4.5 Bottom-up parsing 4.6 Introduction to LR parsing: simple LR 4.7 More powerful LR parsers 4.8 Using ambiguous grammars 4.9 Parser generators 5. Syntax-Directed Translation (6h) 5.1 Syntax-directed definitions 5.2 Evaluation orders for SDD's 5.3 Applications of syntax-directed translation 5.4 Syntax-directed translation schemes 5.5 Implementing L-attributed SDD's 6. Intermediate-Code Generation (6h) 6.1 Variants of syntax trees 6.2 Three-address code 6.3 Types and declarations 6.4 Translation of expressions 6.5 Type checking 6.6 Control flow 6.7 Back patching 6.8 Switch-statements 6.9 Intermediate code for procedures 7. Run-time Environment (4h) 7.1 Storage organization 7.2 Stack allocation of space 7.3 Access to nonlocal data on the stack 7.4 Heap management 7.5 Introduction to garbage collection 8. Code generation (6h) 8.1 Issues in the design of a code generator

8.2 The target language 8.3 Addresses in the target code 8.4 Basic blocks and flow graphs 8.5 Optimization of basic blocks 8.6 A simple code generator 8.7 Peephole optimization 8.8 Register allocation and assignment 8.9 Instruction selection by tree rewriting 9. Optimizations (6h) 9.1 The principal sources of optimization 9.2 Introduction to data-flow analysis 9.3 Foundations of data-flow analysis 9.4 Constant propagation 9.5 Partial-redundancy elimination 9.6 Loops in flow graphs 9.7 Region-based analysis 9.8 Symbolic analysis Midterm 2h Midterm exam analysis 2h Review, 2h IV.Evaluation Projects 30% Homework 20% Midterm 20% Final 30% V.Textbooks and References Textbook: Compilers: Principles, Techniques and Tools (2Ed.), by Aho, Lam, Sethi, and Ullman (ISBN-10: 0321486811). References: Compiler Construction Principles and Practice by Louden VI.Instructor Information Email songfu@shanghaitech.edu.cn Instructors Signature / Print Name Date Tel 15921769918 Email Signature / Print Name Date Tel

Course Director Signature / Print Name Date Approved by Signature / Print Name (Seal of Department) Date

附 : 编写说明 1. 大纲采用中英文双语填写 ; 2. 课程代码 由教学与学生事务处统一编码, 其余内容由任课教师编写, 由开课单位审核 3. 课堂讲授一般 16 个学时计 1 学分, 实验 实践一般 48 学时计 1 学分 4. 课程简介 教学目的 教学内容 考核方式 等栏目的填写尽可能详实准确, 使学生能够清楚明白本课程的性质 目的 内容和要求等 5. 考核方式 由授课老师自定 上科大研究生和本科生课程考核成绩统一使用等级制, 为便于成绩存档和查询, 要求授课教师在 成绩评定 同时提供百分制和等级制成绩 具体参照上海科技大学成绩管理相关规定执行 6. 教师信息 中, 课程负责人 是在有多位教师讲授同 1 门课的情况下, 设置的主持教授, 负责组织课程和教学大纲的编写, 如该课程由 1 位课程教师独立授课, 课程负责人 信息无需重复填写和签名