WO2020048416A1 - 领域专用语言dsl的图形化处理方法和设备 - Google Patents

领域专用语言dsl的图形化处理方法和设备 Download PDF

Info

Publication number
WO2020048416A1
WO2020048416A1 PCT/CN2019/103977 CN2019103977W WO2020048416A1 WO 2020048416 A1 WO2020048416 A1 WO 2020048416A1 CN 2019103977 W CN2019103977 W CN 2019103977W WO 2020048416 A1 WO2020048416 A1 WO 2020048416A1
Authority
WO
WIPO (PCT)
Prior art keywords
dsl
action
java class
script
graphical
Prior art date
Application number
PCT/CN2019/103977
Other languages
English (en)
French (fr)
Inventor
杨波
Original Assignee
易保网络技术(上海)有限公司
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 易保网络技术(上海)有限公司 filed Critical 易保网络技术(上海)有限公司
Publication of WO2020048416A1 publication Critical patent/WO2020048416A1/zh

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/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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

Definitions

  • the present invention relates to the field of computer networks, and more particularly, to a method and device for graphically processing a domain-specific language DSL.
  • DSL Domain Specific Language
  • SQL JAVASCRIPT
  • the DSL language is more specific to a specific domain and solves the problem in that specific domain.
  • the invention provides a domain-specific language DSL data processing method.
  • a method of mapping statement fragments of a DSL script to a java class and also converting the DSL statement fragments into a graphical block, and translating the block into DSL fragments, so as to enable the writing of DSL scripts by combining graphical blocks, assist DSL programming, and improve the friendliness of DSL applications.
  • Some embodiments of the present invention provide a general domain-specific language (DSL) design, implementation, and graphical writing method.
  • a method for graphically processing a domain-specific language DSL including: creating a java class, the class including a method; a method of mapping a statement fragment of a DSL script to the java class; The semantics of the sentence fragments implement the methods of the java class; the sentence fragments are converted into graphical blocks according to the Blockly specification, so that the graphical blocks are combined, and the graphical blocks are translated into DSL sentence fragments.
  • Some embodiments of the present invention further provide a computer device including a processor; and a memory for storing computer instructions, the computer instructions being adapted to be loaded by the processor to perform the graphic processing of the domain-specific language DSL described above. method.
  • Some embodiments of the present invention also provide a computer-readable medium storing computer-readable instructions, which are adapted to be loaded by a processor to execute the above-mentioned graphical processing method of a domain-specific language DSL.
  • FIG. 1 is a schematic flowchart of a data processing method for a domain-specific language DSL according to an embodiment of the present invention.
  • FIG. 2 shows a schematic diagram of calling a graphical block according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a computer device according to an embodiment of the present invention.
  • FIG. 1 shows a schematic flowchart of a data processing method for a domain-specific language DSL according to an embodiment of the present invention.
  • the method 100 may include: step 110, step 120, step 130, and step 140.
  • the embodiment describes the above steps.
  • Step 110 Create a java class, where the class includes a method.
  • Java is an object-oriented computer programming language that supports a variety of data structures, such as classes, instances, objects, and methods.
  • a class is a collection of objects with common properties and behaviors, which defines the properties and methods of an object.
  • the attribute of the class is the description of the object data, and the method is the behavior of the object.
  • the DSL script may be a file in a text format, which is a program developed based on Behavior Driven Development (BDD).
  • a DSL script can be a text file, and a DSL script contains a Feature line to illustrate the basic responsibilities of this script.
  • a BDD script contains multiple Scenario lines, one Scenario represents a scenario, and one Scenario contains multiple Action lines.
  • Each Action line represents an action, beginning with an action guide word.
  • the action guide words can include Given, When, And, or Then.
  • these action guide words can be used crosswise to complete the intended function. Given describes giving a specific condition or state or setting, When describes that a specific condition is met, And describes further strengthening a condition or state or setting, and Then describes performing a specific process based on the above condition or state or setting.
  • the java class created in step 110 may include objects and methods as a host for the DSL statement fragment.
  • the DSL statement segment may be an action line.
  • the Action line starts with a leading word in Given, When, And, or Then to implement a corresponding action Action.
  • Step 120 Map the statement fragment of the DSL script to the method of the java class.
  • step 120 may include a method of mapping statement fragments of the DSL script to a java class by using a java annotation.
  • the DSL statement fragment may be an action line, which may correspond to a method of the java class.
  • the method of the Java class needs to have an action annotation corresponding to the Action line, wherein the action annotation has a value portion that performs action action line matching.
  • the value part of the action annotation may be in the form of a regular expression.
  • the action line matching can be performed on the action line of the DSL script, and the matched data can be used as a parameter of the method of the java class.
  • the matched data is textual data.
  • Each line in the DSL script is an Action line, which represents the goal to be achieved, for example:
  • the first word Given is an action guide word, which is a keyword. This Action should correspond to a piece of code logic in the back end, so the Cucumber framework needs to know what kind of action should be performed when a DSL script line like this appears.
  • Cucumber is a tool library that supports behavior-driven development, provides multiple language implementations, and supports mainstream development languages such as java and net.
  • the @Given annotation corresponds to the action guide Given, and other action guides have corresponding action annotations.
  • Each action annotation has a regular expression as its value, for example:
  • apiBase will be set to the value of java method parameter attributeName
  • http://172.25.12.166:7101 will be set Is the value of the parameter defaultValue.
  • Step 130 Implement the method of the java class according to the semantics of the statement fragments of the DSL script.
  • the method of the java class that is the host of the DSL statement fragment (for example, the Action line) needs to be implemented. If the method of the java class is not implemented, even if the Cucumber framework matches this line of DSL script, But I don't know what kind of operation to perform.
  • the class that is the host of the DSL statement fragment in addition to the implementation, requires the annotations described above. Without annotations, the Cucumber framework cannot know the meaning of the DSL action line.
  • Step 140 Convert the sentence segment into a graphical block according to the Blockly specification, so as to combine the graphical blocks and realize the translation of the graphical block into a DSL sentence segment.
  • the graphical block can be a graphical block that is dragged in a predetermined editor.
  • the graphical block can be set in the toolbar of the editor and can be dragged to the canvas area by the user.
  • This graphical block can be configured with inputable and visible text sections, and settings that link up, down, left, and right. According to the setting of the blocks connecting up, down, left, and right, multiple dragged graphical blocks can be combined.
  • the inputtable part of the block can be presented in a predetermined area of the graphical block to receive user input.
  • a graphical block can be shown in Figure 2.
  • the left side of Figure 2 is the toolbar, which shows the blocks that can be dragged.
  • the right side is the canvas area. The user can drag the selected block on the side of the toolbar Canvas area, and you can drag multiple blocks to combine.
  • the graphical block may correspond to one Block instance in the canvas area. In other embodiments, the graphical block may correspond to two or more Block instances of the canvas area.
  • Each block corresponds to each line of the DSL script, for example,
  • the above two action lines correspond to the definition of the same block, but on the dragging canvas interface, they belong to two block instances.
  • the changed part is an inputable part, as shown in the part after the name Scenano in Figure 2. It belongs to the inputable part, which can be filled in by the user.
  • the user can fill in apiBase and http://172.25.12.166:7101 in the input part of the graphical block, or fill in profile and shawn-test- in the input part of the graphical block. 001.
  • the other part is the visible text part.
  • the Scenano name in FIG. 2 belongs to the visible text part, which can be presented in a predetermined area of the graphical block for the user to view.
  • the text part is fixed, and this part cannot be changed by the user.
  • the main function is to let the user understand the semantics of the block.
  • the visible text part does not need to correspond to the text of the DSL line.
  • the visible text is only used to help users understand the meaning of the block.
  • the block's translation function When processing any graphical block Block, the block's translation function will be called to translate into a specific DSL statement fragment. Among them, the result of the translation function should be a correct, compliant DSL line. All Block blocks have translated the DSL lines correctly, and then you get the complete DSL script.
  • the invention also provides a computer device.
  • the computer device 300 may include a processor 321, an input / output (I / O) device 322, a memory 323, a database 324, and a display 325.
  • the processor 321 may be one or more known processing devices, which may load the computer instructions stored in the memory 323 for implementing the foregoing methods to cause a computer device to perform the foregoing methods.
  • the I / O device 322 may be configured to allow data to be received and / or transmitted.
  • I / O device 322 may include one or more digital and / or analog communication devices that allow computer device 300 to communicate with other machines and devices.
  • Computer device 300 may also include one or more databases 324, or be communicatively connected with one or more databases 324 via a network.
  • the database 324 may be any suitable database suitable for performing the associated data processing of the methods described above.
  • the display 325 may include a display screen, which may be used to display output results of the input / output device 322 and intermediate results during data processing.
  • the present invention also provides a computer-readable storage medium having computer instructions stored thereon, which when executed by a processor implement the method for testing an application program interface API described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供一种领域专用语言DSL的图形化处理方法和设备,包括:创建java类,所述类包括方法;将DSL脚本的语句片段映射到所述java类的方法;根据所述DSL脚本的语句片段的语义实现所述java类的方法;根据Blockly规范将所述语句片段转换为图形化的块,以便组合所述图形化的块,实现所述图形化的块转译为DSL语句片段。根据本发明提供的方法,能够将DSL的脚本进行图形化处理,辅助DSL程序设计。

Description

领域专用语言DSL的图形化处理方法和设备 技术领域
本发明涉及计算机网络领域,更为具体而言,涉及一种领域专用语言DSL的图形化处理方法和设备。
背景技术
DSL(领域专用语言,Domain Specific Language)是一种专门用于特定的业务领域的抽象语法,与SQL或者JAVASCRIPT类似。但是,DSL语言更多地是针对特定领域,解决该特定领域的问题。
目前,领域专用语言DSL的设计和实现需要复杂的代码程序,由专门的技术人员编写,也没有其他辅助DSL编写的工具。
发明内容
本发明提供一种领域专用语言DSL的数据处理方法,通过创建java类,将DSL脚本的语句片段映射到java类的方法,还将DSL的语句片段转换为图形化的block,并将block转译为DSL片段,从而能够通过组合图形化的块来实现DSL脚本的编写,辅助DSL程序设计,提高了DSL应用的友好性。
本发明一些实施方式提供一种通用的领域专用语言(DSL)的设计、实现和图形化编写方式。具体而言,提供一种领域专用语言DSL的图形化处理方法,包括:创建java类,所述类包括方法;将DSL脚本的语句片段映射到所述java类的方法;根据所述DSL脚本的语句片段的语义实现所述java类的方法;根据Blockly规范将所述语句 片段转换为图形化的块,以便组合所述图形化的块,实现所述图形化的块转译为DSL语句片段。
本发明的一些实施方式还提供一种计算机设备,包括处理器;和存储器,用于存储计算机指令,所述计算机指令适于被所述处理器加载以执行上述的领域专用语言DSL的图形化处理方法。
本发明的一些实施方式还提供一种计算机可读介质,其存储有计算机可读指令,所述指令适于被处理器加载以执行上述的领域专用语言DSL的图形化处理方法。
附图说明
图1示出了根据本发明实施例的一种领域专用语言DSL的数据处理方法的流程示意图。
图2示出了根据本发明实施例的图形化的块的调用示意图。
图3示出了根据本发明实施例的计算机设备的结构示意图。
具体实施方式
现参考示例性的实施方式详细描述本发明,一些实施例图示在附图中。以下描述参考附图进行,除非另有表示,否则在不同附图中的相同数字代表相同或类似的元件。以下示例性实施方式中描述的方案不代表本发明的所有方案。相反,这些方案仅是所附权利要求中涉及的本发明的各个方面的***和方法的例子。
参见图1,图1示出了根据本发明实施例的一种领域专用语言DSL的数据处理方法的流程示意图,该方法100可包括:步骤110、步骤120、步骤130和步骤140,下面结合具体的实施例对上述的步 骤进行说明。
步骤110,创建java类,所述类包括方法。
Java是面向对象的计算机程序设计语言,其支持多种数据结构,例如,类、实例、对象和方法等。其中,类是具有共同属性和行为的对象的集合,其定义对象的属性和方法。其中,类的属性是对象数据的描述,方法是对象的行为。
本发明实施例中,DSL脚本可以是文本格式的文件,其是基于行为驱动开发(Behavior Driven Development,BDD)开发的程序。一个DSL脚本可以是一个文本文件,一个DSL脚本包含一个Feature行,用于阐述本脚本的基本职责。一个BDD脚本包含多个Scenario行,一个Scenario代表一种场景,一个Scenario包含多个Action行,每个Action行代表一个动作,以动作引导词开头。其中,动作引导词可包括Given、When、And或者Then,在一个DSL脚本中,这些动作引导词可以交叉使用,完成预计的功能。Given描述给予特定的条件或者状态或者设定,When描述特定的条件得到满足,And描述进一步强化条件或者状态或者设置,Then描述根据上述条件或者状态或者设置,执行特定的过程。
步骤110中创建的java类可包括对象和方法,作为DSL语句片段的宿主。在一些实施例中,DSL语句片段可以是一个动作Action行,该Action行以Given、When、And或者Then中的一个引导词开头,实现一个对应的动作Action。
步骤120,将所述DSL脚本的语句片段映射到所述java类的方 法。
在一些实施例中,步骤120可以包括:采用java注解的方式将DSL脚本的语句片段映射到java类的方法。在一些实施例中,DSL语句片段可以是一个动作Action行,其可以对应到java类的方法。
Java类的方法需要具有与该Action行对应的动作注解,其中,该动作注解具有进行动作Action行匹配的值value部分。在一些实施例中,动作注解的value部分可以是正则表达式形式。根据动作注解的值部分可以对DSL脚本的动作行执行Action行匹配,并将匹配出来的数据作为该java类的方法的参数。在一些实施例中,匹配出来的数据是文本形式的数据。
下面以一个具体的例子说明java注解。
DSL脚本中的每一行是一个动作(Action)行,代表需要达成的目标,例如:
Given variable apiBase with default http://172.25.12.166:7101
第一个单词Given是动作引导词,是关键字,这个Action要对应的后端的一段代码逻辑,这样Cucumber框架需要知道当出现类似这样的DSL脚本行时,应该执行什么样的动作。Cucumber是一个支持行为驱动开发的的工具库,提供多种语言实现,支持java,net等主流开发语言。
例如,下面的例子,就是要执行java方法requireAttribute:
@Given("^variable(.*?)with default(.*?)$")
public void requireAttribute(String attributeName,String  defaultValue){
VariableSystem.get().pool().require(attributeName, defaultValue);
}
@Given注解对应于动作引导词Given,其他的动作引导词存在相应的动作注解。
每个动作注解都有一个正则表达式作为其值,例如:
^variable(.*?)with default(.*?)$
这个正则表达式的含义是,匹配以variable开头,中间含有with default,并以其他任意字符结尾的的动作Action行。
在运行脚本时,匹配的部分,将被依次传递到一个所对应的java方法的参数,这里,apiBase将被设置为java方法参数attributeName的值,而http://172.25.12.166:7101将被设置为参数defaultValue的值。
步骤130,根据所述DSL脚本的语句片段的语义实现所述java类的方法。
在本发明的实施例中,作为DSL的语句片段(例如,动作Action行)的宿主的java类的方法还需要实现,如果不实现该java类的方法,即便Cucumber框架匹配到这行DSL脚本,但是不知道要具体执行何种操作。作为DSL的语句片段的宿主的类,除了需要实现之外,还需要如上所述的注解,如果不进行注解,那么Cucumber框架没法获知DSL的动作Action行的含义。
步骤140,根据Blockly规范将所述语句片段转换为图形化的块,以便组合所述图形化的块,实现所述图形化的块转译为DSL语句片段。
图形化的块Block可以是在预定编辑器中进行拖拽的图形化的块,该图形化的块可以设置在编辑器的工具栏中,并且能够被用户拖拽到画布区域。该图形化的块可配置有可输入部分和可见文本部分以及上下左右衔接的设置。根据块的上下左右衔接的设置,可以将拖拽的多个图形化的块进行组合。在图形化的块被拖拽到画布界面之后,块的可输入部分可以呈现在该图形化的块的预定区域,接收用户的输入。一种图形化的块可以如图2所示,图2的左侧为工具栏,呈现可供拖拽的块,右侧为画布区域,用户可以将工具栏一侧选定的块拖拽到画布区域,并且可以拖拽多个块,进行组合。
在一些实施例中,图形化的块可对应画布区域中的一个Block实例。在另外一些实施例中,图形化的块可以对应画布区域的两个或多个Block实例。
每个块对应于DSL脚本的每一行,例如,
Given variable apiBase with default http://172.25.12.166:7101
Given variable profile with default shawn-test-001
上述两个动作Action行对应于同一个Block的定义,但是在拖拽的画布界面上,属于两个Block的实例。除开动作引导词Given之外,变化的部分是可输入部分,如图2中的Scenano name is后面的部分,属于可输入部分,这些可以由用户自行填写。对于上述两个动作 Action行,用户可以在图形化的块的可输入部分填写apiBase与http://172.25.12.166:7101,也可以在图形化的块的可输入部分填写profile和shawn-test-001。其他的部分,是可见文本部分,例如,图2中的Scenano name is属于可见文本部分,其可以呈现在图形化的块的预定区域,供用户查看。可见文本部分是固定不变的,这部分是用户没法改变的,主要作用是让用户了解该Block的语义。可见文本部分并不需要和DSL行的文本对应,可见文本仅仅用来辅助用户了解块的含义。
当处理任意图形化的块Block时,将调用该块的翻译函数来翻译成特定的DSL语句片段。其中,翻译函数的结果应该是一个正确的,符合要求的DSL行。所有的Block块都正确翻译了DSL行,那么就最终得到了完整的DSL脚本。
本发明还提供一种计算机设备。如图3所示,该计算机设备300可包括处理器321、输入/输出(I/O)设备322、存储器323、数据库324和显示器325。
处理器321可为一个或多个已知的处理装置,其可以加载存储器323中存储的用于实现上述方法的计算机指令以使计算机设备执行上述的方法。
I/O设备322可被配置以允许数据被接收和/或传输。I/O设备322可包括一个或多个数字和/或模拟通信设备,其允许计算机设备300与其他机器和设备通信。计算机设备300还可包括一个或多个数据库324,或通过网络与一个或多个数据库324通信连接。例如,数据库 324可以是适于进行上述所描述的方法的关联数据处理的任意合适的数据库。
显示器325可包括显示屏,其可用于显示输入/输出设备322的输出结果以及数据处理过程中的中间结果。
本发明还提供一种计算机可读的存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现上面所描述的用于应用程序接口API测试的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。

Claims (12)

  1. 一种领域专用语言DSL的图形化处理方法,其特征在于,所述方法包括:
    创建java类,所述类包括方法;
    将DSL脚本的语句片段映射到所述java类的方法;
    根据所述DSL脚本的语句片段的语义实现所述java类的方法;
    根据Blockly规范将所述语句片段转换为图形化的块,以便组合所述图形化的块,实现所述图形化的块转译为DSL语句片段。
  2. 根据权利要求1所述的方法,其特征在于,所述将DSL脚本的语句片段映射到所述java类的方法包括:
    采用java注解的方式将DSL脚本的语句片段映射到所述java类的方法。
  3. 根据权利要求2所述的方法,其特征在于,所述语句片段为DSL的动作Action行,所述动作Action行以动作引导词开头。
  4. 根据权利要求3所述的方法,其特征在于,所述动作引导词包括given、when、and或者then。
  5. 根据权利要求3所述的方法,其特征在于,所述java类的方法具有与所述Action行对应的动作注解,其中,所述动作注解具有用于进行动作Action行匹配的值value部分。
  6. 根据权利要求5所述的方法,其特征在于,所述值value部分为正则表达式形式。
  7. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    根据所述动作注解的值value部分对所述DSL脚本的Action行执行匹配,并将匹配出来的数据作为所述java类的方法的参数。
  8. 根据权利要求1所述的方法,其特征在于,所述图形化的块配置有可输入部分和可见文本部分,以及上下左右衔接的设置。
  9. 根据权利要求1所述的方法,其特征在于,所述图形化的块block对应一个或多个块Block实例。
  10. 根据权利要求8所述的方法,其特征在于,所述可输入部分配置为在图形化块的预定区域呈现,接收用户的输入数据。
  11. 一种计算机设备,其包括:
    处理器;和
    存储器,用于存储计算机指令,所述计算机指令适于被所述处理器加载以执行权利要求1至10的任何一项所述的方法。
  12. 一种计算机可读介质,其存储有计算机可读指令,所述指令适于被处理器加载以执行权利要求1至10的任何一项所述的方法
PCT/CN2019/103977 2018-09-05 2019-09-02 领域专用语言dsl的图形化处理方法和设备 WO2020048416A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811033912.3A CN110879699A (zh) 2018-09-05 2018-09-05 领域专用语言dsl的图形化处理方法和设备
CN201811033912.3 2018-09-05

Publications (1)

Publication Number Publication Date
WO2020048416A1 true WO2020048416A1 (zh) 2020-03-12

Family

ID=69722795

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/103977 WO2020048416A1 (zh) 2018-09-05 2019-09-02 领域专用语言dsl的图形化处理方法和设备

Country Status (2)

Country Link
CN (1) CN110879699A (zh)
WO (1) WO2020048416A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185495B (zh) * 2022-12-13 2023-10-13 易保网络技术(上海)有限公司 计算函数构建方法、计算引擎、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325571A1 (en) * 2006-08-04 2010-12-23 Kodosky Jeffrey L Graphically Specifying and Indicating Targeted Execution in a Graphical Program
CN104503754A (zh) * 2014-12-16 2015-04-08 江南大学 一种机器人图形化编程***中编程及编译的设计方法
CN105511860A (zh) * 2015-11-30 2016-04-20 大连文森特软件科技有限公司 在线图形化编程***
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及***
CN106970802A (zh) * 2017-04-25 2017-07-21 北京航天飞行控制中心 在领域特定语言中集成编程脚本语言的方法及装置
CN107861721A (zh) * 2017-11-03 2018-03-30 上海宽全智能科技有限公司 逆向图形化智能编程方法与装置、设备和存储介质
CN108334443A (zh) * 2017-12-22 2018-07-27 海尔优家智能科技(北京)有限公司 生成测试用例的方法、装置、设备及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092967A (zh) * 2013-01-22 2013-05-08 交通银行股份有限公司 一种基于规则引擎的业务规则决策方法及装置
CN106250104B (zh) * 2015-06-09 2019-08-20 阿里巴巴集团控股有限公司 一种针对服务器的远程操作***、方法及装置
US10318544B2 (en) * 2015-08-20 2019-06-11 International Business Machines Corporation Transforming and loading data from a source data system to a target data system
CN107273143A (zh) * 2017-07-26 2017-10-20 北京计算机技术及应用研究所 一种基于Xtext的特定领域语言的软件工程设计方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325571A1 (en) * 2006-08-04 2010-12-23 Kodosky Jeffrey L Graphically Specifying and Indicating Targeted Execution in a Graphical Program
CN104503754A (zh) * 2014-12-16 2015-04-08 江南大学 一种机器人图形化编程***中编程及编译的设计方法
CN105511860A (zh) * 2015-11-30 2016-04-20 大连文森特软件科技有限公司 在线图形化编程***
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及***
CN106970802A (zh) * 2017-04-25 2017-07-21 北京航天飞行控制中心 在领域特定语言中集成编程脚本语言的方法及装置
CN107861721A (zh) * 2017-11-03 2018-03-30 上海宽全智能科技有限公司 逆向图形化智能编程方法与装置、设备和存储介质
CN108334443A (zh) * 2017-12-22 2018-07-27 海尔优家智能科技(北京)有限公司 生成测试用例的方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110879699A (zh) 2020-03-13

Similar Documents

Publication Publication Date Title
US11036937B2 (en) Contraction aware parsing system for domain-specific languages
US7665061B2 (en) Code builders
US9767093B2 (en) Syntactic parser assisted semantic rule inference
US8028276B1 (en) Method and system for generating a test file
JP7358698B2 (ja) 語義表現モデルの訓練方法、装置、デバイス及び記憶媒体
JP2007188491A (ja) コンピュータで実装される方法、データ処理システム、コンピュータ・プログラム製品(オブジェクト・セットアップ・スクリプトを生成するグラフィカル援助)
Zaytsev et al. Parsing in a broad sense
US20230004366A1 (en) Adapting existing source code snippets to new contexts
US20160092178A1 (en) Method and system for model driven development
US8468449B1 (en) Generating CSS shorthand properties
US8302070B2 (en) Output styling in an IDE console
WO2020048416A1 (zh) 领域专用语言dsl的图形化处理方法和设备
US20130185698A1 (en) Simplifying analysis of software code used in software systems
US9940320B2 (en) Plugin tool for collecting user generated document segmentation feedback
KR102601387B1 (ko) 스타일에 대한 선언적 캐스캐이드 재정렬
US20040205707A1 (en) Logical separation of code and content
US9858113B2 (en) Creating execution flow by associating execution component information with task name
EP3255558A1 (en) Syntax analyzing device, learning device, machine translation device and recording medium
CN111898762B (zh) 深度学习模型目录创建
JP7247593B2 (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
US9507914B2 (en) User-definable morphers for medical data and graphical user interface for the same
JP2018147106A (ja) プログラム分析装置、プログラム分析方法及びプログラム分析プログラム
Ahmed et al. CdmCL, a Specific Textual Constraint Language for Common Data Model.
CN116088963A (zh) 组件配置页面的渲染方法、装置和电子设备
JP2006277468A (ja) 知識構築装置及びコンピュータプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19856853

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19856853

Country of ref document: EP

Kind code of ref document: A1