[发明专利]基于人工智能的图形化源代码的编译方法、装置和设备有效
申请号: | 201910217012.2 | 申请日: | 2019-03-21 |
公开(公告)号: | CN110007922B | 公开(公告)日: | 2022-10-21 |
发明(设计)人: | 孙悦;李天驰;蔡欣嘉 | 申请(专利权)人: | 深圳点猫科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳市徽正知识产权代理有限公司 44405 | 代理人: | 卢杏艳 |
地址: | 518000 广东省深圳市南山区粤*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 人工智能 图形 源代码 编译 方法 装置 设备 | ||
本发明公开了一种基于人工智能的图形化源代码的编译方法,包括:获取图形化源代码,所述图形化源代码为XML结构;通过转化语法树将所述图形化源代码转化为JSON结构的编译代码,所述转化语法树用于对所述图形化源代码中子代码、顺序执行代码、条件代码和循环调用代码进行分析,并将分析后获得的关键消息存储于JSON结构中。本发明还公开了一种基于人工智能的图形化源代码的编译装置和设备。本发明实现了将图形化源代码从XML结构转化为JSON结构,并且只存储了关键信息,使得转化后的JSON结构代码无法恢复到原先的XML结构,实现代码的编译效果,有效保证了图形化源代码难以被窃取。
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种基于人工智能的图形化源代码的编译方法、装置和设备。
背景技术
随着科学技术的高速发展,纷繁众多的电子设备对人们工作和生活的影响越来越大。同时,随着电子设备的功能越发强大,软件的规模也日益庞大。
在软件创作的过程中,创作者既希望自己的创作可以得到广泛的传播,同时又不希望自己的创作被竞争对手轻易获取。这一行为的实现就是通过代码的编译,将源语言编写的源程序转化成目标程序。进行代码编译后,其他用户只能运行但是无法更改目标程序,只能通过更费精力的反编译手段去获取源代码。
然而,在图形化编程平台中,用户所创作的代码并不是真正意义上的代码,而是一种可扩展标记语言(Extensible Markup Language,XML)结构,这种 XML结构是用来传输和存储数据的,并不能实现计算机语言中的编译与运行,这样的数据结构一旦出现在创作者的运行程序中,其他用户便可以根据其运行程序,直接窃取创作者的劳动果实。
因此,如何有效保护图形化编程平台中用户所创作的代码是亟待解决的问题。
发明内容
针对现有技术的不足,本发明提供了一种基于人工智能的图形化源代码的编译方法、装置和设备,旨在解决图形化编程平台中的源代码容易被窃取的技术问题。
第一方面,本发明提供了一种基于人工智能的图形化源代码的编译方法,包括:
获取图形化源代码,所述图形化源代码为XML结构;
通过转化语法树将所述图形化源代码转化为JSON结构的编译代码,所述转化语法树用于对所述图形化源代码中子代码、顺序执行代码、条件代码和循环调用代码进行分析,并将分析后获得的关键消息存储于JSON结构中。
可选地,所述转化语法树将所述图形化源代码转化为JSON结构的编译代码的具体过程包括:分析所述图形化源代码中的代码的属性;
若所述图形化源代码中的代码为子代码满足第一预设条件,则调用栈记录所述代码并解析新的积木代码,所述第一预设条件为所述代码有参数且参数为图形化代码;
若所述图形化源代码中的代码为子代码且满足第二预设条件,则返回制定的JSON字段并继续解析所述代码的父级代码,所述第二预设条件为所述代码有参数且参数是值或所述代码无参数;
若所述图形化源代码中的代码为顺序执行代码且满足第三预设条件,则调用栈记录所述代码并解析新的积木代码,所述第三预设条件为所述代码有参数且参数为图形化代码;
若所述图形化源代码中的代码为顺序执行代码且满足第四预设条件,则返回制定的JSON字段并分析下一句代码,所述第三预设条件为所述代码有参数、参数是值且有下一句代码或所述代码无参数且有下一句代码;
若所述图形化源代码中的代码为顺序执行代码且满足第五预设条件,则返回制定的JSON字段并结束解析或返回到上一级调用,所述第五预设条件为所述代码有参数、参数是值且无下一句代码或所述代码无参数且无下一句代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳点猫科技有限公司,未经深圳点猫科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910217012.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种代码发布方法及装置
- 下一篇:一种shell的实现方法