斯坦福编译原理笔记-3 词法分析1

127 阅读1分钟

词法分析要做的就是把把字符串分成不同的token,并让token class并与字符集相关联,在编程语言中的一些token类: identifier, keywords,number

image.png

然后把这些分类的结果(语法单元,例<identifer, 'a'>)交给语法分析器

分析实例:

image.png

w: whitespace
k: keywords
i: identifiers
o: operator
n: number

总结

词法分析器要做两件事 一是识别输入中与标记相对应的子字符串,二是确定我们的标记类

在词法分析中可能出现的问题

LA Examples

分割字符串是从左到右,一次只读入一个字符,因此决定一个词法单元的结束语下一个词法单元的开始就需要读入后面的字符。

fortran语言的一个实例,在分析时我们需要不断的向前看,所以在设计词法分析系统时一个目标就是尽量减少向前看(look ahead)的内容数量。

image.png

c++语言的一个实例

image.png

最后的两个‘>>"存在分词时的冲突,嵌套模板或者是流运算符?