解释执行的本质是根据脚本语言代码描述,然后由解释器去做脚本描述的事情。用任何编程语言来实现对脚本的理解和执行都可以,但若打算实现全部功能还是很困难的。毕竟现在国际大公司例如sun和微软等才做得比较好。但如果只是简单实现一些编程功能还是比较容易的,一般来说编程需要融入的基本元素就是变量和判断。你可以设计一个简单的编程解释规则,然后根据规则来实现。例如自己设计一个脚本语言如下a=1b=2a+bpriintc实现这样的功能时,首先要有存储变量的地方和变量名称标识,这里a和b是变量标识,=号是赋值。所以实现这一功能可考虑用数组来实现对脚本的解释和执行,下面给你一个对脚本进行变量赋值的解释和执行。private type scriptstruct varname as string varvalue as integerend typedim s(3) as stringdim scr()as scriptstruct'这是从文本编辑器里读来的需要解释的脚本'放入一个一维数组s(0)="a=1"s(1)="b=2"s(2)="a+b"s(2)="printc"'对脚本一维数组开始变量方面的分析for i=0 to ubound(s) dim g() as string g = split(s(i),"=")'这是把脚本字符串解释成diy编程语言的方法之一 scr(n).varname=g(0) scr(n).varvalue=g(1) n=n+1next i现在若是希望把a与b相加,即需要对脚本进行再解释dim tmpa as integer,tmpb as integerfor i=0 to ubound(scr) if scr(i).varname="a" then tmpa=scr(i).varvalue if scr(i).varname="b" then tmpb=scr(i).varvaluenext itmpc = tmpa + tmpb'然后是现实解释执行的结果debug.print tmpc当然这以上只是举了一个最简单的例子给你,因为我也曾经想自己发明一个可以被解释的语言。现在把思路提供给你。如果你非常想研究更深,可以看《编译原理》一书,你会彻底明白编译与解释的差异和效率差异。但现在的应用开发大趋势是解释执行。 尤其在游戏编程里,人工智能和游戏关卡部分很多都相当于是用已有编程语言开发了一个解释执行的语言供策划人员来设计游戏的。 20210311