System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机软件,尤其涉及一种编译型语言的表达式求值方法及装置、可读存储介质。
技术介绍
1、在一些软件应用场景中,需要将部分业务逻辑的流程描述以及外部配置文件等开放给用户,以便于用户能够通过简单的脚本修改即可实现对业务逻辑的优化与重定义,以满足用户的实际应用需求。
2、在通过编译型语言将源程序编译成可执行代码后,再试图通过外部配置或脚本修改来调整程序执行逻辑就变得较为困难。尤其是在诸如c++、swift等编译型语言中,更难以通过外部配置或脚本修改来调整程序执行逻辑。
技术实现思路
1、本专利技术实施例解决的是编译型语言难以实现表达式求值计算。
2、为解决上述技术问题,本专利技术提供了一种编译型语言的表达式求值方法,包括:将编译型语言对象注入到解释型语言对象中;所述解释型语言对象包括数据接口以及目标方法;在所述编译型语言对象中执行表达式时,调用所述解释型语言对象,获取所述解释型语言对象的输出结果;其中,所述输出结果由所述解释型语言对象通过所述数据接口调用所述编译型语言对象,由所述编译型语言对象实现所述目标方法得到;基于所述输出结果,对编译型语言的程序代码的运行状态进行调整。
3、可选的,所述表达式为解释型语言可执行代码。
4、可选的,所述数据接口包括:桥接接口。
5、可选的,所述编译型语言的表达式求值方法还包括:创建所述编译型语言对象以及所述解释型语言对象;所述解释型语言对象用于实现所述目标方法。
6、
7、可选的,所述将编译型语言对象注入到解释型语言对象中,包括:将所述编译型语言对象以作为所述解释型语言对象中的成员变量。
8、本专利技术还提供了一种编译型语言的表达式求值装置,包括:处理单元,用于将编译型语言对象注入到解释型语言对象中;所述解释型语言对象包括数据接口以及目标方法;调用单元,用于在所述编译型语言对象中执行表达式时,调用所述解释型语言对象,获取所述解释型语言对象的输出结果;其中,所述输出结果由所述解释型语言对象通过所述数据接口调用所述编译型语言对象,由所述编译型语言对象实现所述目标方法得到;调整单元,用于基于所述输出结果,对编译型语言的程序代码的运行状态进行调整。
9、本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种所述的编译型语言的表达式求值方法的步骤。
10、本专利技术还提供了另一种编译型语言的表达式求值装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种所述的编译型语言的表达式求值方法的步骤。
11、与现有技术相比,本专利技术的技术方案具有以下有益效果:
12、将编译型语言对象注入到解释型语言对象中,在编译型语言对象中执行表达式时调用解释型语言对象。解释型语言对象通过数据接口调用编译型语言对象,由编译型语言对象实现目标方法。编译型语言对象获取解释型语言对象的输出结果,对程序代码的运行状态进行调整。由此,在编译型语言的程序代码的运行过程中,可以实现表达式动态计算求值,进而提升程序代码的灵活性,便于程序代码的更新和维护。
本文档来自技高网...【技术保护点】
1.一种编译型语言的表达式求值方法,其特征在于,包括:
2.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述表达式为解释型语言可执行代码。
3.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述数据接口包括:桥接接口。
4.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,还包括:创建所述编译型语言对象以及所述解释型语言对象;所述解释型语言对象用于实现所述目标方法。
5.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述对编译型语言的程序代码的运行状态进行调整,包括:
6.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述将编译型语言对象注入到解释型语言对象中,包括:
7.一种编译型语言的表达式求值装置,其特征在于,包括:
8.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1~6任一项所述的编译型语言的表达式求值方法的步骤。
...【技术特征摘要】
1.一种编译型语言的表达式求值方法,其特征在于,包括:
2.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述表达式为解释型语言可执行代码。
3.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述数据接口包括:桥接接口。
4.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,还包括:创建所述编译型语言对象以及所述解释型语言对象;所述解释型语言对象用于实现所述目标方法。
5.如权利要求1所述的编译型语言的表达式求值方法,其特征在于,所述对编译型语言的程序代码的运行状态进行调整,包括:
6.如权利要求1所述的编译型...
【专利技术属性】
技术研发人员:王瑶池,陈光胜,卢昊,张圣铭,葛杨,付佳佳,
申请(专利权)人:上海东软载波微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。