CN112015400A - 一种将图形化代码块转换成可执行程序的解析方法 - Google Patents

一种将图形化代码块转换成可执行程序的解析方法 Download PDF

Info

Publication number
CN112015400A
CN112015400A CN201910454669.0A CN201910454669A CN112015400A CN 112015400 A CN112015400 A CN 112015400A CN 201910454669 A CN201910454669 A CN 201910454669A CN 112015400 A CN112015400 A CN 112015400A
Authority
CN
China
Prior art keywords
code
group
executable program
graphical
logic
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.)
Granted
Application number
CN201910454669.0A
Other languages
English (en)
Other versions
CN112015400B (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.)
Xiamen Yaya Information Technology Co ltd
Original Assignee
Xiamen Yaya Information Technology 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 Xiamen Yaya Information Technology Co ltd filed Critical Xiamen Yaya Information Technology Co ltd
Priority to CN201910454669.0A priority Critical patent/CN112015400B/zh
Publication of CN112015400A publication Critical patent/CN112015400A/zh
Application granted granted Critical
Publication of CN112015400B publication Critical patent/CN112015400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

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

Abstract

本发明公开了一种将图形化代码块转换成可执行程序的解析方法,包括以下步骤:S1:图形化代码;S2:生成XML;S3:解析XML为可执行程序组;S4:编译实现转成可执行代码;S5:用于执行于各类应用程序以及硬件设备等载体上。本发明通过将图形化代码块生成的XML文件通过解析器转成可执行程序组,并按照方法事件的方式归纳提取的代码块方法事件、按照代码块的执行逻辑归纳提取代码块的事件关系,用于执行于各类应用程序以及硬件设备等载体上。本发明将图形化代码通过解析为可执行代码组的形式,完全解决了图形化代码对编程语言的依赖以及系统,硬件设备的依赖。解析后的代码组可通过任何形式的编程语言编译实现为适用的可执行程序。

Description

一种将图形化代码块转换成可执行程序的解析方法
技术领域
本发明属于解析与实现技术领域,具体涉及一种将图形化代码块转换成可执行程序的解析方法。
背景技术
图形化编程就是编写有界面的程序,平时接触的一般都是界面程序,就是有按钮之类的界面。编程语言就是开发者控制或者是是与计算机交流的手段,开发者通过编写编程语言告诉计算机该怎么运行。
在图形化代码解析过程中,现有技术是将解析方案深度结合到图形化代码块中,耦合性强,无法适用于各类应用程序。
发明内容
本发明的目的在于提供一种将图形化代码块转换成可执行程序的解析方法,本发明将图形化代码通过解析为可执行代码组的形式,完全解决了图形化代码对编程语言的依赖以及系统,硬件设备的依赖。解析后的代码组可通过任何形式的编程语言编译实现为适用的可执行程序,解决图形化代码块在解析适应性上的问题,使得解析后的代码可以应用到各类平台,以解决上述背景技术中提出现有技术中的问题。
为实现上述目的,本发明采用了如下技术方案:一种将图形化代码块转换成可执行程序的解析方法,包括以下步骤:
S1:图形化代码,通过图形化程序内进行选取,选取代码块作为图形化代码;
S2:生成XML,将获取的图形化代码生成XML文件;
S3:解析XML为可执行程序组,将图形化代码块生成后的XML文件通过解析器转成可执行程序组,具体转换过程步骤如下:
a:将XML代码层层解析,提取层层嵌套的代码块逻辑、代码块方法、代码块变量、代码块事件、代码块关系以及代码块运算逻辑;
b:按照方法事件的方式归纳提取的代码块方法事件、按照代码块的执行逻辑归纳提取代码块的事件关系、按照代码块的运算关系归纳提取代码块的运算逻辑后再将其组合成可执行的程序组;
S4:编译实现转成可执行代码,将解析后的可执行程序组通过编译实现转成可执行代码,其中需要将包含的事件组、逻辑组以及运算组通过组合实现的方式;
S5:用于执行于各类应用程序以及硬件设备等载体上,将可执行程序组的内容与具体的实现方法一一对应、层层嵌套,解析为可最终直接执行的程序代码,用于执行于各类应用程序以及硬件设备等载体上。
优选的,所述步骤S1中多层循环代码块中的每一层代码块含有各自的事件组,每个事件组内又包含多层逻辑组,每个逻辑组又有若干个运算组。
优选的,所述每一层代码块还包含若干个变量、列表以及与硬件设备的交互事件,所述硬件设备包括传感器、陀螺仪和摄像头等。
优选的,所述步骤S3中可执行程序组为数组,并通过网络、蓝牙和NFC方式传输。
优选的,所述步骤S3中可执行程序组包含可执行的方法、参数、标示以及对应的方法之间的执行顺序关系。
优选的,所述步骤S3的b步骤中,程序组里面包含事件组、逻辑组和运算组中的任意一种,事件组包含程序组、逻辑组和运算组中的任意一种,逻辑组包含程序组、事件组和运算组中的任意一种。
本发明的技术效果和优点:本发明提出的一种将图形化代码块转换成可执行程序的解析方法,与现有技术相比,具有以下优点:
1、本发明通过将图形化代码块生成的XML文件通过解析器转成可执行程序组(可执行程序组是一个数组,可以网络传输),可执行程序组包含可执行的方法、参数、标示以及对应的方法之间的执行顺序等关系,其中转换过程是将XML代码层层解析,提取层层嵌套的代码块逻辑、代码块方法、代码块变量、代码块事件、代码块关系以及代码块运算逻辑,并按照方法事件的方式归纳提取的代码块方法事件、按照代码块的执行逻辑归纳提取代码块的事件关系、按照代码块的运算关系归纳提取代码块的运算逻辑后再将其组合成可执行的程序组,程序组里面包含事件组,事件组包含逻辑组,逻辑组包含运算组;将解析后的可执行程序组通过编译实现转成可执行代码,其中需要将包含的事件组、逻辑组以及运算组通过组合实现的方式,将可执行程序组的内容与具体的实现方法一一对应、层层嵌套,解析为可最终直接执行的程序代码,用于执行于各类应用程序以及硬件设备等载体上。本发明将图形化代码通过解析为可执行代码组的形式,完全解决了图形化代码对编程语言的依赖以及系统,硬件设备的依赖。解析后的代码组可通过任何形式的编程语言编译实现为适用的可执行程序,解决图形化代码块在解析适应性上的问题,使得解析后的代码可以应用到各类平台,如:手机应用,网站,硬件设备等,这样就可以使用图形化来编写程序。
附图说明
图1为本发明的一种将图形化代码块转换成可执行程序的解析方法的应用场景流程图;
图2为本发明的一种将图形化代码块转换成可执行程序的解析方法的工作原理流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供了一种将图形化代码块转换成可执行程序的解析方法,包括以下步骤:
S1:图形化代码,通过图形化程序内进行选取,选取代码块作为图形化代码;
S2:生成XML,将获取的图形化代码生成XML文件;
S3:解析XML为可执行程序组,将图形化代码块生成后的XML文件通过解析器转成可执行程序组,具体转换过程步骤如下:
a:将XML代码层层解析,提取层层嵌套的代码块逻辑、代码块方法、代码块变量、代码块事件、代码块关系以及代码块运算逻辑;
b:按照方法事件的方式归纳提取的代码块方法事件、按照代码块的执行逻辑归纳提取代码块的事件关系、按照代码块的运算关系归纳提取代码块的运算逻辑后再将其组合成可执行的程序组;
XML文件为可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
解析器是指一个程序,通常是编译器的部分,接收输入的顺序源程序指令、交互式联机命令、标记或者一些其它定义的接口,将它们打破分成几个部分(例如名词(对象),动词(方法)和他们的属性或者选项),然后能够被其它的编程控制(如在编译器中的其它组成)。解析器也能用于检查是否所有的已经提供的输入都是必要的。
S4:编译实现转成可执行代码,将解析后的可执行程序组通过编译实现转成可执行代码,其中需要将包含的事件组、逻辑组以及运算组通过组合实现的方式;
S5:用于执行于各类应用程序以及硬件设备等载体上,将可执行程序组的内容与具体的实现方法一一对应、层层嵌套,解析为可最终直接执行的程序代码,用于执行于各类应用程序以及硬件设备等载体上。
具体的,所述步骤S1中多层循环代码块中的每一层代码块含有各自的事件组,每个事件组内又包含多层逻辑组,每个逻辑组又有若干个运算组。
具体的,所述每一层代码块还包含若干个变量、列表以及与硬件设备的交互事件,所述硬件设备包括传感器、陀螺仪和摄像头等。
具体的,所述步骤S3中可执行程序组为数组,并通过网络、蓝牙和NFC等方式传输。
具体的,所述步骤S3中可执行程序组包含可执行的方法、参数、标示以及对应的方法之间的执行顺序关系。
具体的,所述步骤S3的b步骤中,程序组里面包含事件组、逻辑组和运算组中的任意一种,事件组包含程序组、逻辑组和运算组中的任意一种,逻辑组包含程序组、事件组和运算组中的任意一种。
如图1所示,结合该一种将图形化代码块转换成可执行程序的解析方法的应用场景流程图中,一个图形化程序内有循环代码块嵌套多层循环代码块,每一层代码块又含有各自的事件组,每个事件组内又包含多层逻辑组,每个逻辑组又有若干个运算组,其中还包含若干个变量、列表以及与硬件设备(如传感器,陀螺仪,摄像头等)的交互事件。
这个场景下会先将XML文件通过第一步解析成可执行程序组,这时候的可执行程序组包含一些要执行的任务名称、对应关系、参数、逻辑;再将可执行程序组通过以上的解析方式解析实现为直接可以执行的程序代码。通过这两个步骤就将图形化代码块转成可以执行的程序,此时的程序可直接运行。
综上所述:本发明通过将图形化代码块生成的XML文件通过解析器转成可执行程序组(可执行程序组是一个数组,可以网络传输),可执行程序组包含可执行的方法、参数、标示以及对应的方法之间的执行顺序等关系,其中转换过程是将XML代码层层解析,提取层层嵌套的代码块逻辑、代码块方法、代码块变量、代码块事件、代码块关系以及代码块运算逻辑,并按照方法事件的方式归纳提取的代码块方法事件、按照代码块的执行逻辑归纳提取代码块的事件关系、按照代码块的运算关系归纳提取代码块的运算逻辑后再将其组合成可执行的程序组,程序组里面包含事件组,事件组包含逻辑组,逻辑组包含运算组;将解析后的可执行程序组通过编译实现转成可执行代码,其中需要将包含的事件组、逻辑组以及运算组通过组合实现的方式,将可执行程序组的内容与具体的实现方法一一对应、层层嵌套,解析为可最终直接执行的程序代码,用于执行于各类应用程序以及硬件设备等载体上。本发明将图形化代码通过解析为可执行代码组的形式,完全解决了图形化代码对编程语言的依赖以及系统,硬件设备的依赖。解析后的代码组可通过任何形式的编程语言编译实现为适用的可执行程序。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种将图形化代码块转换成可执行程序的解析方法,其特征在于:包括以下步骤:
S1:图形化代码,通过图形化程序内进行选取,选取代码块作为图形化代码;
S2:生成XML,将获取的图形化代码生成XML文件;
S3:解析XML为可执行程序组,将图形化代码块生成后的XML文件通过解析器转成可执行程序组,具体转换过程步骤如下:
a:将XML代码层层解析,提取层层嵌套的代码块逻辑、代码块方法、代码块变量、代码块事件、代码块关系以及代码块运算逻辑等;
b:按照方法事件的方式归纳提取的代码块方法事件、按照代码块的执行逻辑归纳提取代码块的事件关系、按照代码块的运算关系归纳提取代码块的运算逻辑后再将其组合成可执行的程序组;
S4:编译实现转成可执行代码,将解析后的可执行程序组通过编译实现转成可执行代码,其中需要将包含的事件组、逻辑组以及运算组通过组合实现的方式;
S5:用于执行于各类应用程序以及硬件设备等载体上,将可执行程序组的内容与具体的实现方法一一对应、层层嵌套,解析为可最终直接执行的程序代码,用于执行于各类应用程序以及硬件设备等载体上。
2.根据权利要求1所述的一种将图形化代码块转换成可执行程序的解析方法,其特征在于:所述步骤S1中多层循环代码块中的每一层代码块含有各自的事件组,每个事件组内又包含多层逻辑组,每个逻辑组又有若干个运算组。
3.根据权利要求2所述的一种将图形化代码块转换成可执行程序的解析方法,其特征在于:所述每一层代码块还包含若干个变量、列表以及与硬件设备的交互事件,所述硬件设备包括传感器、陀螺仪和摄像头等。
4.根据权利要求1所述的一种将图形化代码块转换成可执行程序的解析方法,其特征在于:所述步骤S3中可执行程序组为数组,并通过网络、蓝牙和NFC等方式传输。
5.根据权利要求1所述的一种将图形化代码块转换成可执行程序的解析方法,其特征在于:所述步骤S3中可执行程序组包含可执行的方法、参数、标示以及对应的方法之间的执行顺序关系。
6.根据权利要求1所述的一种将图形化代码块转换成可执行程序的解析方法,其特征在于:所述步骤S3的b步骤中,程序组里面包含事件组、逻辑组和运算组中的任意一种,事件组包含程序组、逻辑组和运算组中的任意一种,逻辑组包含程序组、事件组和运算组中的任意一种。
CN201910454669.0A 2019-05-29 2019-05-29 一种将图形化代码块转换成可执行程序的解析方法 Active CN112015400B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910454669.0A CN112015400B (zh) 2019-05-29 2019-05-29 一种将图形化代码块转换成可执行程序的解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910454669.0A CN112015400B (zh) 2019-05-29 2019-05-29 一种将图形化代码块转换成可执行程序的解析方法

Publications (2)

Publication Number Publication Date
CN112015400A true CN112015400A (zh) 2020-12-01
CN112015400B CN112015400B (zh) 2022-08-02

Family

ID=73500671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910454669.0A Active CN112015400B (zh) 2019-05-29 2019-05-29 一种将图形化代码块转换成可执行程序的解析方法

Country Status (1)

Country Link
CN (1) CN112015400B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579073A (zh) * 2020-12-25 2021-03-30 深圳市优必选科技股份有限公司 一种代码转换方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826016A (zh) * 2010-05-13 2010-09-08 天津大学 支持多核并行程序设计的可视化建模及代码框架生成方法
CN102880462A (zh) * 2012-08-29 2013-01-16 青岛海信网络科技股份有限公司 基于图模一体化生成组态监控对象的方法及装置
CN103677763A (zh) * 2012-08-30 2014-03-26 中国科学院软件研究所 一种图形化编程的源文件存储及解析方法
CN105700867A (zh) * 2014-12-11 2016-06-22 海德堡印刷机械股份公司 用于将动态可缩放矢量图形生成可执行应用程序的方法
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
WO2018196345A1 (zh) * 2017-04-24 2018-11-01 华南理工大学 图形化编程的自动编译方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826016A (zh) * 2010-05-13 2010-09-08 天津大学 支持多核并行程序设计的可视化建模及代码框架生成方法
CN102880462A (zh) * 2012-08-29 2013-01-16 青岛海信网络科技股份有限公司 基于图模一体化生成组态监控对象的方法及装置
CN103677763A (zh) * 2012-08-30 2014-03-26 中国科学院软件研究所 一种图形化编程的源文件存储及解析方法
CN105700867A (zh) * 2014-12-11 2016-06-22 海德堡印刷机械股份公司 用于将动态可缩放矢量图形生成可执行应用程序的方法
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
WO2018196345A1 (zh) * 2017-04-24 2018-11-01 华南理工大学 图形化编程的自动编译方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈宏君等: ""嵌入式装置图形化程序代码生成技术"", 《电脑编程技巧与维护》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579073A (zh) * 2020-12-25 2021-03-30 深圳市优必选科技股份有限公司 一种代码转换方法、装置、电子设备及存储介质
CN112579073B (zh) * 2020-12-25 2024-04-19 深圳市优必选科技股份有限公司 一种代码转换方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112015400B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
Deitel Java how to program
US8694960B2 (en) Computer-implemented method, system and computer program product for displaying a user interface component
Kennard et al. Towards a general purpose architecture for UI generation
CN106970820A (zh) 代码存储方法及代码存储装置
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
CN111381817A (zh) 实现跨平台多语言开发的方法、装置、介质和电子设备
Pérez-Castillo et al. Reengineering technologies
CN103176807A (zh) 网页应用执行的提速方法及系统
CN111813381A (zh) 跨平台生成可运行程序的方法、装置、介质和电子设备
CN114996619A (zh) 一种页面显示的方法、装置、计算机设备及存储介质
WO2011008862A2 (en) Markup language-based authoring and runtime environment for interactive content platform
CN102508887A (zh) 一种数字电视交互服务标记语言解析系统及方法
CN112015400B (zh) 一种将图形化代码块转换成可执行程序的解析方法
Ray An Overview of WebAssembly for IoT: Background, Tools, State-of-the-Art, Challenges, and Future Directions
Monteiro et al. Combining natural language processing and blockchain for smart contract generation in the accounting and legal field
CN113377342B (zh) 一种项目构建方法、装置、电子设备及存储介质
CN107608672A (zh) 一种ui模块管理器、ui模块管理方法和系统
WO2014197258A1 (en) Declarative configuration elements
CN111539200B (zh) 一种生成富文本的方法、装置、介质和电子设备
Deitel et al. Java SE 8 for programmers
US20080071735A1 (en) Method, apparatus, and computer progam product for data transformation
Stroulia et al. Reverse engineering interaction plans for legacy interface migration
Shao et al. A survey of available information recovery of binary programs based on machine learning
CN113032003B (zh) 开发文件导出方法、装置、电子设备及计算机存储介质
Brune An Open Source Approach for Modernizing Message-Processing and Transactional COBOL Applications by Integration in Java EE Application Servers

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