• 大话设计模式笔记 解释器模式


    解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

    编译原理的内容,定义一种语言,总结其文法,将其翻译成另一种语言(代码)。

    package interpreter;
    
    public abstract class AbstractExpression {
        
        public abstract void interpret(String context);
        
    }
    package interpreter;
    
    public class NonTerminalExpression extends AbstractExpression{
    
        @Override
        public void interpret(String context) {
            System.out.println("NonTerminalExpression "+context);
        }
    
    }
    package interpreter;
    
    import java.util.ArrayList;
    
    //终结符表达式,对终结符的解释操作。
    public class TerminalExpression extends AbstractExpression {
    
        @Override
        public void interpret(String context) {
            //对终结符的解释操作。
            System.out.println("TerminalExpression "+context);
        }
    
        public static void main(String[] args) {
            String context="context";
            
            ArrayList<AbstractExpression> expressions=new ArrayList<AbstractExpression>();
            
            expressions.add(new TerminalExpression());
            expressions.add(new NonTerminalExpression());
            expressions.add(new TerminalExpression());
            expressions.add(new TerminalExpression());
            
            for (AbstractExpression abstractExpression : expressions) {
                abstractExpression.interpret(context);
            }
        }
    }

    复杂的文法,应该使用语法分析程序。

  • 相关阅读:
    js 将u003C这一类东西转换为标签
    git使用
    js_03 面向对象
    初级算法 数组
    python 用execjs执行js代码
    js_02 函数
    递归
    01 .linux常用命令
    08. 脱缰的野马 crawlspider
    SPACES:“抽取-生成”式长文本摘要(法研杯总结)
  • 原文地址:https://www.cnblogs.com/linkarl/p/4868926.html
Copyright © 2020-2023  润新知