无名商城论坛

搜索
查看: 384|回复: 0

[其他技术] 【HC】【考核】设计模式——解释器模式

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 18:43:27 | 显示全部楼层 |阅读模式

这里春日野悠[滑稽]
1 简介解释器模式(Interpreter Pattern)定义:定义语言的语法,并建立一个解释器来解释该语言中的句子,这里的“语言”指使用规定格式和语法的代码。它用于描述如何构成一个简单的语言解释器,主要应用于使用面向对象语言开发的编译器和解释器设计。
2 代码(1)环境类(Context)import java.util.HashMap; public class Context {        //存储公共信息,用于在进行具体的解释操作时从中获取相关信息        private HashMap<String,Object> map=new HashMap();                public void assign(String key,String value) {                //往环境类中设值        }                public Object lookup(String key) {                //获取存储在环境中的值                return map.get(key);        }}(2)抽象表达式public abstract class Expression {        public abstract void interpret(Context ctx);}(3)终结符表达式public class TerminalExpression extends Expression {         @Override        public void interpret(Context ctx) {                //对终结表达式的解释操作        }}(4)非终结符表达式public class NonterminalExpression extends Expression {        private Expression left;        private Expression right;                NonterminalExpression(Expression left,Expression right){                this.left=left;                this.right=right;        }         @Override        public void interpret(Context ctx) {                //递归调用每一个组成部分的 interpret() 方法                //在递归调用时指定组成部分的连接方式,即非终结符的功能        }}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表