解释器模式
来源:互联网 发布:json 数据格式 编辑:程序博客网 时间:2024/06/06 12:31
解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可以使用它。
如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。
class Program { static void Main(string[] args) { Context context = new Context(); IList<AbstractExpression> list = new List<AbstractExpression>(); list.Add(new TerminalExpression()); list.Add(new NonterminalExpression()); list.Add(new TerminalExpression()); list.Add(new TerminalExpression()); foreach (AbstractExpression exp in list) { exp.Interpret(context); } Console.Read(); } } class Context { private string input; public string Input { get { return input; } set { input = value; } } private string output; public string Output { get { return output; } set { output = value; } } } abstract class AbstractExpression { public abstract void Interpret(Context context); } class TerminalExpression : AbstractExpression { public override void Interpret(Context context) { Console.WriteLine("终端解释器"); } } class NonterminalExpression : AbstractExpression { public override void Interpret(Context context) { Console.WriteLine("非终端解释器"); } }
0 0
- 深入浅出解释器模式
- 解释器(Interpreter )模式
- Interpreter解释器模式
- Interperter 解释器模式
- 解释器模式 InterpretePattern
- 解释器模式
- 解释器模式
- 深入浅出解释器模式
- 解释器模式(python)
- 解释器模式
- 解释器模式 详解
- 解释器模式
- Java解释器模式
- 解释器模式
- Interpreter 解释器模式
- java 解释器模式
- 解释器模式
- 解释器模式
- 今天开始写博客,记录自己的学习历程
- C语言_时间日期函数
- c#迷
- i++/++i/a=a+b/a+=b
- Android的cookie的接收和发送
- 解释器模式
- Pycharm使用方法详解
- nyoj 111 分数加减法
- SQL Server阻止了对组件xp_cmdshell过程的解决方案
- HDU-3507 Print Article 斜率优化DP
- 深入剖析Sleep、wait、notify、notifyAll、yield、join、Interrupt
- Spark On YARN内存和CPU分配
- python安装包
- TabLayout导航头实现的滑动