精华内容
下载资源
问答
  • Pypy解释器

    2015-09-09 20:31:37
    Pypy Python解释器
  • 解释器模式

    千次阅读 2019-09-25 20:28:33
    解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 介绍 意图:...

    解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。

    介绍

    意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。

    主要解决:对于一些固定文法构建一个解释句子的解释器。

    何时使用:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。

    如何解决:构建语法树,定义终结符与非终结符。

    关键代码:构建环境类,包含解释器之外的一些全局信息,一般是 HashMap。

    应用实例:编译器、运算表达式计算。

    优点 :1、可扩展性比较好,灵活。 2、增加了新的解释表达式的方式。 3、易于实现简单文法。

    缺点: 1、可利用场景比较少。 2、对于复杂的文法比较难维护。 3、解释器模式会引起类膨胀。 4、解释器模式采用递归调用方法。

    使用场景 :1、可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。 2、一些重复出现的问题可以用一种简单的语言来进行表达。 3、一个简单语法需要解释的场景。

    注意事项:可利用场景比较少,JAVA 中如果碰到可以用 expression4J 代替。

    实现

    我们将创建一个接口 Expression 和实现了 Expression 接口的实体类。定义作为上下文中主要解释器的 TerminalExpression 类。其他的类 OrExpressionAndExpression 用于创建组合式表达式。

    InterpreterPatternDemo,我们的演示类使用 Expression 类创建规则和演示表达式的解析。

    解释器模式

    步骤 1

    创建一个表达式接口。

    Expression.java

    public interface Expression {
    
        boolean interpret(String context);
    
    }
    

    步骤 2

    创建实现了上述接口的实体类。

    TerminalExpression.java

    public class TerminalExpression implements Expression {
    
        private String data;
    
        public TerminalExpression(String data) {
            this.data = data;
        }
    
        @Override
        public boolean interpret(String context) {
            if (context.contains(data)) {
                return true;
            }
    
            return false;
        }
    
    }
    

    OrExpression.java

    public class OrExpression implements Expression {
    
        private Expression expr1 = null;
        private Expression expr2 = null;
    
        public OrExpression(Expression expr1, Expression expr2) {
            this.expr1 = expr1;
            this.expr2 = expr2;
        }
    
        @Override
        public boolean interpret(String context) {
            return expr1.interpret(context) || expr2.interpret(context);
        }
    
    }
    

    AndExpression.java

    public class AndExpression implements Expression {
    
        private Expression expr1 = null;
        private Expression expr2 = null;
    
        public AndExpression(Expression expr1, Expression expr2) {
            this.expr1 = expr1;
            this.expr2 = expr2;
        }
    
        @Override
        public boolean interpret(String context) {
            return expr1.interpret(context) && expr2.interpret(context);
        }
    
    }
    

    步骤 3

    InterpreterPatternDemo 使用 Expression 类来创建规则,并解析它们。

    InterpreterPatternDemo.java

    public class InterpreterPatternDemo {
    
        //规则:Robert 和 John 是男性
        public static Expression getMaleExpression(){
            Expression robert = new TerminalExpression("Robert");
            Expression john = new TerminalExpression("John");
            return new OrExpression(robert, john);
        }
    
        //规则:Julie 是一个已婚的女性
        public static Expression getMarriedWomanExpression(){
            Expression julie = new TerminalExpression("Julie");
            Expression married = new TerminalExpression("Married");
            return new AndExpression(julie, married);
        }
    
        public static void main(String[] args) {
            Expression isMale = getMaleExpression();
            Expression isMarriedWoman = getMarriedWomanExpression();
    
            System.out.println("John is male? " + isMale.interpret("John"));
            System.out.println("Julie is a married women? "
                    + isMarriedWoman.interpret("Married Julie"));
        }
    
    }
    

    步骤 4

    验证输出。

    John is male? true
    Julie is a married women? true
    
    展开全文
  • def chinese_punctuation(chinese): # 直接使用repl代替这些结束符号即可 for one_punctuation in '。?:;!': if one_punctuation in chinese: chinese=chinese.replace(one_punctuation,"#") ...
  • Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器: CPython当从Python...

    Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释器:

    CPython

    当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。

    IPython

    IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的,好比很多国产浏览器虽然外观不同,但内核其实是调用了IE。

    PyPy

    PyPy是另一个Python解释器,它的目标是执行速度,PyPy采用JIT技术,对Python代码进行动态编译,所以可以显著提高Python代码的执行速度。

    Jython

    Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

    IronPython

    IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

    在Python的解释器中,使用广泛的是CPython,对于Python的编译,除了可以采用以上解释器进行编译外,技术高超的开发者还可以按照自己的需求自行编写Python解释器来执行Python代码,十分的方便!


    展开全文
  • python解释器

    千次阅读 2019-06-21 17:05:55
    CPython:c语言开发的,使用最广的解释器 IPython:基于cpython之上的一个交互式计时器,交互方式增强,功能和cpython一样 PyPy:目标是执行效率,采用JIT技术,对python代码进行动态编译,提高执行效率 ...

    CPython:c语言开发的,使用最广的解释器


    IPython:基于cpython之上的一个交互式计时器,交互方式增强,功能和cpython一样


    PyPy:目标是执行效率,采用JIT技术,对python代码进行动态编译,提高执行效率


    JPython:运行在Java上的解释器,直接把python代码编译成Java字节码执行


    IronPython:运行在微软 .NET 平台上的解释器,把python编译成 .NET 的字节码

    展开全文
  • 查看 Python解释器路径的两种方式

    万次阅读 多人点赞 2019-01-16 18:47:27
    查看 Python 解释器路径 运行以下脚本,或者进入交互模式手动输入即可。 import sys import os print('当前 Python 解释器路径:') print(sys.executable) r""&amp...

    查看 Python 解释器路径的两种方式

    转载请注明出处:https://blog.csdn.net/jpch89/article/details/86512831



    1. 通过脚本查看

    运行以下脚本,或者进入交互模式手动输入即可。

    import sys
    import os
    
    print('当前 Python 解释器路径:')
    print(sys.executable)
    r"""
    当前 Python 解释器路径:
    C:\Users\jpch89\AppData\Local\Programs\Python\Python36\python.EXE
    """
    
    print()
    print('当前 Python 解释器目录:')
    print(os.path.dirname(sys.executable))
    r"""
    当前 Python 解释器目录:
    C:\Users\jpch89\AppData\Local\Programs\Python\Python36
    """
    
    

    2. 直接在控制台查看

    Windows 版:使用 where python

    C:\Users\jpch89>where python
    C:\Users\jpch89\AppData\Local\Programs\Python\Python37\python.exe
    C:\Users\jpch89\AppData\Local\Programs\Python\Python36\python.exe
    

    完成于 2019.01.16
    更新于 2019.02.07

    展开全文
  • Scala解释器

    千次阅读 2020-03-26 21:16:12
    Scala解释器 后续我们会使用scala解释器来学习scala基本语法,scala解释器像Linux命令一样,执行一条代码,马上就可以让我们看到执行结果,用来测试比较方便。 启动scala解释器 要启动scala解释器,只需要以下几步:...
  • 是否可以通过Python启动器(py.exe)启动Anaconda安装的Python解释器? 分析 一、 启动Python解释器有三种方法: 根据指定Python解释器的路径执行。按照这种方法是启动指定解释器最保险的方法。 在CMD中运行python....
  • Lua代码解释器

    热门讨论 2016-08-24 10:04:01
    这个Lua解释器是我自己使用lua 5.1的源码编译的,我平时写lua程序就用这个运行,小巧轻便,可用来配置Sublime Text3的lua运行环境
  • JAVA设计模式--解释器模式

    万次阅读 2017-02-25 14:51:01
    目录 一、什么是解释器模式 ...给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 所谓“语言”,指的是使用规定格式和文法的一类字符组合。 ...
  • xrc C语言解释器

    热门讨论 2012-04-06 16:53:41
    xrc C语言解释器,可以解析执行C语言脚本。这是VC6完整的代码。
  • 简单代码解释器

    2012-03-17 15:49:18
    简单代码解释器
  • Python解释器和IPython

    千次阅读 2021-01-12 10:00:24
    今天给大家介绍一下Python的一个功能非常强大的解释器IPython。虽然Python本身自带解释器,但是相对而言IPython的功能更加的强大。
  • 同一操作系统中安装多个版本Python解释器时。 在*nix操作系统中,通过shabang行,可以指定运行程序的Python解释器。 在Windows操作系统中,大致有两种方法指定运行程序的Python解释器。 使用Python启动器(py.exe)...
  • Java解释器

    千次阅读 2015-03-02 15:37:58
    解释器是Java虚拟机非常重要的一部分,它的工作就是把字节码转化为机器码并运行。Hotspot中实现了两种具体的解释器,分别是模板解释器而C++解释器。同时在Hotspot的源码树中还保留着一种“字节码解释器”的古老解释...
  • Python解释器

    千次阅读 2019-05-22 10:25:58
    由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。 CPython 当我们从Python官方网站....
  • PyCharm - Project Interpreter (项目解释器)

    万次阅读 2018-01-12 19:58:41
    PyCharm - Project Interpreter (项目解释器) File -> Settings... -> Project: -> Project Interpreter References
  • 什么是解释器

    千次阅读 2021-04-20 10:15:47
    解释器 高级语言的转换器 解释器是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。 编译:将我们编写的语言转成计算机可以识别的机器语言; 解释器有很多:python解释器,JavaScript解释器,java...
  • Python语言编译器与解释器

    千次阅读 2018-10-20 17:02:35
    一、解释型语言Python Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言。 编译型语言 先整体编译,再执行 运行速度快,任意改动需重新编译 可脱离编译环境运行 ...这个解释器是用C语...
  • Shell解释器

    千次阅读 2018-10-15 10:27:05
    调用解释器执行 顾名思义,就是把脚本的路径传入解释器中去执行: sh test.sh 或者 bash test.sh 这两者略有区别,我没有整理过完整的差异,但至少对于 echo 命令来说,以下命令在两种解释器下得到的结果是不一样...
  • Java解释器模式(Interpreter)

    千次阅读 2019-04-17 23:55:08
    解释器模式 介绍 是一种不常用的设计模式 用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计。 当我们需要开发一种新的语言时,可以考虑使用解释器模式。 尽量不要使用解释...
  • 当我们想在命令行中运行pip命令或者python命令时,想在全局环境运行时不会有任何问题,但是当我们想在一个干净的虚拟环境下开发自己的项目时,这时就需要虚拟环境中的python解释器。往往在实践中可以发现,进入虚拟...
  • 安装好Pycharm后如何配置Python解释器简易教程

    万次阅读 多人点赞 2018-07-27 17:51:21
    这两天有许多Python小白加入学习群,并且问了许多关于Pycharm基本使用的问题,今天小编就以配置Python解释器的问题给大家简单絮叨一下。 1、一般来说,当我们启动Pycharm,如果Pycharm正常激活的话,就会直接进入到...
  • pycharm配置Anaconda解释器

    万次阅读 2017-10-20 22:59:33
    pycharm配置 Anaconda解释器
  • C#设计模式之15-解释器模式

    万次阅读 2018-08-03 00:42:01
    解释器模式(Interpreter Pattern) 解释器模式属于行为型模式,给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。 解释器模式提供了评估语言的语法或表达式的方式。...
  • Java设计模式-解释器模式

    千次阅读 2019-03-28 09:01:26
    解释器模式

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,218,022
精华内容 487,208
关键字:

解释器