不知道有没有人有兴趣和我一起完善一个脚本解释器(暂时命名为VScript),散分.

DiabloWalkOnTheEarth 2004-11-01 08:43:49
10.1时候无聊写了一个类似 javascript 的脚本解释器(VScript,我也不知道是什么意思),支持一元操作符 + - ~ ! ++ -- isvalid typeof , 二元操作符 + - * / div << >> >>> & | ^ < > = != <= >= && || ( 同C/C++ 短路处理 ) , 赋值运算 = += -= *= /= div= <<= >>= >>>= &= |= ^= , 三元操作符 ? : , 支持程序控制语句 break continue return if else for while do while ( 打算加上 switch , 不支持 goto. ). 支持对象属性,方法调用( 可通过这种方法扩展脚本功能. ) 16M 次空循环( while( i++ <= 0X1000000 ); )的运行时间大概是7秒( C2.1G ),经过简单的优化可以达到大概3秒吧( 打算用 C 改写以便于移植到嵌入式环境 ).
现在主要还有以下工作没有完成:
1 : 移植到 linux .
2 : 编写大量的实用库.
3 : 脚本调试器.
如果有人有兴趣可以与我联系( msn : LL79_1@hotmail.com ) , 另外程序应该做成 free 还是 GPL .

实例脚本如下:

function fact( n )
{
return n <= 1 ? 1 : n * fact( n - 1 );
}

function showarr( arr )
{
for( var i = 0; i < arr.size; ++i )
utility.print( arr(i) + "\t" );
utility.print( '\n' );
}

function foo()
{
var arr = utility.Array( 1 , 2 , 3 , 4 , 5 , 6 );
showarr( arr );
arr.sort();
showarr( arr );
arr.sort( false );
showarr( arr );
}

...全文
362 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
结帐.
zhangzhidong2002 2004-11-09
  • 打赏
  • 举报
回复
佩服,佩服
posedge 2004-11-08
  • 打赏
  • 举报
回复
都是你自己实现得么???
zjraycj 2004-11-08
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
虽然写的很差,不过每行都是我打进去的,咔咔
eddings 2004-11-06
  • 打赏
  • 举报
回复

可惜我不会
LVOLCANO 2004-11-05
  • 打赏
  • 举报
回复
hcj2002 2004-11-05
  • 打赏
  • 举报
回复
:(
redleaves 2004-11-02
  • 打赏
  • 举报
回复
呵呵,你到这来打广告来了.. :)
支持...
不过这种语法我不喜欢.
redleaves 2004-11-02
  • 打赏
  • 举报
回复
真神奇...居然今天可以上MSN了.... 我的MSN是scu319hy@msn.com,有空和我联系吧.
redleaves 2004-11-02
  • 打赏
  • 举报
回复
不是__interface,是interface.
倒不是我非要抄MS,只不过这个名字来定义接口要直观点.不习惯的也可以用class或struct来定义,呵呵.我就是为了让有不同习惯的人都习惯这个定义,才加了几个同义的关键字.结果让你不习惯....^_^
而且会JS的人不会比会C/C++的更多吧?而且按你的目标应用领域来说,学C更明智些.而且大多用惯了C/C++的人,用JS这一类的东西会比较不爽,其它还好.
不知道你的这个东西有什么特色不?说来听听.

另外,我的机器出毛病了,上不去MSN,又不想重装系统.....我忍.....
hikuers 2004-11-02
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
我不是打广告啊,如果有人感兴趣,我会发源码地,不过现在没有写文档,程序结构也比较混乱,呵呵.
redleaves(ID最吊的网友) 你的 msn 多少,把你的脚本也给我看看吧. 呵呵,你的 __interface 好像只有 M$的有, js 却几乎出现在每个网页上,我想熟悉 js 的人更多,因此脚本就仿照 js 来搞了.
ScorpioCool 2004-11-02
  • 打赏
  • 举报
回复
佩服——
  • 打赏
  • 举报
回复
没有用 yacc&lex , 呵呵,主要是想在嵌入式环境使用,用了可能不好移植。主要的是我不会用
javer_bin 2004-11-01
  • 打赏
  • 举报
回复
ding
oo 2004-11-01
  • 打赏
  • 举报
回复
不知楼主用了yacc&lex吗?
还是都是自己实现的?
oo 2004-11-01
  • 打赏
  • 举报
回复
支持一把
zhangfjj 2004-11-01
  • 打赏
  • 举报
回复
:)
  • 打赏
  • 举报
回复
先占一楼100年不可动摇.

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧