[发明专利]一种多种脚本语言的转换方法有效
| 申请号: | 201611222920.3 | 申请日: | 2016-12-27 |
| 公开(公告)号: | CN106610838B | 公开(公告)日: | 2020-04-24 |
| 发明(设计)人: | 郭斌 | 申请(专利权)人: | 北京酷我科技有限公司 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/51 |
| 代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
| 地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 多种 脚本语言 转换 方法 | ||
本发明涉及一种多种脚本语言的转换方法,包括如下步骤:步骤1,设计一个复合数据类型VAR,该复合数据类型VAR支持六种基本类型的自由组合;所述六种基本类型为:整数、浮点数、字符串、指针、数组和字典;所述VAR用于消除脚本语言与C++中数据的差异化;步骤2,为每种脚本语言实现公共接口做成适配器;步骤3,用C++函数制作或封装功能代码,然后将其注入到步骤2所述的适配器中,所述C++函数满足以下条件:以VAR数组和VAR字典作为参数、以VAR作为返回值。本发明,在用C++语言写好底层功能后,通过本方法能将C++函数自动应用到各种不同的脚本引擎中,无需再单独为每种脚本语言对应的脚本引擎写一个转换层。
技术领域
本发明涉及计算机编程技术领域,具体说是一种多种脚本语言的转换方法。
背景技术
脚本语言(Script languages)是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。脚本语言的功能有限执行速度慢,但使用简便不容易出现错误。
C++语言功能强大执行速度快,但使用难度较大,容易出错。
在现有技术中,通常会用C++语言为脚本语言提供必要的基本功能(亦称为底层功能),用脚本语言写逻辑,这是将脚本语言与C++语言结合充分发挥各自优势弥补各自缺点的常用方案。这种方案的缺点是:
在用C++语言为脚本语言提供必要的基本功能时,需要用到C++扩展脚本语言功能的代码,由于C++扩展脚本语言功能的代码不具备通用性,这导致为一种脚本语言写的底层功能难以应用到另外一种脚本语言中。
现有技术对此的解决方案通常是:先用C++语言写好底层功能,然后再单独为每种脚本语言对应的脚本引擎(脚本引擎,就是一个计算机编程语言的解释器,如用于建网站的asp、php等,它的功能是解释执行用户的程序文本,将脚本语言的程序文本译成计算机能执行的机器代码,完成一系列的功能)写一个转换层,转换层和脚本引擎一一对应。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种多种脚本语言的转换方法,在用C++语言写好底层功能后,通过本方法能将C++函数自动应用到各种不同的脚本引擎中,无需再单独为每种脚本语言对应的脚本引擎写一个转换层。
为达到以上目的,本发明采取的技术方案是:
一种多种脚本语言的转换方法,其特征在于,包括如下步骤:
步骤1,设计一个复合数据类型VAR,该复合数据类型VAR支持六种基本类型的自由组合;
所述六种基本类型为:整数、浮点数、字符串、指针、数组和字典;
所述VAR用于消除脚本语言与C++中数据的差异化;
步骤2,为每种脚本语言实现公共接口做成适配器;
步骤3,用C++函数制作或封装功能代码,然后将其注入到步骤2所述的适配器中,所述C++函数满足以下条件:以VAR数组和VAR字典作为参数、以VAR作为返回值。
在上述技术方案的基础上,步骤1中,数组中每一项的元素也是VAR,而字典中每一项的键是字符串类型,字符串类型的值是VAR。
在上述技术方案的基础上,步骤1中,所述VAR采用C++类实现对六种基本类型的数据的支持。
在上述技术方案的基础上,步骤1中,所述脚本语言包括但不限于:JS、Lua、php。
在上述技术方案的基础上,步骤2的具体步骤分解如下:
步骤2.1,实现一个脚本语言数据类型与VAR的转换函数,将脚本语言数据类型分别用VAR的整数、浮点数、字符串、指针、数组和字典表示;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611222920.3/2.html,转载请声明来源钻瓜专利网。





