简介
给定一门语言,定义它的文法的一种表示(即语法规则),并定义一个解释器,该解释器用于解释 语言中符合该表示的句子。
角色
抽象解释器角色
为所有终结符解释器和非终结符解释器定义公共接口,其中最重要的是
解释(interpret)操作
,该方法由各个实现类实现
终结符解释器角色
继承或实现抽象解释器角色,用来
解释文法中的元素
。比如
R = R1 + R2
,其中 R1 和 R2 是元素,解释它们的解释器是终结符解释器
非终结符解释器
继承或实现抽象解释器角色,用来
解释文法中的规则
。比如
R = R1 + R2
,其中 “+” 是规则,解释它的解释器是非终结符解释器
上下文角色
用来指定
各个终结符的值
。比如
R = R1 + R2
,我们将 R1 赋值为 100、将 R2 赋值为 200,这些信息需要保存到上下文对象中
UML 类图