卖了好久关子了,说要写一个程序语言理论的入门读物,可是一直没有下笔。终于狠下心来兑现一部分承诺。今天就从解释器讲起吧。 解释器是比较深入的内容。虽然我试图从最基本的原理讲起,尽量让这篇文章不依赖于其...
分类:
其他好文 时间:
2015-02-03 15:28:48
阅读次数:
241
一、简介1、解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。2、类成员(1)AbstractExpression(抽象表达式):声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享。(2)TerminalExpression(终结符...
分类:
其他好文 时间:
2015-02-01 11:56:44
阅读次数:
267
Java 对象创建过程 在某些项目中,会使用到静态块,构造器中初始化其他对象。。。深刻理解了java类初始化过程,这些将不在是问题。那java对象的步骤是什么呢?假设现在有People类,未显示继承任何其他类,初始化过程是这样的。1 java 解释器必须查找类路径,以定位People.class.....
分类:
编程语言 时间:
2015-01-31 23:09:12
阅读次数:
259
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码: 1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件 2、开始--运行--cmd3、luac -o out.lua 1.lu...
分类:
其他好文 时间:
2015-01-31 18:01:01
阅读次数:
276
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。coun...
分类:
编程语言 时间:
2015-01-30 17:38:15
阅读次数:
267
从Python文档关于Naming and binding的说明可知,变量名是绑定到具体对象的,从这点来看,可以把它理解为C++中的引用。考虑下面两行语句:
a = 'test'
a = 'test_ext'第1行执行后,Python解释器会在内存中创建string类型的对象'test',这个对象一旦创建就不能再修改其值。赋值符号只是将变量名a绑定到这个对象上而已。
第2行执行后,同理,值为'...
分类:
编程语言 时间:
2015-01-30 15:58:20
阅读次数:
185
原帖: http://blog.csdn.net/leonwei/article/details/7827940lua和c有两种关系: 一种是在lua中调用C的函数,C称为库代码,一种是C中调用lua,C就称为应用程序代码,此时C中包含了lua的解释器C代码部分 注意在C++中,通常要把lua的一些...
分类:
其他好文 时间:
2015-01-30 14:51:43
阅读次数:
112
出错和异常
------------------------------------
python的标准异常(内建异常):
BaseException:所有异常的基类。
从BaseException派生的子类:
KeyboardInterrupt:用户中断执行。
SystemExit:python解释器请求退出。
Exception:常规错误的基类。
从...
分类:
编程语言 时间:
2015-01-30 09:03:29
阅读次数:
354
表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果。程序中常用量是最简单的一类表达式就是变量。变量名也是一种简单的表达式,它的值就是赋值给变量的值。复杂的表达式是由简单的表达式组成的。比如数组访问表达式是由一个表示数组的表达式,方括号、一个整数表达式构成。它们所...
分类:
编程语言 时间:
2015-01-29 19:20:54
阅读次数:
161
http://blog.csdn.net/dulixin/article/details/2133840#所有代码如下,使用注释的方式讲解脚本#修改好文件夹和保存结果路径,可以把本文件直接拷贝进tcl解释器运行#脚本目的:返回一个文件夹下所有的文件的绝对路径#主要讲述和操作的命令cd、pwd、glo...
分类:
其他好文 时间:
2015-01-29 09:20:34
阅读次数:
246