764 B
764 B
Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.(给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。)
- AbstractExpression 抽象解释器
- TerminalExpression 终结符表达式
- NonterminalExpression 非终结符表达式
- Context 环境角色
优点
一个简单语法分析工具,扩展性好,修改语法规则只要修改相应的非终结符表达式,扩展语法只要增加非终结符类就可以了
缺点
- 引起类膨胀
- 采用递归调用
- 效率问题
使用场景
- 重复发生的问题
- 一个简单语法需要解释的场景