词法分析 词法分析的目的是把源代码文件分解成一个个的词法元组。
常见的词法元组分类有:token classes
Identifier 、whitespace、number 、keyword
标示符、空格、数字、关键字
open parn"(" close parn")" semicolon";" operator “+、-、*、/、==” e.g.
这些符号自己就是一组
Identifier:
variable names,class names and strings of letters or digits, starting with a letter
Keywords:
are typically just a fix set of reserved words
whitespace:
空格,自成一组,包括blank \t \n即空白、换行符、制表符等多个等同于一个
词法分析器是要与语法分析器配合使用的,它读入一个字符串,然后转换成一对对的token,元组,然后输出给phaser语法分析器
strings--->Lexical Analysis————>token-->pharser
例
foo=42
可以分解为三个元组<identifier,"foo">、<opertor,"=">、<number,"42">,在这里后面的都是字符串,“42”是一个发挥数字作用的字符串。
总之,词法分析做了两件事情,一个是识别出每一个lexeme元词,然后为每一个元词分类成<token classs,lexeme>的形式,即进行元组归类的工作