Token 的设计

学习目标

通过本集的学习,你将能够:

  • 理解 Token 的种类
  • 掌握 Token 的表示
  • 区分关键字和标识符

1. Token 的种类

常见 Token 类型:
- KEYWORD: 关键字
- IDENTIFIER: 标识符
- NUMBER: 数字
- STRING: 字符串
- OPERATOR: 运算符
- PUNCTUATOR: 标点符号
- COMMENT: 注释(通常跳过)
- WHITESPACE: 空白(通常跳过)

2. Token 的表示

2.1 枚举表示

Python 示例:
from enum import Enum

class TokenType(Enum):
    KEYWORD = 1
    IDENTIFIER = 2
    NUMBER = 3
    STRING = 4
    PLUS = 5
    MINUS = 6
    # ... 更多

class Token:
    def __init__(self, type, value=None):
        self.type = type
        self.value = value

2.2 关键字表

关键字表:
keywords = {
    'if': TokenType.IF,
    'else': TokenType.ELSE,
    'while': TokenType.WHILE,
    'int': TokenType.INT,
    # ... 更多
}

3. 关键字 vs 标识符

识别流程:
1. 识别一个标识符
2. 检查是否在关键字表中
3. 如果是,返回关键字 Token
4. 否则,返回标识符 Token

4. 自测问题

  1. Token 有哪些常见类型?
  2. 如何表示 Token?
  3. 如何区分关键字和标识符?

5. 下集预告

下一集我们将学习手写词法分析器(一)!

参考资料

  • 《编译原理》(龙书)
« 上一篇 词法分析器是什么? 下一篇 » 手写词法分析器(一)