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

基于图元的编程语言转换方法及装置与流程

2023-01-14 16:58:49 来源:中国专利 TAG:


1.本发明属于工业互联网技术领域,具体涉及基于图元的编程语言转换方法及其装置。


背景技术:

2.随着计算机技术的发展,人们的生活越来越依赖计算机技术,为满足各种各样的需求,采用不同编程语言的系统应运而生。在程序开发过程中经常出现需要将成熟的程序应用到不同系统中,由于编程语言和逻辑关系的多样化和多元化,加大了程序推广的难度。随着图形化语言编辑技术的出现,如 plc图形编辑技术,也只能在个别领域,一定程度上解决逻辑语言的问题。labview将fpgavi转换为发送至编译服务器的中间文件(hdl代码)。排序—编译服务器排序任务并发送中间文件至编译工作站,以用于编译。再此这个中间文件是不可见的,如果hdl代码编译失败,只能多次删除某一些 fpga vi,再次编译以确定代码错误的位置。labview c generator将 labviewvi转换为特定目标创建c代码,生成的c代码文件可以查看编辑,但是里面生成了大量的不可读代码,并且跟原有的labviewvi无直接映射关系。增加了编译者的工作量和工作难度。
3.现有的图形化语言转换器提供了更加直观的、更符合用户直觉的语言转换器。图形化编程语言降低了用户的学习成本,让用户可以直接快速上手。但编辑器在对编程语言转换过程中难免出现错误,导致发布的程序出现bug,需要通过使用才能发现,较严重bug甚至还需要回滚版本。在现有专利 (202210228981x基于图元的图形化编程云平台及其开发和升级方法)中,通过编辑环境获得软件程序的编程语言及图元,本发明在此基础上提出编程语言转换方法及其装置。


技术实现要素:

4.有鉴于此,本发明提供了一种基于图元的编程语言转换方法及其装置,解决编译器对编程语言转换出现错误后,不能及时发现并修正的问题。降低了编译者的工作量和工作难度。
5.其技术方案如下:
6.基于图元的编程语言转换方法,包括以下步骤:
7.s1、通过文件编辑环境获取初始文本语言及初始图元框图;
8.s2、适配器通过所述初始文本语言转换获得指定编程语言;
9.s3、判断指定编程语言与初始图元框图是否能够完全映射,如果不能完全映射,则对照初始图元框图的每一个图元,核对与之相映射的每一段指定编程语言,并对无法映射的指定编程语言段落进行修改,再次判断所述指定编程语言与初始图元框图是否能够完全映射,直至所有图元都能与指定编程语言段落一一对应;
10.s4、确认并存储该指定编程语言。
11.图元框图为由若干个图元单元构成的集合,映射有编程语言的底层逻辑。
12.本发明通过对初始图元框图及指定编程语言进行对比,判断是否完全映射,快速对生成的指定编程语言是否存在bug进行判断,并根据判断结果进行编程语言的调整,直至生成能与初始图元框图一致的指定编程语言,并根据指定编程语言生成可执行程序。
13.进一步的,所述步骤s2包括:
14.s201、适配器通过初始文本语言编译出指定编程语言;
15.s202、把所述初始图元框图和所述指定编程语言送入同一验证平台后,执行步骤s3。
16.通过步骤s2得到指定编程语言,将指定编程语言及初始图元框图进行对比,判断是否完成映射,推断是否存在bug。
17.进一步的,所述步骤s3包括:在所述验证平台中;
18.s301、从第一个图元开始进行触发,验证平台推送出与之对应的指定编程语言段落,即建立了与该图元对应的指定编程语言的映射关系,再触发下一个图元,直至结束,并执行s4;
19.若没有对应的指定编程语言段落,则执行步骤s302;
20.s302、调整所述适配器,修改指定编程语言后,返回步骤s301再次验证。
21.对初始图元框图中的每个图元,从首个开始,与指定编程语言进行对比,判断是否完全映射,直至所有初始图元完成对比工作,当出现指定编程语言与某一图元缺少映射关系,可判断该编程语言的某一段落出现问题,该问题若不解决,生成的应用程序将产生bug,即需要将没有对应的指定编程语言进行修改,反复执行步骤s301,直至所有指定编程语言能够完全映射出初始图元框图。
22.进一步的,所述步骤s3包括:在所述验证平台中;
23.s311、从第一段指定编程语言开始进行触发,验证平台推送出与之对应的图元,即建立了与该指定编程语言段落与对应图元的映射关系,再触发下一个段指定编程语言,直至结束,并执行s4;
24.若没有对应的图元,则执行步骤s312;
25.s312、调整所述适配器,修改指定编程语言后,返回步骤s311再次验证。
26.每一段指定编程语言段落理应对应初始图元框图中对应的图元,对每段指定编程语言段落与其对应的图元进行一一对比,判断是否完全映射,若不完全映射,则该指定编程语言段落就不存在与之对应的图元,该指定编程语言段落生成的应用程序就会出现bug,即需要将没有对应的指定编程语言进行修改,反复执行步骤s311,直至所有指定编程语言能够完全映射初始图元框图。
27.指定编程语言与初始图元框图同屏显示在两个操作界面,当点击某一段编程语言,另一界面可以突出显示对应的图元,或者点击某一图元,可以突出显示对应的一段编程语言,都可以视为映射关系的建立。
28.进一步的,验证平台记录适配器调整的内容及相关次数,当同一调整的内容达到指定次数后,通过技术后台对适配器进行相关整改。
29.当适配器出现就同一类型编程语言段落转换反复出现问题,达到指定次数,该次数由技术后台设置,适配器多次不能准确转换指定编程语言,需要通过技术后台对适配器中具体的语言转换器进行整改,避免反复出现相同的问题,降低用户不必要的工作量,提升
转换效率。
30.进一步的,在确认指定编程语言之后;
31.还包括s5,通过编译器,将指定编程语言编译成执行程序。
32.确定指定编程语言与初始图元框图中每一个图元能够进行完全映射后,可知该指定编程语言与初始文本语言的底层逻辑已完全相同,通过编译器可将指定编程语言编译成没有bug的执行程序。
33.基于图元的编程语言转换方法的装置,包括:
34.文件编辑环境,所述文件编辑环境用于存储并发送初始文本语言及初始图元框图;
35.适配器,所述适配器用于将初始文本语言编译出指定编程语言;
36.验证平台,判断指定编程语言与初始图元框图是否能够完全映射;
37.存储器,用于存储指定编程语言;
38.编译器,用于将指定编程语言生成可执行程序。
39.适配器包括若干语言转换器,通过若干不同语言转换器实现若干种指定编程语言的转换。当转换后的同一种指定编程语言多次与初始图元框图不能完全映射时,通过技术后台针对该语言转换器进行整改。
40.在验证平台判断指定编程语言与初始图元框图完全映射后,将指定编程语言存储于存储器中,根据需求在指定时间发送至编译器中生成可执行程序。
41.进一步的,所述适配器内置有至少一种语言转换器,所述适配器通过语言转换器将初始文本语言转换出指定编程语言。
42.语言转换器可同时编译出一种或多种指定编程语言,提升编程语言的转换效率。
43.进一步的,所述适配器还包括:
44.函数库,所述函数库为基础图元在目标环境中使用目标编程语言实现的等效代码片段。
45.语言转换器在工作时需要大量函数关系,函数库用于存储函数关系式辅助语言转换器进行工作。
46.与现有技术相比,本发明的有益效果:通过本发明的技术方案,用户可在对指定编程语言转换后,对指定编程语言是否存在bug的判定,并针对语言转换器进行调整,直至生成不存在bug的指定编程语言,能够快速准确的将程序的初始文本语言进行转换,在采用不同编程语言的系统上完成运行。降低了编译者的工作量和工作难度。
附图说明
47.图1为本发明的流程示意简图;
48.图2为本发明的实施例流程示意图。
具体实施方式
49.以下结合实施例和附图对本发明作进一步说明。
50.实施例1,如图1所示,基于图元的编程语言转换方法,包括以下步骤:
51.s1、通过文件编辑环境获取初始文本语言及初始图元框图;
52.s2、适配器通过所述初始文本语言转换获得指定编程语言;
53.所述步骤s2包括:
54.s201、适配器通过初始文本语言编译出指定编程语言;
55.s202、把所述初始图元框图和所述指定编程语言送入同一验证平台后,执行步骤s3。
56.通过步骤s2得到指定编程语言,将指定编程语言及初始图元框图进行对比,判断是否完成映射,推断是否存在bug。
57.s3、判断指定编程语言与初始图元框图是否能够完全映射,如果不能完全映射,则对照初始图元框图的每一个图元,核对与之相映射的每一段指定编程语言,并对无法映射的指定编程语言段落进行修改,再次判断所述指定编程语言与初始图元框图是否能够完全映射,直至所有图元都能与指定编程语言段落一一对应;
58.所述步骤s3包括:在所述验证平台中;
59.s301、从第一个图元开始进行触发,验证平台推送出与之对应的指定编程语言段落,即建立了与该图元对应的指定编程语言的映射关系,再触发下一个图元,直至结束,并执行s4;
60.若没有对应的指定编程语言段落,则执行步骤s302;
61.s302、调整所述适配器,修改指定编程语言后,返回步骤s301再次验证。
62.对初始图元框图中的每个一个图元,从首个开始,与指定编程语言进行对比,判断是否完全映射,直至整个初始图元完成对比工作,当出现指定编程语言与某一图元缺少映射关系,可判断该编程语言的某一段落出现问题,该问题若不解决,生成的应用程序将产生bug,即需要将没有对应的指定编程语言进行修改,反复执行步骤s301,直至所有指定编程语言能够完全映射初始图元框图。
63.s4、确认并存储该指定编程语言。
64.图元框图为由若干个图元单元构成的集合,映射有编程语言的底层逻辑。
65.本发明通过对初始图元框图及指定编程语言进行对比,判断是否完全映射,快速对生成的指定编程语言是否存在bug进行判断,并根据判断结果进行调整,直至生成与初始图元框图一致的指定编程语言,并根据指定编程语言生成可执行程序。
66.验证平台记录适配器调整的内容及相关次数,当同一调整的内容达到指定次数后,通过技术后台对适配器进行相关整改。
67.当适配器出现就同一指定编程语言段落转换反复出现问题,达到指定次数,适配器多次不能准确转换指定编程语言,需要通过技术后台对适配器中具体的语言转换器进行整改,避免反复出现相同的问题,降低用户不必要的工作量,提升转换效率。
68.在确认指定编程语言之后;
69.还包括s5,针对不同的系统环境配置相适应的编译器,将指定编程语言编译成执行程序。
70.确定指定编程语言与初始图元框图中每一个图元能够进行完全映射后,可知该指定编程语言与初始文本语言的底层逻辑已完全相同,通过编译器可将指定编程语言编译成没有bug的可执行程序。
71.实施例2,该实施例2与实施例1基本步骤相同,其区别在于步骤s3中:
72.所述步骤s3包括:在所述验证平台中;
73.s311、从第一段指定编程语言开始进行触发,验证平台推送出与之对应的图元,即建立了与该指定编程语言段落与对应图元的映射关系,再触发下一个段指定编程语言,直至结束,并执行s4;
74.若没有对应的图元,则执行步骤s312;
75.s312、调整所述适配器,修改指定编程语言后,返回步骤s311再次验证。
76.每一段指定编程语言段落理应对应初始图元框图中对应的图元,对每段指定编程语言段落与其对应的图元进行一一对比,判断是否完全映射,若不完全映射,则该指定编程语言段落就不存在与之对应的图元,该指定编程语言段落生成的应用程序就会出现bug,即需要将没有对应的指定编程语言进行修改,反复执行步骤s311,直至所有指定编程语言能够完全映射初始图元框图。
77.在步骤s301及步骤s311中判断指定编程语言与初始图元框图是否完全映射,可通过人为判断或ai智能判断,若判断结果为不完全映射,则对适配器中相关的语言转换器进行调整,修改指定编程语言,直至步骤s301的判断结果为完全映射。
78.如图2所示:基于图元的编程语言转换方法的装置,包括:
79.文件编辑环境,所述文件编辑环境用于存储并发送初始文本语言及初始图元框图;
80.适配器,所述适配器用于将初始文本语言编译出指定编程语言;
81.验证平台,判断指定编程语言与初始图元框图是否能够完全映射;
82.存储器,用于存储指定编程语言;
83.编译器,用于将指定编程语言生成可执行程序。
84.适配器包括若干语言转换器,通过若干不同语言转换器实现若干种指定编程语言的转换。当转换后的同一种指定编程语言多次与初始图元框图不能完全映射时,通过技术后台针对该语言转换器进行整改。
85.在验证平台判断指定编程语言与初始图元框图完全映射后,将指定编程语言存储于存储器中,根据需求在指定时间发送至编译器中生成可执行程序。
86.使用的编译器包括但不限于.net、gcc、gcc-arm、ise、vivado、quartus。
87.进一步的,所述适配器内置有至少一种语言转换器,所述适配器通过语言翻译器将初始文本语言翻译成指定编程语言。
88.语言转换器可同时编译出一种或多种指定编程语言,提升编程语言的转换效率。
89.进一步的,所述适配器还包括:
90.函数库,所述函数库为基础图元在目标环境中使用目标编程语言实现的等效代码片段。
91.在实施例中,本发明提到的初始文本语言及指定编程语言包括但不限于 basic、pascal、object pascal、c、c 、c#、java、asp、asp.net、perl、 php、sql、fortran、visual basic、visual basic.net、delphi、visual c 及visual foxpro,编程语言种类繁多,对应的,语言转换器也很多,本实施例中将若干中语言转换器简称为语言转换器a、语言转换器b、语言转换器c、语言转换器d、语言转换器e
……
语言转换器n,需要说明的是,此处简称与上文中具体某种编程语言并不对应,而是泛指。
92.本发明提到的可执行程序运行环境包括但不限于windows server2019、 ubuntu、树莓派、android、stm32系列单片机等。
93.当进行多种编程语言的转换时,即可生成对应数量的指定编程语言,每个指定编程语言与初始图元框图进行对比,判断是否完全映射可快速发现存在bug的指定编程语言,根据对应关系,对适配器中负责该种类的语言转换器进行调整,直至生成的指定编程语言与初始图元框图一致,将完成对比的指定编程语言储存于存储器中,后续通过编译器生成可执行程序。
94.语言转换器在工作时需要大量函数关系,函数库用于存储函数关系式辅助语言转换器进行工作。
95.最后需要说明的是,上述描述仅仅为本发明的优选实施例,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨及权利要求的前提下,可以做出多种类似的表示,这样的变换均落入本发明的保护范围之内。
再多了解一些

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

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

相关文献