编译原理课程教学大纲-东南大学计算机科学与工程学院.DOC
文本预览下载声明
《编译原理》课程教学大纲
(课程编号 711302 学分-学时-上机 4.0-64-16)
东南大学计算机科学与工程学院
一、课程的性质与目的
本课程是软件工程专业必修的专业核心课。本课程的教学目的,是使学生在学习程序设计基础及语言和数据结构的基础上,进一步理解程序及程序设计语言的本质,掌握程序词法分析和句法分析的基本原理和方法。学会构造一个编译程序,用以将一种语言所编写的程序(如,用C语言编写的程序)等价变换为另一种语言所编写的程序(如,用汇编语言编写的程序),并能对变换过程中所生成的中间代码程序及变换所得的程序进行优化,以培养良好的程序设计优化思维,提高学生的编程能力,为学习有关专业课程和进行大型软件实践打下必要的基础。
二、课程内容的教学要求
1. 编译原理及编译程序构造引论
(1)开设编译原理课程的主要作用:让学生理解开设编译原理课程的意义和作用,编译原理课程在计算机专业课程体系中的地位,学习编译原理课程应采用的方法,编译原理课程知识体系结构,让学生初步认识学习编译原理课程的重要性和潜在的使用价值。
(2)编译程序及其构造过程概述:介绍编译程序的基本含义、作用和结构,简述编译程序构造的基本过程,以让学生形成编译程序构造的总体印象。
2. (程序设计)语言和语法描述
(1)语言描述体系结构:了解语言的语法、语义和语用的基本含义及相互作用,掌握描述语言语法的基本方法和过程,使学生清楚语言语法描述应包括由字符构造单词的词法描述,及由单词构造句子的句法描述。
(2)语言和文法的基本概念:掌握语言与文法的相关基本概念,如,串、句子、句型、文法、产生式、推导与归约等,语言文法对语言语法描述的作用,文法的形式化描述方法和过程,Chomsky形式语言文法体系及其在语言语法描述中的应用、特别是正规文法及上下文无关文法在语言语法描述中的应用。
(3)从语言构造文法:了解常见语言句子构造模式,掌握从典型语言句子模式构造对应无(产生式文法的方法,使学生能够理解由语言构造文法的重要性。
(4)语法树、分析树与二义文法:掌握语法树、分析树及二义文法的基本概念,如,语法树、分析树、短语、句柄、二义文法,语法树在语言语法分析过程中的作用,语法树构造方法和过程,二义文法对语言文法的简化描述的作用。
3. 词法分析
(1)词法分析程序的作用和基本构造过程:让学生掌握词法分析程序的作用和基本构造过程,了解词法分析程序构造的关键问题,如,词法描述方法、由词法描述构造相应词法分析程序的思想方法。
(2)正规表达式、正规语言与正规文法:掌握正规表达式对单词模式表达的作用,由基本字符构造正规表达式的方法和过程,识别一个正规表达式的方法,以及正规语言的基本概念,理解正规表达式、正规语言、正规文法三者之间的等价关系和转换方法。
(3)有限自动机:让学生了解有限自动机对正规表达式识别(也就是单词识别)的作用,掌握有限自动机的基本概念,熟悉由正规表达式构造非确定有限自动机的方法与过程,掌握将非确定有限自动机确定化的理由、方法与过程,熟悉确定有限自动机最小化的理由、方法和过程,了解正规文法(正规表达式、正规语言)与有限自动机之间的相互转换方法、以及由确定有限自动机构造相应词法分析程序的方法和过程。
(4)词法分析程序生成工具Lex:了解Lex的基本思想和使用方法。
4. 语法(句法)分析
(1)语法分析基本过程和方法概述:进一步理解上下文无关文法与语言语法描述的关联,了解利用下推自动机进行语法分析的基本过程,熟悉典型语法分析方法的基本思想,深刻理解“推导—匹配”、“移进—归约”的语法分析的思想。
(2)自顶向下语法分析:理解自顶向下语法分析方法的基本思想和基本过程,了解基于递归下降分析法构造语法分析程序的基本思想和基本过程,掌握预测分析法LL(1)的基本思想和基本技巧、特别是左递归消除、首符集First和随符集Follow构造的技巧,能够由上下文无关文法构造LL(1)分析表,了解基于LL(1)分析表进行具体句子的分析过程。
(3)自底向上语法分析:理解自底向上语法分析方法的基本思想和基本过程,重点掌握LR分析法的基本思想和基本过程,能够由上下文无关文法构造简单的LR分析表(SLR(1)分析表)和规范的LR分析表(LR(1)分析表),了解由LR(1)构造LALR(1)分析表的基本思想和基本过程。
(4)二义文法的语法分析:掌握语法分析过程解决文法二义性的基本思想,能够通过二义文法的附加条件构造相应的SLR(1) 或LR(1)分析表。
(5)语法分析程序生成工具YACC:了解YACC的基本思想和应用过程。
5. 语义分析
(1)属性文法:了解引入符号属性对语言语义描述的作用,理解将上下文无关文法转换为属性文法的意义、过程和关键,掌握属性文法中语义规则的使用方法,理解边进行语法
显示全部