龙书第二章 词法部分 - WinChua/blog GitHub Wiki
1. 词法单元
词法分析器需要从字符流中读入字符组织成为一个个的词法单元对象. 除了得到用于语法分析的终止符号之外, 每一个词法单元对象还需要包含一些附加的信息.
1.1 与终止符号的区别
词法单元是一个带有附加信息(包括当前token的行列, string等)的终止符号.
1.2 概念:
- lexem(词素): 构成一个词法单元的输入字符序列.
- 预读: 词法器碰到一些字符的时候,可能需要预先读取后面的一个字符, 比如读取到'>'之后,需要读多一个字符看是不是等于'=',如果不是再把读到的字符放回buf中, 通常使用的方法是缓存区; 总体上讲, 预读需要支持两个接口, 读取一个字符、将字符放回字符流中.