Chapter 2 词法分析
0.概述
词法分析(lecical analysis)的作用:将原程序读作字符文件并将其分为若干个记号,记号是一个字符序列。三类字符:关键字(key word),标识符(identifier),
步骤:
- 给出扫描程序的概貌
- 正则表达式与自动机
- TINY描述程序的完整实现
- 扫描器生成器的过程和方法,并用Lex再次实现TINY的扫描程序
1.扫描处理
从源代码中读取字符并形成由编译器的以后部分(通常是分析程序)处理的逻辑单元。
记号:名称、属性。撒尿程序必须计算每个计算的属性并将所有属性收集到一个单独构造的数据类型中,成为token record.
2.正则表达式
在正则表达式中有3种基本运算:① 从各选择对象中选择,用元字符|(竖线)表示。②连结,由并置表示(不用元字符)。③重复或“闭包”,由元字符*****表示。
在这 3个运算中, *****优先权最高,连结其次,| 最末