【译】Python Lex Yacc手册
0 一些翻译约定
1 前言和预备
2 介绍
3 PLY概要
4 Lex
4.1 Lex的例子
4.2 标记列表
4.3 标记的规则
4.4 标记的值
4.5 丢弃标记
4.6 行号和位置信息
4.7 忽略字符
4.8 字面字符
4.9 错误处理
4.10 构建和使用lexer
4.11 @TOKEN装饰器
4.12 优化模式
4.13 调试
4.14 其他方式定义词法规则
4.15 额外状态维护
4.16 Lexer克隆
4.17 Lexer的内部状态
4.18 基于条件的扫描和启动条件
4.19 其他问题
5 语法分析基础
6 Yacc
6.1 一个例子
6.2 将语法规则合并
6.3 字面字符
6.4 空产生式
6.5 改变起始符号
6.6 处理二义文法
6.7 parser.out调试文件
6.8 处理语法错误
6.9 行号和位置的跟踪
6.10 构造抽象语法树
6.11 嵌入式动作
6.12 Yacc的其他
7 多个语法和词法分析器
8 使用Python的优化模式
9 高级调试
9.1 调试lex()和yacc()命令
9.2 运行时调试
10 如何继续
本书使用 GeChiUI.com 发布
4.2 标记列表
4.2 标记列表
最后更新于:2022-04-01 01:09:32
词法分析器必须提供一个标记的列表,这个列表将所有可能的标记告诉分析器,用来执行各种验证,同时也提供给yacc.py作为终结符。 在上面的例子中,是这样给定标记列表的: ~~~ tokens = ( 'NUMBER', 'PLUS', 'MINUS', 'TIMES', 'DIVIDE', 'LPAREN', 'RPAREN', ) ~~~
';