正文

我写的一个脚本解释器2008-01-26 17:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/sonicling/32437.html

分享到:

下载地址 ====================================================================== 已经更新,为所有类型添加了成员函数,下面是所有全局函数和成员函数的说明。 全局函数:get()   // 返回一个记号,或者双引号括起来的字符串getline() // 返回一行print(...) // 打印所有参数println(...) // 打印所有参数,最后还输出一个回车exec(...) // 将所有参数作为控制台的字符串命令来执行,从左到右,            //直到某一个命令失败(返回结果不为0),并返回最后那个命令的返回值。 成员函数object.type() // 返回字符串             //"object", "string", "integer", "bool", "array", "nat"[not a type, e.g. null.type() = "nat"]object.string() // 将obj转换为字符串,相当于java的toStringobject.integer() // 将obj转换为整数object.bool()  // 将obj转换为bool string.length()string.indexOf(subs, [off])string.subString(start, count) array.length() // 返回数组的元素个数 注:所有值都是object,包括常量,string是字符串对象,array是数组。 function split(string, sparator){    if(sparator == null) sparator = "";    array = null;    count = 0;    while(string.length()>0)    {         pos = string.indexOf(sparator);         if(pos == -1) pos = string.length();         else if(pos == 0) pos = 1;         array[count] = string.subString(0, pos);         count = count+1;         string = string.subString(pos+sparator.length(), string.length());    }    return array;} println(split("hello world, are you ok?", " ")); 输出:array[5]{"hello","world,","are","you","ok?"} ======================================================================== 目前只支持函数编程,不支持对象。对象的支持正在谋划之中。 特点: 1、支持list表达式(效仿Lua),即a,b,c= 1,2,3; a,b = b,a; // 交换a和b。 2、支持数组。 3、语法与JavaScript大致相同。 4、带有5个内置函数:get (从标准输入读取一个记号), getline(从标准输入读取一行),print(打印一个或多个变量),println(print之后再打印一个换行),exec(执行一个或多个命令,直到某一个命令失败,则后面的命令不执行) 压缩包中包含了例子文件。  

阅读(2663) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册