[发明专利]将特征计算脚本转换成底层程序代码的方法和设备有效
申请号: | 201910782987.X | 申请日: | 2019-08-23 |
公开(公告)号: | CN110489128B | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 肖羽;陈靓 | 申请(专利权)人: | 第四范式(北京)技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 董钢;韩明星 |
地址: | 100085 北京市海淀区上*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 特征 计算 脚本 转换 底层 程序代码 方法 设备 | ||
1.一种将特征计算脚本转换成底层程序代码的方法,其中,所述方法包括:
解析特征计算脚本以生成至少一个声明组;
基于所述至少一个声明组生成多个声明块,其中,每个声明块中的语句执行异常不影响同级声明块中的语句执行;
基于所述多个声明块生成底层程序代码;
其中,所述方法还包括:为生成的至少一条代码添加异常处理机制,使得当所述至少一条代码在运行过程中抛出异常时,对抛出的异常进行捕获和处置;
其中,所述基于所述至少一个声明组生成多个声明块的步骤包括:对于所述至少一个声明组中的每个声明组,
获取包含该声明组中的通过语句表示的声明的列表,根据所述列表中的语句的依赖关系构建有向无环图,其中,有向无环图中的节点表示变量,有向无环图中的有向边表示计算逻辑和计算逻辑的顺序;
基于所述有向无环图构建声明块,其中,属于不同声明块的节点相互独立,属于不同声明块的计算逻辑相互独立,同一声明块之中的节点之间、计算逻辑之间和/或节点和计算逻辑之间存在依赖关系。
2.根据权利要求1所述的方法,其中,所述基于所述有向无环图构建声明块的步骤包括:
从所述有向无环图中去除该有向无环图的根节点和与该根节点关联的边,并取得通过去除而产生的第一子图;
从所述第一子图中能够构成有向无环图且节点数量大于或等于2的子图中去除根节点和与该根节点关联的边,并取得通过去除而产生的第二子图;
重复执行从能够构成有向无环图且节点数量大于或等于2的子图中去除根节点和边的步骤,直到通过去除而产生的子图中每个子图的节点数量小于或等于2为止;
基于通过去除而产生的子图,构建声明块,
其中,同级声明块包括基于同一有向无环图在去除根节点之后的剩余部分构建的多个声明块。
3.根据权利要求2所述的方法,其中,所述基于所述有向无环图构建声明块的步骤还包括:根据有向无环图中的节点的有向边的方向确定节点是否为能够作为根节点,
其中,与能够作为根节点的节点连接的有向边的方向指向除了该节点以外的节点,
其中,当存在两个或更多个能够作为根节点的节点时,根据与节点对应的特征计算脚本的逻辑顺序,将所述两个或更多个节点中的一个确定为根节点。
4.根据权利要求2所述的方法,其中,所述基于所述多个声明块生成底层程序代码的步骤包括:
每当根节点被去除时,根据与被去除的根节点对应的声明,生成代码;
每当去除根节点后获得由单个节点组成或包括两个节点的子图时,根据与由单个节点组成的子图或包括两个节点的子图的对应声明,生成代码,
其中,与先被去除的节点对应的代码的顺序排在与后被去除的节点对应代码之前,与先产生的子图对应的代码的顺序排在与后产生的子图对应的代码的之前,与同级声明块中的每个声明块对应的代码的顺序根据特征计算脚本的逻辑顺序而确定。
5.根据权利要求1至4中任意一项权利要求所述的方法,其中,同级声明块对应并行的子图,添加异常处理机制的代码包括以下项中的至少一项:与并行的多个子图中的每个非单个节点的子图对应的代码、与并行的多个子图整体对应的代码,
并行的子图包括:在同一有向无环图被去除根节点之后产生的多个子图。
6.一种基于特征计算脚本的特征计算方法,其中,所述特征计算方法包括:
根据权利要求1-5中任意一项权利要求所述的方法生成底层程序代码;
执行转换成的底层程序代码。
7.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到6中的任意一项权利要求所述的方法。
8.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到6中的任意一项权利要求所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于第四范式(北京)技术有限公司,未经第四范式(北京)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910782987.X/1.html,转载请声明来源钻瓜专利网。