目录
第七章.程序设计语言与语言程序处理程序基础
重点:正规式(必考)、表达式(高频)、传值与传址(高频)
第一节.编译过程
编译过程分为解释型和编译型两类,编译方式生成逻辑上与源程序等价的目标程序,解释方式不生成
图注:词法错误:从左到右逐个扫描源程序中的字符,识别其中如关键字(或保留字)、标识符、常数、运算符以及分隔符(标点符号和括号)等
语法错误:主要是分析句子结构的错误,如非法字符,关键字或标识符拼写错误,语法结构错误,if endif不匹配,缺分号等
语义错误:死循环,零循环,其他逻辑错误等
词法分析的输出是“记号流”;也就是语法分析的输入,而语法分析的输出是“语法树”
词法分析的任务是把源程序的字符串转换为单词符号序列
注:
(1)符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统之中
(2)在对源程序进行编译的过程中,常生成与源程序等价的中间代码,以利于进行优化,常见的中间代码包括:后缀式、三地址码和树等
(3)中间代码的生成与具体的机器没有任何关系,但目标代码的生成与具体的机器有着密切的关系
(4)编译过程中,中间代码生成和代码优化并不是每一个编译编译器都必须的
第二节.文法定义
文法的定义
一个形式文法是一个有序四元组G=(V,T,S,P),其中:
1) V:非终结符。不是语言组成部分,