GScript 全面更新到V6

到目前为止,GScript已经更新到V6版本,后面的时间可能会很忙,有空再做一些更新。而且现在也基本实现当初的想法:

制定一套可嵌入应用程序中,为应用程序提供灵活的扩展和定制功,语法与C/C++类似,面向对象编程的脚本语言。

这个目标可能和Lua类似,但GScript在"向对象编程"更胜一筹,而且无论从速度,灵活等方面都不亚于Lua,如果你喜欢C/C++ 语法,就选GScript吧!

V6更新内容:

增加言语层异常处理特性,增加关键字 try catch throw

修复核心解析引擎一个内存泄漏BUG。

增加了扩展库gs_mysql,支持对MySql数据库的访问。

增加了扩展库GSRegexpr,支持正则表达式处理。

增加了扩展库GSFileSystem,支持文件系统操作。

修正COM组件库的一个BUG,COM组件访问更快速。

增加了ISAPI 模块(测式版),支持GScript 作为Web服务器脚本语言。


V5更新内容:

优化解析引擎,执行速度更快。

调整API接口,与宿主结合更加紧密。

优化GC算法,对象回收更高率。


V4更新内容:

取消语言上一些无用语法。

修正脚本表达式优先级错误。


更多以前版本,请参阅之前的博客。


示例1

 
//利用COM组件调用 ADO 操作SQL Server数据库
var ado=new GSCOMObject("ADODB.Connection");
string strConnect=@"Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mytest;Data Source=.\SQLEXPRESS";
 try
 {
 	ado.Open(strConnect);
 	string strSql="select * from Table1";
 	var rs=ado.Execute(strSql);
 	print("id\tname\n");
 	while(!rs.eof)
 	{
 		print(rs.Collect("id")+"\t"+rs.Collect("sname")+"\n");
 		rs.MoveNext();
 	}
 	rs.close();
 	ado.close();
 }
 catch(object e)
 {
 	print(e.What()+"\n");
 }
 return 0;



示例2

//正则表达式测试
 object rege=new GSRegexpr(@"/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/");
 if(rege.Match("[email protected]"))
 	print("验证通过。");
 
 string url = @"http://write.blog.csdn.net/postlist";//字符串前缀加上'@'表示为实字符串,不会解析转义符
 object rege=new GSRegexpr(@"((http[s]?)?(://))?([^/]*)(/?.*)");
 var v=rege.Match(url);
 if(v)
 	print(v[4]);
 


由于目前http://sourceforge.net/一直无法访问,新更新的这部分暂时还没有发布到sourceforge.net。

V3开源地址:http://sourceforge.net/projects/g-script/


下一版本可能会增加一些新技术,如JIT等,脚本执行速度会更加迅速。

就写到这了,由于这段时间也是很快,就没有写一些能吸引眼球的示例了,不过我觉得做一些引擎更新,更有意义。


猜你喜欢

转载自hongqiang.iteye.com/blog/1629528