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);
            }
        }
    }

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

  • 相关阅读:
    再回首,Java温故知新(八):Java基础之字符串
    《Prism 5.0源码走读》 设计模式
    《Prism 5.0源码走读》Bootstrapper
    VS编译时自动下载NuGet管理的库
    《Prism 5.0源码走读》Prism 5.0简介
    代码阅读
    如何建设个人品牌
    Hexo建站教程
    Codeforce:131A. cAPS lOCK
    一文看懂《最大子序列和问题》
  • 原文地址:https://www.cnblogs.com/linkarl/p/4868926.html
Copyright © 2011-2022 走看看