一种交互式脚本语言解释器的实现方法

文档序号:6513450阅读:1019来源:国知局
一种交互式脚本语言解释器的实现方法
【专利摘要】本发明涉及一种交互式脚本语言解释器的实现方法,包括:nova语言的编译,包括以下步骤:1)由策划人员实现nova语言的源代码;2)使用工具程序,调用编译器依次编译所有源代码,生成二进制编码的脚本;3)工具程序调用打包接口,将所有的二进制编码的脚本序列化,生成一段完整的二进制编码的脚本,将完整的二进制编码的脚本写入文件中;Nova语言的执行,包括以下步骤1)由宿主语言调用加载接口,加载包含二进制编码的脚本的文件;2)宿主语言检测需要调用的脚本,调用脚本程序;3)执行已经加载好的二进制编码的脚本。本发明的有益效果:实现程序的灵活性;由于执行时无需重新编译,效率也能有所提升。
【专利说明】一种交互式脚本语言解释器的实现方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种交互式脚本语言解释器的实现方法。【背景技术】
[0002]一般二进制程序的实现过程为:由程序员编写源代码(例如C语言源代码的.c文件);经过编译程序(例如微软的编译器产品cl.exe)编译、链接,生成二进制模块并合并多个二进制模块;将包含二进制代码的模块和多种不同的资源段按照不同平台的格式(例如windows平台下的.exe程序)生成一个可执行文件;脚本程序的实现过程为:由程序员编写源代码(例如peri语言),使用二进制程序(例如peri, exe程序)解释并执行该源代码,由此可见,脚本程序对于方便实现,缩短项目流程是很有必要的。
[0003]在一个大型项目中,往往会有程序员、产品策划、美术制作等参与协同工作。但是在整个项目中,可能有一些内容经常需要变动,但是又必须由程序实现(例如在大型游戏中的攻击伤害计算),每一次的变动是由策划人员发起,却必须由程序员实现,因此往往造成程序员编码压力过大的问题。

【发明内容】

[0004]本发明的目的是提供一种交互式脚本语言解释器的实现方法,以克服现有技术存在的上述不足。
[0005]本发明的目的是通过以下技术方案来实现:
一种交互式脚本语言解释器的实现方法,包括以下步骤:
1)nova语言的编译,进一步包括以下步骤:
1.D由策划人员实现nova语言的源代码;
1.2)使用工具程序,调用编译器依次编译所有源代码,生成二进制编码的脚本;以及
1.3)工具程序调用打包接口,将所有的二进制编码的脚本序列化,生成一段完整的二进制编码的脚本,将完整的二进制编码的脚本写入文件中;
2)Nova语言的执行,进一步包括以下步骤:
2.1)由宿主语言调用加载接口,加载包含二进制编码的脚本的文件;
2.2)宿主语言检测需要调用的脚本,调用脚本程序;以及
2.3)执行已经加载好的二进制编码的脚本。
[0006]进一步的,所述源代码有一个与它绑定的ID。
[0007]进一步的,所述编译器编译源代码的流程包括词法分析、语法分析和语义分析。
[0008]进一步的,所述宿主语言提供nova脚本的支持性代码,在程序启动时已加载好所述支持性代码。
[0009]进一步的,调用脚本时,通过脚本的ID调用脚本程序。
[0010]进一步的,所述宿主语言提供脚本无法实现的功能的代码。
[0011]本发明的有益效果为:1、解释器框架固定,语法变动时按照格式填写语法规范,解析代码只要局部变动;
2、策划脚本的编写者按照语法编写脚本源代码,而绝大部分的功能不在脚本中直接实现,而是转交给提供脚本支持的程序员。把“编译器的编写者”、“脚本语言的编写者”、“脚本语言支持的编写者”三者分离,以实现程序的灵活性;
3、脚本支持字节码的序列化、反序列化功能,把编译的时刻和执行的时刻分开,和策划相关的逻辑就不再和复杂的程序逻辑混在一起,同时由于执行时无需重新编译,效率也能有所提升。
【具体实施方式】
[0012]本发明实施例所述的一种交互式脚本语言解释器的实现方法,包括nova语言的编译和nova语言的执行;其中,nova语言的编译包括以下步骤:1)由策划人员实现nova语言的源代码;2)使用工具程序,调用编译器依次编译所有源代码,生成二进制编码的脚本;
3)工具程序调用打包接口,将所有的二进制编码的脚本序列化,生成一段完整的二进制编码的脚本,将完整的二进制编码的脚本写入到文件中;Nova语言的执行包括以下步骤I)由宿主语言调用加载接口,加载包含二进制编码的脚本的文件;2)宿主语言检测需要调用的脚本,调用脚本程序;3)执行已经加载好的二进制编码的脚本;所述源代码有一个与它绑定的ID0
[0013]所述编译器编译源代码的流程包括词法分析、语法分析和语义分析;所述宿主语言提供nova脚本的支持性代码,在程序启动时已加载好所述支持性代码;调用脚本时,通过脚本的ID调用脚本程序;所述宿主语言提供脚本无法实现的功能的代码。
[0014]具体使用时,nova语言是一种轻量级、“交互式”的语言,策划人员使用nova脚本写程序,而真正实现这些逻辑的人可以是C、java甚至Iua语言的程序员。双方只要制定好名字规范,就可以让程序员封装复杂的逻辑,而策划人员则直接使用这些逻辑。支持用的代码只需要针对某一个具体项目实现一次即可。因此程序员编写的代码更多是用来:优化支持用的代码,管理整个程序;策划编写的是和项目内容有关的代码。
[0015]
【权利要求】
1.一种交互式脚本语言解释器的实现方法,其特征在于,包括以下步骤: 1)nova语言的编译,进一步包括以下步骤: 1.D由策划人员实现nova语言的源代码;1.2)使用工具程序,调用编译器依次编译所有源代码,生成二进制编码的脚本;以及 1.3)工具程序调用打包接口,将所有的二进制编码的脚本序列化,生成一段完整的二进制编码的脚本,将完整的二进制编码的脚本写入文件中; 2)Nova语言的执行,进一步包括以下步骤: 2.1)由宿主语言调用加载接口,加载包含二进制编码的脚本的文件; 2.2)宿主语言检测需要调用的脚本,调用脚本程序;以及 2.3)执行已经加载好的二进制编码的脚本。
2.根据权利要求1所述的交互式脚本语言解释器的实现方法,其特征在于:所述源代码有一个与其绑定的ID。
3.根据权利要求2所述的交互式脚本语言解释器的实现方法,其特征在于:所述编译器编译源代码的流程包括词法分析、语法分析和语义分析。
4.根据权利要求3所述的交互式脚本语言解释器的实现方法,其特征在于:所述宿主语言提供nova脚本的支持性代码,在程序启动时已加载好所述支持性代码。
5.根据权利要求4所述的交互式脚本语言解释器的实现方法,其特征在于:调用脚本时,通过脚本的ID调用脚本程序。
6.根据权利要求5所述的交互式脚本语言解释器的实现方法,其特征在于:所述宿主语言提供脚本无法实现的功能的代码。
【文档编号】G06F9/45GK103488519SQ201310447472
【公开日】2014年1月1日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】毛恩沛 申请人:上海野火网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1