一: 词法分析
词法分析的主要任务: 从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型 将识别出的单词转换成统一的机内表示——词法单元(token)形式
token:<种别码,属性值>
单词类型种别种别码
关键字program.if、 else、then、…一词一码标识符变量名、数组名、记录名、过程名、…多词一码常量整型、浮点型、字符型、布尔型、…一型一码运算符算术(± * │++ – )关系(> <== != >= <= )逻辑(&|~)一词一码或一型一码界限符; ()= { }…一词一码
二:语法分析
语法分析的主要任务: 语法分析器(parser)从词法分析器输出的token序中识别出各类短语,并构造语法分析树(parse tree) eg:
三:语义分析
语义分析的主要任务: 1.收集标识符的属性信息: 种属,类型,存储长度,存储位置,值,作用域,参数和返回信息 2.语义检查