CN112698825B - 编程积木块转换方法、装置、处理设备及存储介质 - Google Patents

编程积木块转换方法、装置、处理设备及存储介质 Download PDF

Info

Publication number
CN112698825B
CN112698825B CN202110022873.2A CN202110022873A CN112698825B CN 112698825 B CN112698825 B CN 112698825B CN 202110022873 A CN202110022873 A CN 202110022873A CN 112698825 B CN112698825 B CN 112698825B
Authority
CN
China
Prior art keywords
building block
programming
code
type
nested
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110022873.2A
Other languages
English (en)
Other versions
CN112698825A (zh
Inventor
冷晓琨
常琳
程鑫
白学林
柯真东
王松
吴雨璁
何治成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leju Shenzhen Robotics Co Ltd
Original Assignee
Leju Shenzhen Robotics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leju Shenzhen Robotics Co Ltd filed Critical Leju Shenzhen Robotics Co Ltd
Priority to CN202110022873.2A priority Critical patent/CN112698825B/zh
Publication of CN112698825A publication Critical patent/CN112698825A/zh
Application granted granted Critical
Publication of CN112698825B publication Critical patent/CN112698825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种编程积木块转换方法、装置、处理设备及存储介质,涉及数据处理技术领域。该方法包括:接收输入的预设编程语言的编程代码;将编程代码解析为语法树,语法树用于指示编程代码的数据结构;将语法树转换为积木块布局文件;根据积木块布局文件,生成可视化编程工具。将预设编程语言的编程代码解析为语法树,语法树转换为积木块布局文件,根据积木块布局文件,生成可视化编程工具,可视化编程工具中可以包括生成的编程积木块,实现了将编程代码转换为编程积木块,使得应用的灵活性更佳,提高了用户体验。

Description

编程积木块转换方法、装置、处理设备及存储介质
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种编程积木块转换方法、装置、处理设备及存储介质。
背景技术
积木式编程是一类编程形式,用户可以不用记忆和书写程序代码,只需要从系统提供好的一系列语句“积木块”中自由选择并组合,不必关注语法细节便可以直接按照编程原则进行编程,便于初级用户熟悉编程以及编程教学。
相关技术中,可以将编程积木块转换为编程代码,以便用户可以获知编程积木块对应的编程代码。
但是,相关技术中,仅可以将编程积木块转换为编程代码,但是无法将编程代码转换为编程积木块,应用灵活性较差,降低了用户体验。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种编程积木块转换方法、装置、处理设备及存储介质,以便解决相关技术中,仅可以将编程积木块转换为编程代码,但是无法将编程代码转换为编程积木块,应用灵活性较差,降低了用户体验的问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种编程积木块转换方法,包括:
接收输入的预设编程语言的编程代码;
将所述编程代码解析为语法树,所述语法树用于指示所述编程代码的数据结构;
将所述语法树转换为积木块布局文件;
根据所述积木块布局文件,生成可视化编程工具。
可选的,所述语法树包括:多个相互嵌套的代码块,所述将所述语法树转换为积木块布局文件,包括:
将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码;所述积木块布局文件包括:多个相互嵌套的积木执行代码。
可选的,所述根据所述积木块布局文件,生成可视化编程工具,包括:
根据所述多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的所述可视化编程工具,每个积木执行代码对应一个编程积木块。
可选的,所述将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码,包括:
确定所述多个相互嵌套的代码块中每个代码块对应的积木块标签,得到多个积木块标签;
根据所述多个相互嵌套的代码块、和所述多个积木块标签,生成所述多个相互嵌套的积木执行代码。
可选的,所述积木块布局文件中每个积木执行代码中具有一个所述积木块标签;
所述根据所述多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的所述可视化编程工具,包括:
根据所述多个相互嵌套的积木执行代码和各积木执行代码的积木块标签,生成所述可视化编程工具,所述可视化编程工具中每个编程积木块还显示有所述每个编码积木块对应的积木块标签。
可选的,所述多个相互嵌套的代码块中包括第一类型的代码块和第二类型的代码块,所述第二类型的代码块嵌套于所述第一类型的代码块中;
所述将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码,包括;
将所述第一类型的代码块转换为第一类型的积木执行代码;
将所述第二类型的代码块转换为第二类型的积木执行代码,所述第二类型的积木执行代码嵌套于所述第一类型的积木执行代码中。
可选的,所述根据所述积木块布局文件,生成可视化编程工具,包括:
根据第一类型的积木执行代码和第二类型的积木执行代码,生成所述可视化编程工具,所述可视化编程工具中包括:第一类型的编程积木块和第二类型的编程积木块,所述第二类型的编程积木块嵌套于所述第一类型的编程积木块中。
第二方面,本发明实施例提供了一种编程积木块转换装置,该装置包括:
接收模块,用于接收输入的预设编程语言的编程代码;
解析模块,用于将所述编程代码解析为语法树,所述语法树用于指示所述编程代码的数据结构;
转换模块,用于将所述语法树转换为积木块布局文件;
生成模块,用于根据所述积木块布局文件,生成可视化编程工具。
可选的,所述语法树包括:多个相互嵌套的代码块,所述转换模块,还用于将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码;所述积木块布局文件包括:多个相互嵌套的积木执行代码。
可选的,所述生成模块,还用于根据所述多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的所述可视化编程工具,每个积木执行代码对应一个编程积木块。
可选的,所述转换模块,还用于确定所述多个相互嵌套的代码块中每个代码块对应的积木块标签,得到多个积木块标签;根据所述多个相互嵌套的代码块、和所述多个积木块标签,生成所述多个相互嵌套的积木执行代码。
可选的,所述积木块布局文件中每个积木执行代码中具有一个所述积木块标签;
所述根据生成模块,还用于根据所述多个相互嵌套的积木执行代码和各积木执行代码的积木块标签,生成所述可视化编程工具,所述可视化编程工具中每个编程积木块还显示有所述每个编码积木块对应的积木块标签。
可选的,所述多个相互嵌套的代码块中包括第一类型的代码块和第二类型的代码块,所述第二类型的代码块嵌套于所述第一类型的代码块中;
所述转换模块,还用于将所述第一类型的代码块转换为第一类型的积木执行代码;将所述第二类型的代码块转换为第二类型的积木执行代码,所述第二类型的积木执行代码嵌套于所述第一类型的积木执行代码中。
可选的,所述生成模块,还用于根据第一类型的积木执行代码和第二类型的积木执行代码,生成所述可视化编程工具,所述可视化编程工具中包括:第一类型的编程积木块和第二类型的编程积木块,所述第二类型的编程积木块嵌套于所述第一类型的编程积木块中。
第三方面,本发明实施例提供了一种处理设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的编程积木块转换方法。
第四方面,本发明实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的编程积木块转换方法。
本发明的有益效果是:本发明实施例提供一种编程积木块转换方法,包括:接收输入的预设编程语言的编程代码;将编程代码解析为语法树,语法树用于指示编程代码的数据结构;将语法树转换为积木块布局文件;根据积木块布局文件,生成可视化编程工具。将预设编程语言的编程代码解析为语法树,语法树转换为积木块布局文件,根据积木块布局文件,生成可视化编程工具,可视化编程工具中可以包括生成的编程积木块,实现了将编程代码转换为编程积木块,使得应用的灵活性更佳,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种编程积木块转换方法的流程示意图;
图2为本发明实施例提供的一种编程积木块转换方法的流程示意图;
图3为本发明实施例提供的一种编程积木块转换方法的流程示意图;
图4为本发明实施例提供的一种编程积木块转换方法的流程示意图;
图5为本发明实施例提供的一种编程积木块转换装置的结构示意图;
图6为本发明实施例提供的一种处理设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
针对相关技术中,仅可以将编程积木块转换为编程代码,但是无法将编程代码转换为编程积木块,应用灵活性较差,降低了用户体验的问题。本申请实施例提供一种编程积木块转换方法,可以包括:接收输入的预设编程语言的编程代码;将编程代码解析为语法树,语法树用于指示编程代码的数据结构;将语法树转换为积木块布局文件;根据积木块布局文件,生成可视化编程工具。将预设编程语言的编程代码解析为语法树,语法树转换为积木块布局文件,根据积木块布局文件,生成可视化编程工具,可视化编程工具中可以包括生成的编程积木块,实现了将编程代码转换为编程积木块,使得应用的灵活性更佳,提高了用户体验。
本申请实施例提供的编程积木块转换方法,其执行主体可以为处理设备,该处理设备可以为终端,也可以为服务器,还可以为其他类型具备处理功能的设备,当然处理设备还可以具有显示功能,本申请实施例对此不进行具体限制。例如,当处理设备为终端时,终端可以为台式电脑、笔记本电脑、平板电脑或者智能手机等等。以下以处理设备对本申请实施例提供的编程积木块转换方法进行解释说明。
图1为本发明实施例提供的一种编程积木块转换方法的流程示意图,如图1所示,该方法可以包括:
S101、接收输入的预设编程语言的编程代码。
在一些实施方式中,处理设备可以根据预设路径从预设位置中获取预设编程语言的编程代码,也可以接收其他设备发送的预设编程语言的编程代码,还可以采用其他方式接收输入的预设编程语言的编程代码,本申请实施例对此不进行具体限制。
需要说明的是,预设编程语言的编程代码可以为采用预设编程语言所编写的编程代码,例如,预设编程语言可以python,当然,也还可以为其他类型的编程语言。
可选的,预设编程语言的编程代码的输入方式可以为:编程输入或者粘贴输入。在本申请实施例中,处理设备可以显示有输入框,处理设备可以响应用户针对输入框输入的编程操作获取输入的预设编程语言的编程代码;处理设备还可以响应用户针对输入框输入的粘贴操作获取输入的预设编程语言的编程代码。其中,粘贴操作可以为通过快捷键输入的操作或者通过鼠标输入的操作。
S102、将编程代码解析为语法树,语法树用于指示编程代码的数据结构。
其中,编程代码的数据结构可以为层级式的数据结构。
在一些实施方式中,处理设备中可以存储有预设编程语言的语法规则,处理设备可以采用预设编程语言的语法规则,可以依次将编程代码解析为语法树。
当然,处理设备中也可以存储有多种类型的编程语音的语法规则,处理设备在接收输入的预设编程语言的编程代码后,可以从有多种类型的编程语音的语法规则中确定预设编程语言的编程代码对应的语法规则,继而采用该语法规则,可以依次将编程代码解析为语法树。
S103、将语法树转换为积木块布局文件。
其中,处理设备中可以存储有预设映射关系。可选的,处理设备采用预设映射关系,将语法树中编程代码的数据结构转换为积木块布局文件。
可选的,积木块布局文件可以为XML(Extensible Markup Language,可扩展标记语言)格式的积木块布局文件。
S104、根据积木块布局文件,生成可视化编程工具。
其中,可视化编程工具可以包括至少一个编程积木块,当编程积木块的数量为多个时,可以多个编程积木块可以为排列好、可运行的积木块。
需要说明的是,处理设备可以根据积木块布局文件,生成可视化编程工具,继而展示可视化编程工具,处理设备可以仅展示可视化编程工具,也可以同时展示可视化编程工具和预设编程语言的编程代码,本申请实施例对此不进行具体限制。
另外,处理设备还可以响应输入的针对可视化编程工具的编辑操作,对可视化编程工具进行编辑,编辑类型可以包括:删除编辑、添加编辑、移动编辑等等。
综上所述,本发明实施例提供一种编程积木块转换方法,包括:接收输入的预设编程语言的编程代码;将编程代码解析为语法树,语法树用于指示编程代码的数据结构;将语法树转换为积木块布局文件;根据积木块布局文件,生成可视化编程工具。将预设编程语言的编程代码解析为语法树,语法树转换为积木块布局文件,根据积木块布局文件,生成可视化编程工具,可视化编程工具中可以包括生成的编程积木块,实现了将编程代码转换为编程积木块,使得应用的灵活性更佳,提高了用户体验。
可选的,语法树包括:多个相互嵌套的代码块。
上述S103中将语法树转换为积木块布局文件的过程,可以包括:
将多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码。
其中,积木块布局文件可以包括:多个相互嵌套的积木执行代码。
在一种可能的实施方式中,处理设备可以采用预设映射关系,将多个相互嵌套的代码块中每个代码块转换为相应的积木执行代码,则可以得到多个积木执行代码,多个积木执行代码也相互嵌套,得到积木块布局文件。
需要说明的是,语法树与布局文件的结构类似,均可以采用模块化的方式表示,采用一一对应的方式便可以进行转化。
可选的,上述S104中根据积木块布局文件,生成可视化编程工具的过程,可以包括:
根据多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的可视化编程工具。
其中,每个积木执行代码对应一个编程积木块。
在本申请实施例中,处理设备可以根据多个相互嵌套的积木执行代码中每个积木执行代码生成对应的编程积木块,则可以生成多个编程积木块,多个编程积木块的嵌套关系与对应的积木执行代码的嵌套关系类似。
可选的,图2为本发明实施例提供的一种编程积木块转换方法的流程示意图,如图2所示,上述将多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码的过程,可以包括:
S201、确定多个相互嵌套的代码块中每个代码块对应的积木块标签,得到多个积木块标签。
其中,处理设备中可以存储有多个预设积木块标签。
在一种可能的实施方式中,处理设备可以直接根据每个代码块从预设积木块标签中确定对应的积木块标签,得到多个积木块标签;处理设备也可以根据每个代码块确定相应的初始积木执行代码,并从多个预设积木块标签中确定出初始积木执行代码对应的积木块标签,得到多个积木块标签。
S202、根据多个相互嵌套的代码块、和多个积木块标签,生成多个相互嵌套的积木执行代码。
其中,多个积木块标签可以用于表征编程积木块的位置信息、显示字符信息等等。
可选的,处理设备可以根据多个相互嵌套的代码块,对应的确定出多个部分积木执行代码,每个部分积木执行代码均具有对应的积木块标签,继而根据一个部分积木执行代码和对应的一个积木块标签可以生成一个积木执行代码,同理的,可以生成多个相互嵌套的积木执行代码。
可选的,积木块布局文件中每个积木执行代码中具有一个积木块标签。
上述根据多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的可视化编程工具的过程,可以包括:
根据多个相互嵌套的积木执行代码和各积木执行代码的积木块标签,生成可视化编程工具,可视化编程工具中每个编程积木块还显示有每个编码积木块对应的积木块标签。
其中,每个积木执行代码中可以包括部分积木执行代码和积木块标签。
在一种可能的实施方式中,处理设备可以根据每个部分积木执行代码确定相应的初始编程积木块,继而根据积木块标签确定初始编程积木块的显示位置、显示字符;根据初始编程积木块、显示位置以及显示字符可以生成可视化编程工具。
需要说明的是,可视化编程工具中每个编程积木块还显示有每个编码积木块对应的字符。例如,字符可以为下述中至少一种的组合:数字、文字、字母。当然,每个编程积木块还显示有每个编码积木块对应的图形,本申请实施例对此不进行具体限制。
可选的,多个相互嵌套的代码块中包括第一类型的代码块和第二类型的代码块,第二类型的代码块嵌套于第一类型的代码块中。
图3为本发明实施例提供的一种编程积木块转换方法的流程示意图,如图3所示,上述将多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码的过程,可以包括:
S301、将第一类型的代码块转换为第一类型的积木执行代码。
其中,多个相互嵌套的代码块中可以包括第一类型的代码块,第一类型的代码块可以为用于嵌套第二类型的代码块。
在一种可能的实施方式中,预设映射关系可以包括第一映射关系和第二映射关系,可以根据第一映射关系将第一类型的代码块转换为第一类型的积木执行代码,根据第二映射关系将第二类型的代码块转换为第二类型的积木执行代码。
S302、将第二类型的代码块转换为第二类型的积木执行代码,第二类型的积木执行代码嵌套于第一类型的积木执行代码中。
其中,多个相互嵌套的代码块中可以包括第二类型的代码块,第二类型的代码块可以为被嵌套的代码块。
在本申请实施例中,对于不同类型的代码块分别进行转换,可以得到相应类型的积木执行代码,即获取到不同类型的积木执行代码,继而基于不同类型的积木执行代码可以生成不同类型的编程积木块。
可选的,上述S104中根据积木块布局文件,生成可视化编程工具的过程,可以包括:
根据第一类型的积木执行代码和第二类型的积木执行代码,生成可视化编程工具。
其中,可视化编程工具中可以包括:第一类型的编程积木块和第二类型的编程积木块,第二类型的编程积木块可以嵌套于第一类型的编程积木块中。
在一种可能的实施方式中,根据第一类型的积木执行代码可以生成第一类型的编程积木块,根据第二类型的积木执行代码可以生成第二类型的编程积木块,第一类型的编程积木块和第二类型的编程积木块可以嵌套形成可视化编程工具。
可选的,基于第二类型的积木执行代码位置的不同,第二类型的编程积木块可以完全嵌套在第一类型的编程积木块中,也可以部分嵌套在第一类型的编程积木块中,本申请实施例对此不进行具体限制。另外,第一类型的编程积木块和第二类型的编程积木块的数量可以为至少一个。
例如,预设编程语言的编程代码可以为:
def start():
robot.action(“Squat”)//robot表示库,action表示函数,Squat表示参数。
相应的,解析后的语法树可以表示为:
需要说明的是,上述"BlockStatement"、"Expressionstatement"可以对应第一类型的代码块;上述"ca11Expression"、"MemberExpression"可以对应第二类型的代码块。另外,语法树中的“statement”、“expression”均可以对应一个或多个积木执行代码,相应的,可以对应一个或者多个编程积木块。
相应的,积木块布局文件可以表示为:
<block type="start"id="KMencI"EyM#K.^X^3X]^"x="427"y="319">//对应第一类型的积木执行代码;
<statement name="DO">
<block type="Squat"id="=12[X*=KaA2w.BeQe9Si"></block>对应第二类型的积木执行代码;
</statement>
</block>
图4为本发明实施例提供的一种可视化编程工具的结构示意图,如图4所示,第一类型的积木执行代码对应的第一类型的编程积木块,第二类型的积木执行代码对应的第二类型的编程积木块,第二类型的编程积木块可以嵌套在第一类型的编程积木块中,第一类型的编程积木块上可以显示有“开始”字样,第二类型的编程积木块上可以显示有“下蹲”字样。
综上所述,本发明实施例提供一种编程积木块转换方法,包括:接收输入的预设编程语言的编程代码;将编程代码解析为语法树,语法树用于指示编程代码的数据结构;将语法树转换为积木块布局文件;根据积木块布局文件,生成可视化编程工具。将预设编程语言的编程代码解析为语法树,语法树转换为积木块布局文件,根据积木块布局文件,生成可视化编程工具,可视化编程工具中可以包括生成的编程积木块,实现了将编程代码转换为编程积木块,使得应用的灵活性更佳,提高了用户体验。
下述对用以执行本申请所提供的编程积木块转换方法的编程积木块转换装置、处理设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述编程积木块转换方法的相关内容,下述不再赘述。
图5为本发明实施例提供的一种编程积木块转换装置的结构示意图,如图5所示,该装置可以包括:
接收模块501,用于接收输入的预设编程语言的编程代码;
解析模块502,用于将编程代码解析为语法树,语法树用于指示编程代码的数据结构;
转换模块503,用于将语法树转换为积木块布局文件;
生成模块504,用于根据积木块布局文件,生成可视化编程工具。
可选的,语法树包括:多个相互嵌套的代码块,转换模块503,还用于将多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码;积木块布局文件包括:多个相互嵌套的积木执行代码。
可选的,生成模块504,还用于根据多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的可视化编程工具,每个积木执行代码对应一个编程积木块。
可选的,转换模块503,还用于确定多个相互嵌套的代码块中每个代码块对应的积木块标签,得到多个积木块标签;根据多个相互嵌套的代码块、和多个积木块标签,生成多个相互嵌套的积木执行代码。
可选的,积木块布局文件中每个积木执行代码中具有一个积木块标签;
根据生成模块504,还用于根据多个相互嵌套的积木执行代码和各积木执行代码的积木块标签,生成可视化编程工具,可视化编程工具中每个编程积木块还显示有每个编码积木块对应的积木块标签。
可选的,多个相互嵌套的代码块中包括第一类型的代码块和第二类型的代码块,第二类型的代码块嵌套于第一类型的代码块中;
转换模块503,还用于将第一类型的代码块转换为第一类型的积木执行代码;将第二类型的代码块转换为第二类型的积木执行代码,第二类型的积木执行代码嵌套于第一类型的积木执行代码中。
可选的,生成模块504,还用于根据第一类型的积木执行代码和第二类型的积木执行代码,生成可视化编程工具,可视化编程工具中包括:第一类型的编程积木块和第二类型的编程积木块,第二类型的编程积木块嵌套于第一类型的编程积木块中。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图6为本发明一实施例提供的处理设备的结构示意图,该处理设备可以包括:处理器601、存储器602。该处理设备可以为服务器,也可以为终端,还可以为其他类型具备处理功能的设备,本申请实施例对此不进行具体限制。
存储器602用于存储程序,处理器601调用存储器602存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种编程积木块转换方法,其特征在于,包括:
接收输入的预设编程语言的编程代码;
将所述编程代码解析为语法树,所述语法树用于指示所述编程代码的数据结构;
将所述语法树转换为积木块布局文件;
根据所述积木块布局文件,生成可视化编程工具;
所述语法树包括:多个相互嵌套的代码块,所述将所述语法树转换为积木块布局文件,包括:
将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码;所述积木块布局文件包括:多个相互嵌套的积木执行代码;
所述根据所述积木块布局文件,生成可视化编程工具,包括:
根据所述多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的所述可视化编程工具,每个积木执行代码对应一个编程积木块;
所述将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码,包括:
确定所述多个相互嵌套的代码块中每个代码块对应的积木块标签,得到多个积木块标签;
根据所述多个相互嵌套的代码块、和所述多个积木块标签,生成所述多个相互嵌套的积木执行代码;
所述积木块布局文件中每个积木执行代码中具有一个所述积木块标签;
所述根据所述多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的所述可视化编程工具,包括:
根据所述多个相互嵌套的积木执行代码和各积木执行代码的积木块标签,生成所述可视化编程工具,所述可视化编程工具中每个编程积木块还显示有所述每个编程积木块对应的积木块标签。
2.如权利要求1所述的方法,其特征在于,所述多个相互嵌套的代码块中包括第一类型的代码块和第二类型的代码块,所述第二类型的代码块嵌套于所述第一类型的代码块中;
所述将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码,包括:
将所述第一类型的代码块转换为第一类型的积木执行代码;
将所述第二类型的代码块转换为第二类型的积木执行代码,所述第二类型的积木执行代码嵌套于所述第一类型的积木执行代码中。
3.如权利要求2所述的方法,其特征在于,所述根据所述积木块布局文件,生成可视化编程工具,包括:
根据第一类型的积木执行代码和第二类型的积木执行代码,生成所述可视化编程工具,所述可视化编程工具中包括:第一类型的编程积木块和第二类型的编程积木块,所述第二类型的编程积木块嵌套于所述第一类型的编程积木块中。
4.一种编程积木块转换装置,其特征在于,包括:
接收模块,用于接收输入的预设编程语言的编程代码;
解析模块,用于将所述编程代码解析为语法树,所述语法树用于指示所述编程代码的数据结构;
转换模块,用于将所述语法树转换为积木块布局文件;
生成模块,用于根据所述积木块布局文件,生成可视化编程工具;
所述语法树包括:多个相互嵌套的代码块,所述转换模块,还用于将所述多个相互嵌套的代码块,转换为多个相互嵌套的积木执行代码;所述积木块布局文件包括:多个相互嵌套的积木执行代码;
所述生成模块,还用于根据所述多个相互嵌套的积木执行代码,生成由多个编程积木块相互嵌套的所述可视化编程工具,每个积木执行代码对应一个编程积木块;
所述转换模块,还用于确定所述多个相互嵌套的代码块中每个代码块对应的积木块标签,得到多个积木块标签;根据所述多个相互嵌套的代码块、和所述多个积木块标签,生成所述多个相互嵌套的积木执行代码;
所述积木块布局文件中每个积木执行代码中具有一个所述积木块标签;
所述生成模块,还用于根据所述多个相互嵌套的积木执行代码和各积木执行代码的积木块标签,生成所述可视化编程工具,所述可视化编程工具中每个编程积木块还显示有所述每个编程积木块对应的积木块标签。
5.一种处理设备,其特征在于,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-3任一项所述的编程积木块转换方法。
6.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述权利要求1-3任一项所述的编程积木块转换方法。
CN202110022873.2A 2021-01-08 2021-01-08 编程积木块转换方法、装置、处理设备及存储介质 Active CN112698825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110022873.2A CN112698825B (zh) 2021-01-08 2021-01-08 编程积木块转换方法、装置、处理设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110022873.2A CN112698825B (zh) 2021-01-08 2021-01-08 编程积木块转换方法、装置、处理设备及存储介质

Publications (2)

Publication Number Publication Date
CN112698825A CN112698825A (zh) 2021-04-23
CN112698825B true CN112698825B (zh) 2024-04-02

Family

ID=75513432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110022873.2A Active CN112698825B (zh) 2021-01-08 2021-01-08 编程积木块转换方法、装置、处理设备及存储介质

Country Status (1)

Country Link
CN (1) CN112698825B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115392176B (zh) * 2022-10-28 2023-01-10 北京联盛德微电子有限责任公司 SoC芯片顶层模块集成设计方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503754A (zh) * 2014-12-16 2015-04-08 江南大学 一种机器人图形化编程系统中编程及编译的设计方法
CN107278290A (zh) * 2017-05-16 2017-10-20 深圳市创客工场科技有限公司 积木式编程转换成程序代码的方法及装置
CN109284100A (zh) * 2018-07-30 2019-01-29 深圳点猫科技有限公司 用于学科认知工具的图形化编程语言的呈现方法及系统
CN109634592A (zh) * 2018-12-29 2019-04-16 深圳点猫科技有限公司 图形化Python编程交互方法、系统及电子设备
CN109684224A (zh) * 2018-12-29 2019-04-26 深圳点猫科技有限公司 python代码与积木的转换过程的测试方法及装置
CN109710242A (zh) * 2018-12-29 2019-05-03 深圳点猫科技有限公司 web端图形化编程的交互方法、系统及电子设备
CN111708530A (zh) * 2020-06-24 2020-09-25 武汉久同智能科技有限公司 一种工业机器人图形化编程系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975233B2 (en) * 2006-07-24 2011-07-05 National Instruments Corporation Automatic conversion of a textual language into a graphical program representation
US7954059B2 (en) * 2006-07-24 2011-05-31 National Instruments Corporation Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution
US9710243B2 (en) * 2013-11-07 2017-07-18 Eagle Legacy Modernization, LLC Parser that uses a reflection technique to build a program semantic tree

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503754A (zh) * 2014-12-16 2015-04-08 江南大学 一种机器人图形化编程系统中编程及编译的设计方法
CN107278290A (zh) * 2017-05-16 2017-10-20 深圳市创客工场科技有限公司 积木式编程转换成程序代码的方法及装置
WO2018209558A1 (zh) * 2017-05-16 2018-11-22 深圳市创客工场科技有限公司 积木式编程转换成程序代码的方法及装置
CN109284100A (zh) * 2018-07-30 2019-01-29 深圳点猫科技有限公司 用于学科认知工具的图形化编程语言的呈现方法及系统
CN109634592A (zh) * 2018-12-29 2019-04-16 深圳点猫科技有限公司 图形化Python编程交互方法、系统及电子设备
CN109684224A (zh) * 2018-12-29 2019-04-26 深圳点猫科技有限公司 python代码与积木的转换过程的测试方法及装置
CN109710242A (zh) * 2018-12-29 2019-05-03 深圳点猫科技有限公司 web端图形化编程的交互方法、系统及电子设备
CN111708530A (zh) * 2020-06-24 2020-09-25 武汉久同智能科技有限公司 一种工业机器人图形化编程系统

Also Published As

Publication number Publication date
CN112698825A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN112015430B (zh) JavaScript代码翻译方法、装置、计算机设备及存储介质
CN108694214A (zh) 数据报表的生成方法、生成装置、可读介质及电子设备
JP5671320B2 (ja) 情報処理装置及びその制御方法並びにプログラム
CN111680061A (zh) 一种数据存取方法、装置、设备和存储介质
CN110769002A (zh) 基于LabVIEW的报文解析方法、系统、电子设备和介质
CN110502520A (zh) 一种数据入库的方法、系统、设备及计算机可读存储介质
CN108664546B (zh) Xml数据结构转换方法和装置
CN112698825B (zh) 编程积木块转换方法、装置、处理设备及存储介质
CN112926008A (zh) 生成表单页面的方法、装置、电子设备和存储介质
CN107562464A (zh) 一种命令行接口的调用方法、装置及设备
CN110737431A (zh) 软件开发方法、开发平台、终端设备及存储介质
CN110308907A (zh) 数据转换方法、装置、存储介质及电子设备
CN114091383A (zh) 测试序列生成方法、装置、系统及相关设备
CN117314139A (zh) 业务流程的建模方法、装置、终端设备及存储介质
CN111796833A (zh) 代码语言转换方法、系统、设备及存储介质
CN114222317B (zh) 数据处理方法及装置、电子设备和存储介质
CN111753548B (zh) 信息获取方法及装置、计算机存储介质、电子设备
CN114356291A (zh) 基于配置文件生成表单的方法、装置、设备及介质
CN113468836A (zh) 数据处理方法、装置、存储介质和电子设备
CN101325758A (zh) 可显示多种语言的移动通讯装置及方法
CN111046020A (zh) 信息处理方法与装置、存储介质、电子设备
CN111401009A (zh) 一种数字表情符识别转换方法、装置、服务器及存储介质
CN114116877B (zh) 一种数据转换的方法、装置、计算机设备和介质
CN111126015B (zh) 一种报表编制方法、设备
CN111596907A (zh) 文件生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant