一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于语法树的代码生成方法及其装置、电子设备与流程

2022-10-11 06:45:41 来源:中国专利 TAG:

技术特征:
1.一种基于语法树的代码生成方法,其特征在于,包括:接收初始流程图和逻辑编排请求,其中,所述逻辑编排请求中至少携带有:外部终端执行的操作行为;基于预设语法树策略,将所述初始流程图转换为初始语法树结构;对所述操作行为进行逻辑校验,得到校验结果,并在所述校验结果指示所述操作行为通过逻辑校验的情况下,更新所述初始语法树结构,得到目标语法树结构;基于所述目标语法树结构,采用预设生成策略,生成目标代码,其中,所述预设生成策略包括:语法树结构中的关键字与代码表现形式之间的映射关系。2.根据权利要求1所述的生成方法,其特征在于,在接收初始流程图和逻辑编排请求之前,还包括:创建逻辑编排界面,其中,所述逻辑编排界面至少包括:逻辑方法定义区、逻辑编排画布、逻辑元件库、属性配置区域,所述逻辑方法定义区用于创建和删除逻辑方法,所述逻辑编排画布用于绘制所述逻辑方法的流程图,所述逻辑元件库用于定义和展示逻辑元件,所述属性配置区域用于展示和修改所述逻辑元件的元件属性;基于所述逻辑方法定义区,监听逻辑创建请求。3.根据权利要求2所述的生成方法,其特征在于,在监听逻辑创建请求之后,还包括:在监听到所述逻辑创建请求的情况下,接收所述逻辑创建请求,其中,所述逻辑创建请求至少包括:逻辑数据,所述逻辑数据至少包括:逻辑名称、输入参数、输出参数、预设变量;基于所述逻辑数据,确定开始节点和结束节点;基于所述开始节点和所述结束节点,控制所述逻辑编排画布绘制所述初始流程图。4.根据权利要求3所述的生成方法,其特征在于,在基于预设语法树策略,将所述初始流程图转换为初始语法树结构之前,还包括:确定所述逻辑方法的第一语法树属性,其中,所述第一语法树属性至少包括:第一语法树标识、逻辑方法名称、逻辑方法入参、逻辑方法出参、逻辑方法预设变量、逻辑方法主体、逻辑方法标识;确定所述逻辑元件的第二语法树属性,其中,所述第二语法树属性包括:元件属性和元件扩展属性,所述元件属性至少包括:第二语法树标识、逻辑元件标识、父节点标识、逻辑元件子类型,所述元件扩展属性包括下述至少之一:预设条件、逻辑块、被调用的逻辑方法标识、被调用的逻辑方法入参、操作符号、操作符号左侧表达式、操作符号右侧表达式、参数类型标识、参数数值;基于所述第一语法树属性和所述第二语法树属性,确定所述预设语法树策略。5.根据权利要求4所述的生成方法,其特征在于,基于预设语法树策略,将所述初始流程图转换为初始语法树结构的步骤,包括:基于所述第一语法树属性,确定所述逻辑数据中各参数对应的第一语法树表示;将所述开始节点和所述结束节点插入到所述逻辑方法主体的逻辑元件数组中;基于所述第二语法树属性,确定所述开始节点的第二语法树表示以及所述结束节点的第三语法树表示;将所述第三语法树表示中的所述父节点标识指向所述第二语法树表示中的所述逻辑元件标识;
基于所述初始流程图,组合所述第一语法树表示、所述第二语法树表示以及所述第三语法树表示,得到所述初始语法树结构。6.根据权利要求2所述的生成方法,其特征在于,在接收初始流程图和逻辑编排请求之前,还包括:为所述逻辑编排画布中的逻辑节点绑定预设鼠标事件,其中,所述预设鼠标事件包括下述至少之一:鼠标点击事件、鼠标按下事件、鼠标移动事件、鼠标弹起事件;基于所述预设鼠标事件,捕捉操作行为,其中,所述操作行为包括下述至少之一:逻辑节点移入、逻辑节点修改、逻辑节点删除;组合所有所述操作行为,得到所述逻辑编排请求。7.根据权利要求6所述的生成方法,其特征在于,在所述校验结果指示所述操作行为通过逻辑校验的情况下,更新所述初始语法树结构,得到目标语法树结构的步骤,包括:执行所述逻辑编排请求,绘制目标流程图;基于所述预设鼠标事件,监听所述操作行为得到的坐标位置;在所述坐标位置与所述目标流程图中的连线位置重合的情况下,对所述操作行为进行语义检查,其中,所述语义检查包括下述至少之一:检查拖拽到赋值逻辑节点、比较运算逻辑节点、逻辑运算逻辑节点的左右操作符的逻辑节点类型是否一致,检查拖拽到条件判断逻辑节点的判断条件逻辑元件是否是真结果或假结果的逻辑节点,检查拖拽到预设流程的逻辑节点是否是表达式类型的逻辑节点;在所述操作行为的语义检查通过的情况下,基于所述目标流程图,更新所述初始语法树结构,得到目标语法树结构。8.根据权利要求1所述的生成方法,其特征在于,基于所述目标语法树结构,采用预设生成策略,生成目标代码的步骤,包括:扫描所述目标语法树结构,得到扫描结果;采用预设生成策略,将所述扫描结果中的每个所述关键字对应的键值对转换为与所述关键字对应的代码表现形式的代码子片断;基于所有所述代码子片断,生成所述目标代码。9.一种基于语法树的代码生成装置,其特征在于,包括:接收单元,用于接收初始流程图和逻辑编排请求,其中,所述逻辑编排请求中至少携带有:外部终端执行的操作行为;转换单元,用于基于预设语法树策略,将所述初始流程图转换为初始语法树结构;更新单元,用于对所述操作行为进行逻辑校验,得到校验结果,并在所述校验结果指示所述操作行为通过逻辑校验的情况下,更新所述初始语法树结构,得到目标语法树结构;生成单元,用于基于所述目标语法树结构,采用预设生成策略,生成目标代码,其中,所述预设生成策略包括:语法树结构中的关键字与代码表现形式之间的映射关系。10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的基于语法树的代码生成方法。

技术总结
本发明公开了一种基于语法树的代码生成方法及其装置、电子设备,涉及金融科技领域或其他相关领域,其中,该生成方法包括:接收初始流程图和逻辑编排请求,基于预设语法树策略,将初始流程图转换为初始语法树结构,对操作行为进行逻辑校验,得到校验结果,并在校验结果指示操作行为通过逻辑校验的情况下,更新初始语法树结构,得到目标语法树结构,基于目标语法树结构,采用预设生成策略,生成目标代码。本发明解决了相关技术中需要手动输入交互事件的逻辑代码,导致开发效率不高的技术问题。导致开发效率不高的技术问题。导致开发效率不高的技术问题。


技术研发人员:张英楠
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2022.06.15
技术公布日:2022/9/13
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献