编译原理教学大纲Compiler Principles SubjectSyllabus一、课程信息SubjectInformation课程编号:开课学期:53100213010Subiect IDSemester课程分类:所属课群:专业教育PA专业平台MTCategorySection课程学分:总学时/周:3.556/12Credit PointsTotal Hours/Weeks理论学时:实验学时:848EXP. HoursLECT. Hours实践学时/周:PBL学时:00PBL HoursPRAC.Hours/Weeks东北大学悉尼智能科技学院开课学院适用专业:计算机科学与技术Sydney SmartCollegeStreamCSTTechnology CollegeNortheastern University课程属性:课程模式:选修Elective自建NEUModePattern中方课程协调人:吕艳霞成绩记载方式:百分制MarksNEU CoordinatorLvu YanxiaResult Tvpe先修课程:C程序设计基础FundamentalsofCProgramming,Requisites汇编语言AssemblerLanguage;数据结构DataStructureAlfred V. Aho, Monica S. Lam, Ravi Sethi., Jeffrey D. Ullman.英文参考教材:Compilers:Principles, Techniques and Tools,(20072thEdition)EN TextbooksPearson Education张莉,史晓华,杨海燕,金茂忠编译技术(2016).高等教育出版社.ZhangLi, Shi Xiaohua, Yang Haiyan, Jin Maozhong. Compiler Technology中文参考教材:(2016).HigherEducationPressCN Textbooks王生原,董渊张素琴,吕映芝,蒋维杜:编译原理(2015第三版)清华大学出版社.Wang Shengyuan,DongYuan,Zhang Suqin,LyuYingzhi,JiangWeidu. Compiler Princilples (2015 3th Edition).Tsinghua University Press教学资源:NoResources课程负责人(撰写人):单击或点击此处输入文提交日期:3/6/2023字。Subject DirectorSubmitted Date任课教师(含负责人):Taught by审核人:批准人:韩鹏史闻博Checked byApproved by批准日期:3/19/2023ApprovedDate1 / 15
1 / 15 编译原理 教学大纲 Compiler Principles Subject Syllabus 一、课程信息 Subject Information 课程编号: Subject ID 3100213010 开课学期: Semester 5 课程分类: Category 专业教育 PA 所属课群: Section 专业平台 MT 课程学分: Credit Points 3.5 总学时/周: Total Hours/Weeks 56/12 理论学时: LECT. Hours 48 实验学时: EXP. Hours 8 PBL 学时: PBL Hours 0 实践学时/周: PRAC. Hours/Weeks 0 开课学院: College 东北大学 悉尼智能科技学院 Sydney Smart Technology College Northeastern University 适用专业: Stream 计算机科学与技术 CST 课程属性: Pattern 选修 Elective 课程模式: Mode 自建 NEU 中方课程协调人: NEU Coordinator 吕艳霞 Lyu Yanxia 成绩记载方式: Result Type 百分制 Marks 先修课程: Requisites C 程序设计基础 Fundamentals of C Programming; 汇编语言 Assembler Language; 数据结构 Data Structure 英文参考教材: EN Textbooks Alfred V. Aho, Monica S. Lam, Ravi Sethi., Jeffrey D. Ullman. Compilers: Principles, Techniques and Tools, (2007 2th Edition). Pearson Education. 中文参考教材: CN Textbooks 张莉,史晓华,杨海燕,金茂忠. 编译技术(2016). 高等教育出版社. Zhang Li, Shi Xiaohua, Yang Haiyan, Jin Maozhong. Compiler Technology (2016). Higher Education Press. 王生原,董渊,张素琴,吕映芝,蒋维杜. 编译原理(2015 第三版). 清华大 学出版社.Wang Shengyuan, Dong Yuan, Zhang Suqin, Lyu Yingzhi, Jiang Weidu. Compiler Princilples (2015 3th Edition). Tsinghua University Press 教学资源: Resources No 课程负责人(撰写人): Subject Director 单击或点击此处输入文 字。 提交日期: Submitted Date 3/6/2023 任课教师(含负责人): Taught by 审核人: Checked by 韩鹏 批准人: Approved by 史闻博 批准日期: Approved Date 3/19/2023
二、教学目标SubjectLearningObjectives(SLOs)注:毕业要求及指标点可参照悉尼学院本科生培养方案,可根据实际情况增减行数Note: GA and index can be referred from undergraduate program in SSTC website. Please add/reduce lines based on subject本课程要求学生通过课程的学习掌握形式语言学的相关理论,掌握编译及编译系统的相关理论、具体的分析算法以及编译系统与计算机软硬件系统之间相互协同工作的原理,主要包括:文法、自动机、典型的语法分析算法、中间代码的形式及语句的翻译、程序运行时存储空间的组织和分配、代码优化及代码生成等。最终做到了解编译系统的一般构造原理,基本实现技术和一些自动构造工具,了解编译系统的最新挑战和需求:掌握编译系统构造的基本概念、基本原理、基本设计和主要实现技术和一些自动构造工具,培养编译器的设计和实现的能力;通过科学思维方法的训练,培养学生运用科学原理解决实际问题的工程能力,最终能为学习本专业后继课程和从事与编译器构造、实现有关的技术工作奠定基础:培养科学与工程应用的意识和素质,逐步培养学生的探索精神和创新能力:能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。This subject requires students to master the relevant theories of formallinguistics, compiler and compiler systems, analysis algorithms, and theprinciples of collaborative work between compiler systems and整体目标:computer software and hardware systems through the learning of theOverall Objectivecourse.This mainly includes grammar, automata, syntax analysismethods, intermediate code generation and sentence translations.organization and allocation of storage during program running,codeoptimization and object code generation, etc.Ultimately, we aim tounderstand the general construction principles,basic implementationtechniques, and some automatic construction tools of the compilationsystem, as well as the latest challenges and requirements of thecompilation system,Masterthebasicconcepts,principles,design,andimplementationtechniquesof compilersystemconstruction,aswell assome automatic construction tools, and cultivate the ability to designand implement compilers; Through the training of scientific thinkingmethods, cultivate students' engineering ability to apply scientificprinciples to solvepractical problems,and ultimatelylaythefoundationfor learning subsequent courses in this major and engaging in technicalwork related to compiler construction and implementation,Cultivateawareness and quality of scientific and engineering applications.gradually cultivate students' exploration spirit and innovative ability,Abletoassumetherolesof individual,teammember,andleaderinamultidisciplinary team掌握形式语言理论与编译实现相关的基础概念,包括编译程(1)专业目标:序的结构、过程、文法和语言的形式定义、有穷自动机、正Professional Ability规式等方面的基本概念、基本理论。2/15
2 / 15 二、教学目标 Subject Learning Objectives (SLOs) 注:毕业要求及指标点可参照悉尼学院本科生培养方案,可根据实际情况增减行数 Note: GA and index can be referred from undergraduate program in SSTC website. Please add/reduce lines based on subject. 整体目标: Overall Objective 本课程要求学生通过课程的学习掌握形式语言学的相关理论, 掌握编译及编译系统的相关理论、具体的分析算法以及编译系统 与计算机软硬件系统之间相互协同工作的原理,主要包括:文法、 自动机、典型的语法分析算法、中间代码的形式及语句的翻译、程 序运行时存储空间的组织和分配、代码优化及代码生成等。最终 做到了解编译系统的一般构造原理,基本实现技术和一些自动构 造工具,了解编译系统的最新挑战和需求;掌握编译系统构造的 基本概念、基本原理、基本设计和主要实现技术和一些自动构 造 工具,培养编译器的设计和实现的能力;通过科学思维方法的训 练,培养学生运用科学原理解决实际问题的工程能力,最终 能为 学习本专业后继课程和从事与编译器构造、实现有关的技术工作 奠定基础;培养科学与工程应用的意识和素质,逐步培养学生的 探索精神和创新能力;能够在多学科背景下的团队中承担个体、 团队成员以及负责人的角色。 This subject requires students to master the relevant theories of formal linguistics, compiler and compiler systems, analysis algorithms, and the principles of collaborative work between compiler systems and computer software and hardware systems through the learning of the course. This mainly includes grammar, automata, syntax analysis methods, intermediate code generation and sentence translations, organization and allocation of storage during program running, code optimization and object code generation, etc. Ultimately, we aim to understand the general construction principles, basic implementation techniques, and some automatic construction tools of the compilation system, as well as the latest challenges and requirements of the compilation system; Master the basic concepts, principles, design, and implementation techniques of compiler system construction, as well as some automatic construction tools, and cultivate the ability to design and implement compilers; Through the training of scientific thinking methods, cultivate students' engineering ability to apply scientific principles to solve practical problems, and ultimately lay the foundation for learning subsequent courses in this major and engaging in technical work related to compiler construction and implementation; Cultivate awareness and quality of scientific and engineering applications, gradually cultivate students' exploration spirit and innovative ability; Able to assume the roles of individual, team member, and leader in a multidisciplinary team. (1)专业目标: Professional Ability 1-1 掌握形式语言理论与编译实现相关的基础概念,包括编译程 序的结构、过程、文法和语言的形式定义、有穷自动机、正 规式等方面的基本概念、基本理论
Apply the basic principles, theories and practice ofcommunication in professional engineering contexts. Findevaluate, reference and document information sources, andconduct research to support decision making. Apply theengineeringdesignprocessof problemidentificationformulation and solution.掌握编译程序构造的基本原理与技术,包括词法分析、语法分析、属性文法和语法制导的翻译、语义分析、中间代码生成和优化的基本方法,从形式语言理论的角度,进一步认识与理解程序设计语言及其与编译程序的联系。1-2Excellent engineering literacy, outstanding practical skills ininformation technology, and capable of creatively solvingcomplex engineering problems in computer science andrelatedfields through scientific and technological theories andengineering practical methods, as well as the ability of doingacademic cutting-edge project research:通过科学思维方法的训练,培养学生运用科学原理解决实际问题的工程能力,最终能为学习本专业后继课程和从事与编译器构造、实现有关的技术工作奠定基础:1-3A solid professional foundation and competency,systematicalmastery of the specialized knowledge and skills in moderminformation processing theory, big data and artificialintelligence,projectmanagement anddecision-making培养科学与工程应用的意识和素质,逐步培养学生的探索精神和创新能力。Understand thesignificant meaningsof engineering2-1communication education in improving the ability ofindependent innovation and building an innovation-orientedcountry(2)德育目标:能够在多学科背景下的团队中承担个体、团队成员以及负责Essential Quality人的角色。Enhance the innovation and entrepreneurship ability of2-2engineering science and technology talents and construct theeducation network of industry-university cooperation toimprove the core competitiveness of China in the globaldevelopment.课程教学目标与毕业要求的对应关系MatrixofGA&SLOs毕业要求GA指标点GAIndex教学目标SLOs指标点1-3:掌握计算机组成原理、操作1、掌握数学与自然科学知系统与编译原理等基础知识,掌握复杂识,具备较强的数学分析、数1-1,1-2计算机系统的技术原理;值计算能力和分析与解决翻译英文,以下同复杂工程问题的能力。翻译英文,以下同指标点1-4:掌握计算机软硬件知识,具1-2,1-33/15
3 / 15 Apply the basic principles, theories and practice of communication in professional engineering contexts. Find, evaluate, reference and document information sources, and conduct research to support decision making. Apply the engineering design process of problem identification, formulation and solution. 1-2 掌握编译程序构造的基本原理与技术,包括词法分析、语法 分析、属性文法和语法制导的翻译、语义分析、中间代码生 成和优化的基本方法,从形式语言理论的角度,进一步认识 与理解程序设计语言及其与编译程序的联系。 Excellent engineering literacy, outstanding practical skills in information technology, and capable of creatively solving complex engineering problems in computer science and related fields through scientific and technological theories and engineering practical methods, as well as the ability of doing academic cutting-edge project research; 1-3 通过科学思维方法的训练,培养学生运用科学原理解决实际 问题的工程能力,最终能为学习本专业后继课程和从事与编 译器构造、实现有关的技术工作奠定基础; A solid professional foundation and competency, systematical mastery of the specialized knowledge and skills in modern information processing theory, big data and artificial intelligence, project management and decision-making; (2)德育目标: Essential Quality 2-1 培养科学与工程应用的意识和素质,逐步培养学生的探索精 神和创新能力。 Understand the significant meanings of engineering communication education in improving the ability of independent innovation and building an innovation-oriented country. 2-2 能够在多学科背景下的团队中承担个体、团队成员以及负责 人的角色。 Enhance the innovation and entrepreneurship ability of engineering science and technology talents and construct the education network of industry-university cooperation to improve the core competitiveness of China in the global development. 课程教学目标与毕业要求的对应关系 Matrix of GA & SLOs 毕业要求 GA 指标点 GA Index 教学目标 SLOs 1、掌握数学与自然科学知 识,具备较强的数学分析、数 值计算能力和分析 与 解 决 复杂工程问题的能力。 翻译英文,以下同 指标点 1-3:掌握计算机组成原理、操作 系统与编译原理等基础知识,掌握复杂 计算机系统的技术原理; 翻译英文,以下同 1-1,1-2 指标点 1-4:掌握计算机软硬件知识,具 1-2,1-3
备软件系统开发、设计与维护的能力指标点1-5:掌握在计算机科学与技术专业的相关领域进行工程设计、技术创新2-1, 2-2的能力。指标点4-2:能够运用数学、计算机理论的相关知识分析复杂软件工程问题,并1-2,1-34、掌握计算机科学基础理结合计算机领域专业知识对复杂计算论,具备在计算机科学领域里机系统设计问题进行识别、表达与实施:分析问题、解决问题的能力。指标点4-3:充分理解和掌握专业知识的基础上,能够运用所学知识开展文献检2-1索和资料查询。指标点5-1:掌握解决复杂计算机系统工1-25、掌握计算机软硬件系统知程问题的基础理论知识;识,包括计算机系统、数据库指标点5-2:具备计算机科学与技术专业系统、人机交互、算法与复杂所需的设计/开发技能,能够设计针对复1-3性、程序设计语言、网络与计杂计算机工程问题的解决方案,设计满足特定需求的软硬件系统;算、软件工程等。指标点5-3:能够综合运用理论和技术手2-1段解决计算机领域中的实际问题。6、具有计算机应用系统的分析、设计、开发、实施和项指标点6-1:结合计算机学科的基本原理目管理的能力。具有综合运2-2和专业知识,设计实验进行探索和分析用所学科学理论和技术手段分析并解决工程问题的能讨论,并优化实验技术与工程方案。力。7、能够将计算机技术运用到指标点7-1:具备对本专业相关领域的新相关领域进行工程设计、技术2-2产品、新工艺、新技术和新设备进行研究、创新的能力和一定的科研素养。开发与设计的能力。三、教学内容Content(Topics)注:以中英文填写,各部分内容的表格可根据实际知识单元数量进行复制、扩展或缩减Note: Filled in both CN and EN, extend or reduce based on the actual numbers of knowledge unit(1)理论教学Lecture知识单元序号支撑教学目标11-1,1-3,2-1,2-2Knowledge Unit No.SLOs Supported绪论知识单元名称Unit TitleIntroductions and the Design Proces编译程序的基本概念Introductions and Students breakdown知识点:编译的过程Knowledge Delivery编译程序的结构4 /15
4 / 15 备软件系统开 发、设计与维护的能力 指标点 1-5:掌握在计算机科学与技术专 业的相关领域进行工程设计、技术创新 的能力。 2-1,2-2 4、掌握计算机科学基础理 论,具备在计算机科学领域里 分析问题、解决问题的能力。 指标点 4-2:能够运用数学、计算机理论 的相关知识分析复杂软件工程问题,并 结合计算机领域专业 知识对复杂计算 机系统设计问题进行识别、表达与实施; 1-2,1-3 指标点 4-3:充分理解和掌握专业知识的 基础上,能够运用所学知识开展文献检 索和资料查询。 2-1 5、掌握计算机软硬件系统知 识,包括计算机系统、数据库 系统、人机交互、算法与复杂 性、程序设计语言、网络与计 算、软件工程等。 指标点 5-1:掌握解决复杂计算机系统工 程问题的基础理论知识; 1-2 指标点 5-2:具备计算机科学与技术专业 所需的设计/开发技能,能够设计针对复 杂计算机工程问题的解决方案,设计满 足特定需求的软硬件系统; 1-3 指标点 5-3:能够综合运用理论和技术手 段解决计算机领域中的实际问题。 2-1 6、具有计算机应用系统的分 析、设计、开发、实施和项 目管理的能力。具有综合运 用所学科学理论和技术手段 分析并解决工程问题的能 力。 指标点 6-1:结合计算机学科的基本原理 和专业知识,设计实验进行探索和分析 讨论,并优化实验技术与工程方案。 2-2 7、能够将计算机技术运用到 相关领域进行工程设计、技术 创新的能力和一定的科研素 养。 指标点 7-1:具备对本专业相关领域的新 产品、新工艺、新技术和新设备进行研究、 开发与设计的能力。 2-2 三、教学内容 Content (Topics) 注:以中英文填写,各部分内容的表格可根据实际知识单元数量进行复制、扩展或缩减 Note: Filled in both CN and EN, extend or reduce based on the actual numbers of knowledge unit (1) 理论教学 Lecture 知识单元序号: Knowledge Unit No. 1 支撑教学目标: SLOs Supported 1-1,1-3,2-1,2-2 知识单元名称 Unit Title 绪论 Introductions and the Design Process 知识点: Knowledge Delivery 编译程序的基本概念 Introductions and Students breakdown 编译的过程 编译程序的结构
编译阶段的组合Prework了解:编译的基本过程和与编译相关的工具及技术RecognizePorotype and significance of Engineering degign学习目标:理解:语言翻译程序的作用和翻译的方式UnderstandLearningObjectivesTherequirementsofcourse掌握:编译程序的结构和阶段MasterMasterthemoduleofgroupcollaboration(1)展示本专业在新时代中国特色社会主义建设中的成就和当前要解决的重大课题;德育目标Moral Objectives(2)理解编译系统架构及理论知识对于刻画工程实践问题的重要意义。重点:编译器的概念:语言翻译程序的种类:编译阶段。Key PointsStrategyofbrainstorming难点:编译阶段的组合:语言翻译程序的种类和区别Focal pointsBehaviorandcommunicatewell ingroup collaboration知识单元序号支撑教学目标:21-2,1-2,2-1Knowledge Unit No.SLOs Supported知识单元名称程序设计语言及其文法Unit TitleEvaluating sources形式语言基础文法的定义知识点:语言的定义Knowledge Delivery文法的分类CFG的分析树了解:形式语言的描述工具Recognize学习目标:理解:文法的定义UnderstandLearning Objectives掌握:句型推导的方法Master通过具体案例学会如何从具体到抽象,再从抽象到具体德育目标Strength engineering ethics and professional morality through positiveMoral Objectivesandnegativecasesduringengineeringprojectsimplementation重点:文法和语言的形式定义Key Points难点:句子的推导Focal points5/15
5 / 15 编译阶段的组合 Prework 学习目标: Learning Objectives 了解: Recognize 编译的基本过程和与编译相关的工具及技术 Porotype and significance of Engineering degign 理解: Understand 语言翻译程序的作用和翻译的方式 The requirements of course 掌握: Master 编译程序的结构和阶段 Master the module of group collaboration 德育目标 Moral Objectives (1)展示本专业在新时代中国特色社会主义建设中的成就和当前要 解决的重大课题; (2)理解编译系统架构及理论知识对于刻画工程实践问题的重要意 义。 重点: Key Points 编译器的概念;语言翻译程序的种类;编译阶段。 Strategy of brainstorming 难点: Focal points 编译阶段的组合;语言翻译程序的种类和区别 Behavior and communicate well in group collaboration 知识单元序号: Knowledge Unit No. 2 支撑教学目标: SLOs Supported 1-2,1-2,2-1 知识单元名称 Unit Title 程序设计语言及其文法 Evaluating sources 知识点: Knowledge Delivery 形式语言基础 文法的定义 语言的定义 文法的分类 CFG 的分析树 学习目标: Learning Objectives 了解: Recognize 形式语言的描述工具 理解: Understand 文法的定义 掌握: Master 句型推导的方法 德育目标 Moral Objectives 通过具体案例学会如何从具体到抽象,再从抽象到具体 Strength engineering ethics and professional morality through positive and negative cases during engineering projects implementation 重点: Key Points 文法和语言的形式定义 难点: Focal points 句子的推导