一. 概念
给的一段语言,给出语法规则,解释器用来解释这段语句并输出结构。
二. 组成
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/fcbd8747117284b909fa3d34db4cef79.png)
终结符:在编程语言的上下文中,你可以把终结符看作是语言的单词。
非终结符:在编程语言的上下文中,你可以把非终结符看作是语言的语法规则。
三. 案例
使用解释器来实现四则运算:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/775ef8463cd7eecbc40853127767ac10.png)
Expression: 获取具体的值
VarExpression:根据变量的名称获取具体的值
SymbolExpression是一个空实现,通过继承让子类实现相应的方法。SubExpressin实现减法,addExpression实现加法
四. 优缺点分析
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a914b4f95078c4ea7a8b0fbc58556612.png)