编译原理——词法,语法,语义分析

一: 词法分析

词法分析的主要任务:
从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型
将识别出的单词转换成统一的机内表示——词法单元(token)形式

token:<种别码,属性值>

单词类型 种别 种别码
关键字 program.if、 else、then、… 一词一码
标识符 变量名、数组名、记录名、过程名、… 多词一码
常量 整型、浮点型、字符型、布尔型、… 一型一码
运算符 算术(± * │++ – )关系(> <== != >= <= )逻辑(&|~) 一词一码或一型一码
界限符 ; ()= { }… 一词一码

二:语法分析

语法分析的主要任务:
语法分析器(parser)从词法分析器输出的token序中识别出各类短语,并构造语法分析树(parse tree)
eg:
编译原理——词法,语法,语义分析_第1张图片

三:语义分析

语义分析的主要任务:
1.收集标识符的属性信息:
种属,类型,存储长度,存储位置,值,作用域,参数和返回信息
2.语义检查

你可能感兴趣的:(编译原理)