zoukankan      html  css  js  c++  java
  • 大话设计模式笔记 解释器模式

    解释器模式(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);
            }
        }
    }

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

  • 相关阅读:
    Single Threaded Execution
    多线程(第三天)
    多线程(第二天)
    IE中float:right单独一行
    web.xml配置
    java调用asmx的webservice
    跨域访问
    jsp页面导入jstl标签
    搜索dwr做即时聊天的时候看到的问题
    LigerUI tree在ie下显示不出来/LigerUI 控件在ie下错乱
  • 原文地址:https://www.cnblogs.com/linkarl/p/4868926.html
Copyright © 2011-2022 走看看