目录第七章.程序设计语言与语言程序处理程序基础第一节.编译过程第二节.文法定义第三节.有限自动机与正规式第四节.表达式第五节.函数调用——传值与传址第六节.程序设计语言的种类、特点及适用范围第七章.程序设计语言与语言程序处理程序基础重点:正规式(必考)、表达式(高频)、传值与传址(高频)第一节.编译过程编译过程分为解释型和编译型两类,编译方式生成逻辑上与源程序等价的目标程序,解释方式不生成图注:词法错误:从左到右逐个扫描源程序中的字符,识别其中如关键字(或保留字)、标识符、常数、运算符以及分隔符(标点符号和括号)等语法错误:主要是分析句子结构的错误,如非法字符,关键字或标识符拼写错误,语法结构错误,if endif 不匹配,缺分号等语义错误:死循环,零循环,其他逻辑错误等词法分析的输出是“记号流”;也就是语法分析的输入,而语法分析的输出是“语法树”词法分析的任务是把源程序的字符串转换为单词符号序列注:(1)符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统之中(2)在对源程序进行编译的过程中,常生成与源程序等价的中间代码,以利于进行优化,常见的中间代码包括:后缀式、三地址码和树等(3)中间代码的生成与具体的机器没有任何关系,但目标代码的生成与具体的机器有着密切的关系(4)编译过程中,中间代码生成和代码优化并不是每一个编译编译器都必须的第二节.文法定义文法的定义一个形式文法是一个有序四元组 G=(V,T,S,P),其中:1) V:非终结符。不是语言组成部分,不是最终结果,可理解为占位符2) T: 终结符。是语言的组成部分,是最终结果。3) S:起始符。是语言的开始符号4) P:产生式。用终结符替代非终结符的规则文法的类型分为 0 型、1 型、2 型、3 型零型又称短语文法1 型又称上下文有关文法2 型又称上下文无关文法3 型又称正规文法语法推导树可以用来进行语法规则的推导,通过推导树,我们可以了解到一种语法能够表达的串以及能够构造的句型是什么样子例如:注:程序设计语言的大多数语法现象可用其中的上下文无关文法来描述第三节.有限自动机与正规式有限自动机图注:(S,0)=B 表示 S 通过路径 0 可以得到 B,而 S 即为初态,f 即为终态考察形式:设定一个值:如 10 或 01 或 001,问是否能够构建这样一条通路?,实际上该题即问终态与初态相连,求出其路径,再看其路径值是否与与...