最近在看DSL的东西,对于外部DSL,写一个解释器是必不可少的。我试图归纳一下我学到的,以写一个解释器为目标,讲一下如果来实现一个可用的解释器。一个解释器通常可以分为一下几个阶段:
词法分析(Lexer) 语法分析(Parser, BNF, CFG, AST) 语义分析(AST的处理, annota...
分类:
其他好文 时间:
2014-04-30 00:39:01
阅读次数:
466
ECMAScript给Function原型定义了两个方法,一个是call()和apply()。使用这两个方法可以想其他对象方法一样调用函数。把对象当成数据一样的参数传递给函数,参数去调用函数。
他两的区别是:call的第一个参数必须是对象(或者函数),其余的参数可以任意。而apply的一般只有两个参...
分类:
移动开发 时间:
2014-04-29 23:48:41
阅读次数:
872
网上搜索了很多关于python的zipfile压缩、解压缩。觉得讲述比较详细,例子也很明了。由于比较懒,就直接复制了。以下内容大部分转于http://blog.csdn.net/jgood/article/details/4351911
zip文件格式是通用的文档压缩标准,在ziplib模块中,使....
分类:
编程语言 时间:
2014-04-29 23:43:36
阅读次数:
795
用javascript的 Date 函数来处理: var
date=jQuery.parseJSON(data)将返回的数据解析成为jQuery对象。 var start = new Date(date); var
year = start.getFullYear(); var month = st...
分类:
其他好文 时间:
2014-04-29 23:40:33
阅读次数:
499
[uwsgi]socket = 127.0.0.1:3032chdir =
/data/www/yida/pythonpath = ..env = DJANGO_SETTINGS_MODULE=yida.settingsmodule =
django.core.handlers.wsgi:WSGIH...
分类:
其他好文 时间:
2014-04-29 23:26:08
阅读次数:
611
之前对于erlang的进程字典了解的不够清楚,只是知道put()、get()函数,即存值和取值,而每个put、get中都有自己的一对Key——Value(键值对)与之对应。一个Key对应一个Value.在erlang中,启动进程节点之后,进程字典的put、get的值是对缓存的处理,而对数据库的操作,...
分类:
其他好文 时间:
2014-04-29 22:52:14
阅读次数:
521
chr和ord函数是用来字符串和ASCII码互转的.ASCII码是计算机所能显示字符的编码,它的取值范围是0-255,其中包括标点、字母、数字、汉字等。在编程过程中,经常把指定的字符转化为ASCII码进行比较。下面是PHP提供的转换ASCII码和字符的函数。1.chr()函数该函数用于将ASCII码...
分类:
Web程序 时间:
2014-04-29 22:34:50
阅读次数:
513
1,date_default_timezone_set(PRC)
设定一个脚本中所有日期函数的默认时区,PRC设置中国时区2,microtime(true) 返回当前unix微秒时间戳 1398681491.8171
,一秒=1000毫秒,1毫秒=1000微秒3,round($str,int) .....
分类:
Web程序 时间:
2014-04-29 22:32:48
阅读次数:
578
1、oop的意义:oop就是代码的重用:分解代码,最小化代码的冗余以及对现存的代码进行定制来编写程序。而不是实地的修改代码,或者从头开始2、继承搜索在那里查找属性:继承搜索会先在实例对象中寻找属性,然后
才是创建实例的类,之后是所有较高的超类,由对象树底端到顶端,并且至右侧。当属性首次找到时,搜索就...
分类:
编程语言 时间:
2014-04-29 22:06:05
阅读次数:
664