词法分析(lexical analysis)概述
词法分析/扫描(Scanning)的主要任务
从左往右逐行扫描源代码的字符,从而识别出各个单词,确定出单词的类别,最后将单词转换为统一的机内表示-------词法单元(token)
token
token=<种别码,属性值>
分析:
- 关键字由于是独一无二的,比如在C++中,if只能表示判断语句,而且一门语言中的标识符固定的且数量不多,所以可以给它们每个专门弄一个识别码----一词一码
- 识别码,就是程序员自己定义的一些东西,比如:int a;这里的a就是我们自定义的标识符,由于程序员可以定义无数个标识符,所以不适合一词一码,而是所以标识符用一个种别码,再通过属性值来分别-----多词一码
- 常量,每种常量共用一个种别码,再通过属性值的不同来区别-----一型一码
- 运算符:算数运算符可以分为三类,但是数量不多,所以可以是一词一码也可以是一型一码
- 界限符:一词一码