用途
- 通常用于写编译程序。
- 使用一个实现类来表示一个语言的语法树中一个节点
- 语法结构树通常由语法分析程序创建。
要素
- 解释器接口 Expression:包含一个 interpret() 方法用于解释语言表达式。
- 实现类 TerminalExpression:对应语法树中的终结符表达式
- 实现类 NonterminalExpression:对应语法树中的非终结符表达式
- Context 类:上下文,包含解释器之外的一些全局信息。
- Client 客户端:构建表达式,调用解释操作
- 示例图:

优缺点
- 复杂的语法会使类结构膨胀
