CN117785168A - Variable assignment method, medium, device and computing equipment - Google Patents

Variable assignment method, medium, device and computing equipment Download PDF

Info

Publication number
CN117785168A
CN117785168A CN202311801697.8A CN202311801697A CN117785168A CN 117785168 A CN117785168 A CN 117785168A CN 202311801697 A CN202311801697 A CN 202311801697A CN 117785168 A CN117785168 A CN 117785168A
Authority
CN
China
Prior art keywords
field
target
variable
assignment
expression
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.)
Pending
Application number
CN202311801697.8A
Other languages
Chinese (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.)
Hangzhou Netease Shuzhifan Technology Co ltd
Original Assignee
Hangzhou Netease Shuzhifan 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 Hangzhou Netease Shuzhifan Technology Co ltd filed Critical Hangzhou Netease Shuzhifan Technology Co ltd
Priority to CN202311801697.8A priority Critical patent/CN117785168A/en
Publication of CN117785168A publication Critical patent/CN117785168A/en
Pending legal-status Critical Current

Links

Abstract

Embodiments of the present disclosure provide a variable assignment method, medium, apparatus, and computing device, the method being applied to a visual programming platform that exposes a programming interface that includes at least a first region for exposing alternative variables and a second region for exposing alternative expressions for assigning values to respective variables, the method determining target variables to be assigned among the alternative variables by responding to a first operation instruction for the programming interface; the target variable is a multi-field variable; determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface; and assigning the target variable based on the target expression, and displaying a plurality of selectable multi-field variables and a plurality of selectable expressions on a programming interface, so that a plurality of fields in the multi-field variables can be conveniently obtained, each field in the variables is not required to be typed by a user, and the operation steps of the user in the variable assignment process are reduced.

Description

Variable assignment method, medium, device and computing equipment
Technical Field
Embodiments of the present disclosure relate to the field of computer technology, and more particularly, to a variable assignment method, medium, apparatus, and computing device.
Background
This section is intended to provide a background or context to the embodiments of the disclosure recited in the claims. The description herein is not admitted to be prior art by inclusion in this section.
An integrated development environment (IDE, integrated Development Environment) is an application program for providing a program development environment, and generally includes tools such as a code editor, a compiler, a debugger, and a graphical user interface.
The prior art provides a variety of IDEs, for example, an IDE of a specialty code may provide a textually programmed function, and a user may write in multiple lines of text when assigning a value in batches (assigning multiple fields of a variable). Aiming at IDEs with low codes, the method is that a user can drag an assignment component into an interface in a visual combination manner and add texts of each row after clicking the component to realize batch assignment; the other type is purely visual, mainly click and drag operations, but after each drag in a variable, one field under the variable needs to be selected. When the user adopts the variable assignment modes to assign values to the multi-field variables, the operation steps are more.
Aiming at the scene that the user performs batch assignment in the IDE, how to reduce the operation steps of the user is a problem to be solved urgently.
Disclosure of Invention
The disclosure provides a variable assignment method, medium, device and computing equipment, which can display a plurality of selectable expressions in a plurality of selectable multi-field variables and a plurality of selectable expressions in a programming interface, so that a user does not need to key each field in the variables, and the operation steps of the user in the variable assignment process are reduced.
In a first aspect of the embodiments of the present disclosure, a variable assignment method is provided, applied to a visual programming platform, where the visual programming platform includes a presented programming interface, and the programming interface includes at least a first area and a second area, where the first area is used to present selectable variables, and the second area is used to present selectable expressions, where the expressions are used to assign values to corresponding variables, and the method includes:
determining a target variable to be assigned in variables to be selected in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable;
determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface;
And assigning the target variable based on the target expression.
In a second aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium having stored therein computer-executable instructions which, when executed by a processor, implement the method as provided in the first aspect.
In a third aspect of the disclosed embodiments, there is provided a variable assignment device for use in a visual programming platform including a presented programming interface including at least a first region for presenting selectable variables and a second region for presenting selectable expressions for assigning values to respective variables, the device comprising:
the first determining module is used for determining a target variable to be assigned in alternative variables in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable;
a second determination module for determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface;
And the assignment module is used for assigning the target variable based on the target expression.
In a fourth aspect of embodiments of the present disclosure, there is provided a computing device comprising: at least one processor and memory;
the memory stores computer-executable instructions;
the at least one processor executes computer-executable instructions stored in the memory, causing the at least one processor to perform the variable assignment method as provided in the first aspect.
In an embodiment of the present disclosure, a method, a medium, an apparatus, and a computing device for assigning variables are provided, where the visual programming platform includes a displayed programming interface, and the programming interface includes at least a first area and a second area, where the first area is used to display selectable variables, and the second area is used to display selectable expressions, where the expressions are used to assign values to corresponding variables, and the method includes: determining a target variable to be assigned in variables to be selected in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable; determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface; and assigning the target variable based on the target expression, and displaying a plurality of selectable multi-field variables and a plurality of selectable expressions on a programming interface, so that a plurality of fields in the multi-field variables can be conveniently obtained, each field in the variables is not required to be typed by a user, and the operation steps of the user in the variable assignment process are reduced.
Drawings
The above, as well as additional purposes, features, and advantages of exemplary embodiments of the present disclosure will become readily apparent from the following detailed description when read in conjunction with the accompanying drawings. Several embodiments of the present disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario schematic provided according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow diagram of a variable assignment method provided in accordance with an embodiment of the present disclosure;
FIG. 3 schematically illustrates a schematic diagram of variable assignments provided in accordance with an embodiment of the present disclosure;
FIG. 4 schematically illustrates a flow diagram of a variable assignment method provided in accordance with another embodiment of the present disclosure;
FIG. 5 schematically illustrates a schematic diagram of a pull-in assignment component provided in accordance with an embodiment of the present disclosure;
FIG. 6 schematically illustrates a schematic diagram of selecting a target variable provided in accordance with an embodiment of the present disclosure;
FIG. 7 schematically illustrates a schematic diagram of assignment of values to fields where dependencies exist provided in accordance with an embodiment of the present disclosure;
FIG. 8 schematically illustrates a schematic diagram one of field selection mutual exclusion provided in accordance with an embodiment of the present disclosure;
FIG. 9 schematically illustrates a second diagram of field selection mutual exclusion provided in accordance with an embodiment of the present disclosure;
FIG. 10 schematically illustrates a schematic diagram one of a fast full selection field provided in accordance with an embodiment of the present disclosure;
FIG. 11 schematically illustrates a second schematic diagram of a fast full select field provided in accordance with an embodiment of the present disclosure;
FIG. 12 schematically illustrates a schematic diagram one of field wire mutual exclusion provided in accordance with an embodiment of the present disclosure;
FIG. 13 schematically illustrates a second diagram of field wire mutual exclusion provided in accordance with an embodiment of the present disclosure;
FIG. 14 schematically illustrates a third diagram of field wire mutual exclusion provided in accordance with an embodiment of the present disclosure;
FIG. 15 schematically illustrates a schematic diagram of an auto-wiring provided in accordance with an embodiment of the present disclosure;
FIG. 16 schematically illustrates a schematic diagram one of switching to a single assignment mode provided in accordance with an embodiment of the present disclosure;
FIG. 17 schematically illustrates a second schematic diagram of switching to a single assignment mode provided in accordance with an embodiment of the present disclosure;
FIG. 18 schematically illustrates a schematic diagram of a folding variant provided in accordance with an embodiment of the present disclosure;
FIG. 19 schematically illustrates a schematic diagram one of automatically ordering a plurality of fields provided in accordance with an embodiment of the present disclosure;
FIG. 20 schematically illustrates a second schematic diagram for automatically ordering a plurality of fields provided in accordance with an embodiment of the present disclosure;
FIG. 21 schematically illustrates a complete schematic diagram of compiled source code provided in accordance with an embodiment of the present disclosure;
FIG. 22 schematically illustrates a presentation schematic of fields corresponding to a batch assignment syntax tree provided in accordance with an embodiment of the disclosure;
FIG. 23 schematically illustrates a schematic diagram of assignment patterns provided in accordance with an embodiment of the present disclosure;
FIG. 24 schematically illustrates a structural diagram of a computer-readable storage medium provided according to an embodiment of the present disclosure;
FIG. 25 schematically illustrates a schematic configuration of a variable assignment device provided in accordance with an embodiment of the present disclosure;
fig. 26 schematically illustrates a structural schematic diagram of a computing device provided according to an embodiment of the present disclosure.
In the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
Detailed Description
The principles and spirit of the present disclosure will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are presented merely to enable one skilled in the art to better understand and practice the present disclosure and are not intended to limit the scope of the present disclosure in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Those skilled in the art will appreciate that embodiments of the present disclosure may be implemented as a system, apparatus, device, method, or computer program product. Accordingly, the present disclosure may be embodied in the following forms, namely: complete hardware, complete software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
According to an embodiment of the disclosure, a variable assignment method, a variable assignment medium, a variable assignment device and a computing device are provided.
Herein, it is to be understood that the terminology referred to is for convenience only and is not intended to be limiting in meaning. Furthermore, any number of elements in the figures is for illustration and not limitation, and any naming is used for distinction only and not for any limiting sense.
In addition, the data related to the disclosure may be data authorized by the user or fully authorized by each party, and the collection, transmission, use and the like of the data all conform to the requirements of national related laws and regulations, and the embodiments of the disclosure may be mutually combined.
The following are descriptions of terms involved in this disclosure:
zero code (0-code/No-code): is an application development method based on a data model and a standardized template. Application development is completed through visual definition of a data model, building of a page and other lightweight configuration, and code writing is not needed mainly for standardized scenes.
Low code (Low-code): the low code is a more customizable application development method than the zero code. In addition to basic visual data definition, building pages, etc., visual or textual logic writing, associated data fields, event binding logic, business process arrangement, etc. can be performed as desired. Through the infrastructure, the system provides functions as much as possible, so that the developer is free from feeling to the bottom layer, and the dependence on the traditional code is reduced.
Professional code (Pro-code): traditional development methods for writing source code by using desktop IDE or Web IDE have high expertise and high threshold, and developers need to pay attention to more bottom-layer implementation.
IDE (Integrated Development Environment ): is an application program for providing a programming environment and generally includes tools such as a code editor, a compiler, a debugger, and a graphical user interface. Such as VSCode, intelliJ IDEA, etc. Because of the complexity of application development, low code and specialized code will typically be run on the corresponding IDE.
Visual programming: a programming method different from text programming is to make the programmer use various components provided by the software itself, like building blocks to express business intention and construct application program interface. In a broad sense, the behavior of visual data definition, visual building page, visual writing logic and the like expressing business intention in a visual manner belongs to visual programming.
The variables: is an abstract concept in a programming language that can store results of a calculation or can represent values. Generally accessible through variable names. Variables include terms of constants, fields, members, parameters, etc., where constants refer to variables that are not variable.
Multi-field variables (complex type variables): the variables of the composite type are composed of other variables in a certain combination. A field refers to a next level variable for composing the variable.
The expression: is a combination of meaningful permutation methods that can find values from variables, constants (including numbers, strings, etc.), operators, grouping symbols (brackets), functions, etc. The individual variables, constants, are themselves also expressions.
Assignment: a method of assigning a result of calculation of an expression to a variable.
Batch assignment: a method for continuously assigning values a plurality of times.
Sequentially assigning: and performing multiple assignment sequences, wherein the last calculation depends on the result after the previous calculation. Such as in JavaScript code as follows: a=1; b=2; b=a; a=b; finally, it can be derived that: a= 1; b= 1;
parallel assignment: the assignment is executed in parallel for a plurality of times, and the assignment cannot be influenced mutually. Such as in JavaScript code as follows: a=1; b=2; [ b, a ] = [ a, b ]; finally, it can be derived that: b= 1; a= 2; parallel assignment is typically used to quickly implement the functionality of two field exchanges.
And (3) assembly: the carrier facility for visual programming, which expresses programming intent in a drag-and-drop-dominant form, can be combined with other components, such as a condition judgment component, an assignment component.
The operation steps are as follows: the index for counting the complexity of the product function of the user is used for 1 operation step of clicking once, dragging once, typing a section of word, continuously typing a plurality of symbols and typing a shortcut key. The index is mainly considered from the consistency of thinking when the user operates, so that the continuous typing of a word is counted as 1 operation step, which is equivalent to clicking once.
NASL (NetEase Application Specific Language): the domain-specific language used to describe Web applications includes sub-domains of data definitions, data queries, pages, logic, flows, and the like. At present, visual programming is the main development mode, but the development mode is not limited to the visual programming mode, and the visual programming mode can be developed in other modes such as text mode.
Syntax tree: the language includes a grammar, a grammar tree, and semantics, wherein the grammar tree defines structural features of the language. The grammar tree comprises meanings such as Schema, JSON Schema, grammar structure, component configuration and the like. The invention is expressed by TypeScript, but is not limited to the expression form, and can also be expressed by other languages such as JSON/YAML/Java. The syntax tree can be directly or indirectly rendered into a visual programming component according to the syntax tree, and then a user triggers an event by operating the visual programming component to update the data in the syntax tree.
Subtree: herein, the smaller part of the larger range syntax tree is complete. The syntax tree hierarchy associated with batch assignment herein is as follows: application- > logic- > single/batch assignment. An application (also understood as an item) that a user opens and edits in an IDE is a complete syntax tree, which contains multiple logics (also understood as functions, subtrees for expressing a control flow, including structures such as order, branching and looping) and in which single/batch assignments may be used at multiple locations.
Edit distance: is a quantization of the degree of difference between two strings, and it can be seen how many times at least one process is required to change one string to another.
Levenshtein distance: is one of editing distances. Refers to the minimum number of editing operations required to switch from one to the other between two strings. The allowed editing operations include: replacing one character with another, inserting a character, deleting a character, etc.
For example, the levenstein distance, which converts the term "kitten" to "sitting", is 3: the corresponding editing operations are sequentially as follows: kitten→sitten (k→s), sitten→sittin (e→i), sittin→sitting (insert g).
Summary of The Invention
The inventor discovers that when the user adopts the existing several IDEs to carry out batch assignment on the multi-field variables, the operation steps required to be executed by the user are more, and when more than 10 batch assignments exist, the experience of the user is poor.
For the IDE of the professional code, only the text programming is provided, the IDE is written in a mode of a plurality of lines of text when the user carries out batch assignment, and when the tempITem variable is assigned, the example is written in a JavaScript language in the VScode:
tempItem.deptName=item.deptName;
tempItem.deptId=item.deptId;
tempItem.parentId=item.parentId;
tempItem.deptlevel=item.deptlevel;
tempItem.fullPathName=item.fullPathName;
tempItem.costCenterId=item.costCenterId;
tempItem.costCenterDefaultId=item.costCenterDefaultId;
tempItem.costId=item.costId;
tempItem.bu=item.bu;
tempItem.buName=item.buName;
tempItem.state=item.state;
tempItem.costName=item.costName;
tempItem.versionId=versionId;
tempItem.children=loadSubTree(versionId,item.deptId);
when the user uses the technical scheme, the number of operation steps for adding one row is 8, and the method is specifically as follows:
1. typing "tempItem"
2. Typing "".
3. Typing "DeptName"
4. Typing "=" in "
5. Typing in "item"
6. Typing "".
7. Typing "DeptName"
8. Typing "; n'
The last two rows are special: line 13 directly inputs the version id and line 14 would be multiple-input with several characters.
The total number of steps is 8×12+6+10=112.
For low code IDE, one is to use visualization in combination with written text, and the effect of batch assignment in the above example can be achieved by taking OutSystems as an example. In the process, a user can drag an assignment component into an interface, and after clicking the component, the user adds texts of each row to realize batch assignment.
Specifically, when the user uses the technical scheme, there are two pre-operation steps:
1. dragging an assignment component into an interface;
2. clicking and selecting an assignment component;
then for the first 12 rows, the number of operation steps per added row is 8:
1. typing "tempItem"
2. Typing "".
3. Typing "DeptName"
4. Typing "=" in "
5. Typing in "item"
6. Typing "".
7. Typing "DeptName"
8. Typing "; n'
The last two rows are special: line 13 directly inputs the version id and line 14 would be multiple-input with several characters. The total number of steps is 2+8×12+6+10=114.
The low code product described above changes mainly to the edited form of the logic and does not take into account the optimisation of the operating steps, so that the user's operations are not significantly reduced compared to the IDE of the professional code.
For low-code IDEs, the other is purely visual, and is mainly based on clicking and dragging operations, when a variable is dragged in each time, a field in the variable needs to be selected and displayed, so that the value is assigned to the field, and the essence of the value is also the value of a single variable.
When the user uses the technical scheme, the number of operation steps added in each row is 8, and the total number of operation steps is about 8×12+7+12=115.
The purely visual low-code IDE described above also does not consider optimization of the operating steps, and therefore the user's operation is not significantly reduced compared to a specialty-code IDE.
When the user performs batch assignment on the multi-field variables, the user essentially assigns the values of the fields in the multi-field variables one by one, so that the operation steps of the user are reduced, the complexity is reduced, and the use experience of the user is improved.
Based on the above problems, the disclosure proposes a batch assignment method, which sets a first area for a variable to be selected and a second area for an expression to be selected for a user to express a batch assignment scene in an IDE, and fields under the variable can be expanded for the user to select a plurality of variables, and the user can select or drag a plurality of expressions, so that a plurality of fields under a target variable and a plurality of expressions can be displayed on a programming interface at the same time, thereby realizing batch assignment of a plurality of fields under the variable.
Having described the basic principles of the present disclosure, various non-limiting embodiments of the present disclosure are specifically described below.
Application scene overview
Referring first to fig. 1, fig. 1 schematically illustrates an application scenario provided according to an embodiment of the present disclosure, where the method may be applied to a computing device, and the computing device may include a UI-rendering layer, a NASL-storage layer, and a NASL-compiler, where a user may operate on a programming interface to trigger generation of an event, the NASL-storage layer may generate a syntax tree (batch assigned syntax tree) for the event triggered by the user and store the generated syntax tree, and when the user finishes operating on the programming interface, the NASL-compiler may compile the syntax tree in the NASL-storage layer into source code, thereby implementing a manner in which the user selects a target variable and a field in the target variable, and selects an expression, and generates a corresponding source code through assignment operation.
Exemplary method
A variable assignment method according to an exemplary embodiment of the present disclosure is described below with reference to fig. 2 to 23 in conjunction with the application scenario of fig. 1. It should be noted that the above application scenario is only shown for the convenience of understanding the spirit and principles of the present disclosure, and the embodiments of the present disclosure are not limited in any way in this respect. Rather, embodiments of the present disclosure may be applied to any scenario where applicable.
Referring to fig. 2, fig. 2 schematically illustrates a flow chart of a variable assignment method provided according to an embodiment of the present disclosure. As shown in fig. 2, the method is applied to a visual programming platform, the visual programming platform including a displayed programming interface, the programming interface including at least a first area for displaying selectable variables and a second area for displaying selectable expressions for assigning values to respective variables, the method including:
step S201, a target variable to be assigned in alternative variables is determined in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable.
The user can select the target variable in the programming interface, and since the variable can be a multi-field variable, when the target variable is selected, multiple fields in the target variable can be selected, so that assignment can be carried out on the selected multiple fields subsequently.
For example, the first operation instruction may be that the user clicks a certain region to select the target variable. When the user selects a target variable, all fields under the target variable may be displayed, and the user may select a plurality of fields from all fields under the target variable. For example, a selection may be associated with each field, which when clicked by the user indicates that the field was selected by the user. Thus, when a target variable is selected, N fields under the selected target variable can be implemented through N operations.
Fig. 3 schematically illustrates a schematic diagram of variable assignment provided in accordance with an embodiment of the present disclosure. As shown in fig. 3, tempitem is a selected target variable, and each field shown below is a selected plurality of fields that need to be assigned.
Step S202, in response to a second operation instruction for the programming interface, determining a target expression corresponding to the target variable;
likewise, the user may select a target expression at the programming interface. The second operation instruction may be clicking on a certain area to select the target expression, or dragging a certain expression to the programming interface. The target expression may be a multi-field variable, or may also be computational logic or call logic, for example.
As shown in fig. 3, item in the graph is a selected variable, and a plurality of fields under item are a plurality of fields for assignment.
And step 203, assigning the target variable based on the target expression.
After selecting the plurality of fields and the plurality of target expressions in the target variable, an assignment operation may be performed to implement assignment of the target variable.
In one embodiment of the present disclosure, assigning the target variable based on the target expression includes:
and carrying out batch assignment on a plurality of target fields contained in the target variable based on the target expression.
After selecting a plurality of fields and target expressions under the variable, the target expression is a multi-field variable, and when assigning, the assignment can be realized by clicking the selection item corresponding to the field. As shown in fig. 3, when assigning the field state under item to the field state under tempitem, only the circle corresponding to the left field needs to be clicked, and then the circle corresponding to the right field needs to be clicked, so that the connection between the two fields can be realized, that is, the field state under item is assigned to the field state under tempitem.
The readability can be improved by the interactive form of the connection. The related technical scheme cannot intuitively see which fields under the same variable on the left are assigned to a plurality of fields under the same variable on the right, or the problems of missing assignment or repeated assignment of the fields and the like exist. The invention adopts the interactive form of connecting lines, and can intuitively see the relation between the left variable and the right variable and between fields under the variables.
By using the method, when the variables are selected, the operation step of assigning a value to each variable is 4, and the method specifically comprises the following steps: displaying a certain field under the target variable on a programming interface, displaying a certain field under the target expression on the programming interface, selecting the target field to be assigned, and selecting the field under the expression to be assigned, wherein the total steps are 4. Compared with the related art, the method of the invention can greatly reduce the operation steps of users.
In an embodiment of the present disclosure, a variable assignment method is provided, where the variable assignment method is applied to a visual programming platform, where the visual programming platform includes a displayed programming interface, and the programming interface includes at least a first area and a second area, where the first area is used to display selectable variables, and the second area is used to display selectable expressions, where the expressions are used to assign values to corresponding variables, and the method includes: determining a target variable to be assigned in variables to be selected in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable; determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface; and assigning the target variable based on the target expression, and displaying a plurality of selectable multi-field variables and a plurality of selectable expressions on a programming interface, so that a plurality of fields in the multi-field variables can be conveniently obtained, each field in the variables is not required to be typed by a user, and the operation steps of the user in the variable assignment process are reduced.
Fig. 4 schematically illustrates a flow diagram of a variable assignment method provided in accordance with another embodiment of the present disclosure.
In one embodiment of the present disclosure, a variable assignment method includes:
step S401, at least one functional component is displayed in a functional area of the programming interface, wherein the functional component comprises an assignment component.
The target variable and the target expression may be selected by a user based on the set functional components. Functional areas may be displayed in the programming interface where a plurality of functional components, such as assignment components, may be displayed.
Step S402, responding to dragging the assignment component to an editing area of the programming interface, and displaying an assignment operation box in the editing area, wherein the assignment operation box comprises a variable selection box and an expression selection box; the variable selection box and the expression selection box are respectively provided with a plurality of pull-down options for selecting the variables and the expressions.
After the IDE is opened, the user can display the editing area and the functional area, when the user does not perform assignment operation before, the editing area is displayed as blank, and after the assignment component is dragged to the editing area, the assignment operation frame can be displayed in the editing area. The assignment operation box may be used by a user to select a target variable and a target expression.
Fig. 5 schematically illustrates a schematic diagram of a pull-in assignment component provided according to an embodiment of the present disclosure, and as shown in fig. 5, a variable selection box is provided on the left side of the assignment operation box, where "please select a variable" may be displayed. For the variable selection box, the user may click on a drop down option to select the target variable.
Step S403, determining at least one field included in the target variable selected by the variable selection box.
After the variable selection box is displayed, the user may select the target variable, and may further select at least one field under the target variable.
FIG. 6 schematically illustrates a schematic diagram of selecting a target variable provided according to an embodiment of the present disclosure, where, as shown in FIG. 6, a user may click on "please select a variable or constant", where all variables that may be used by a current context are presented, when the user clicks on a drop-down option of a variable, all fields that may be used in the variable may be displayed, and by clicking on an option preceding a field, a field included in the target variable selected by the user may be determined.
In one embodiment of the present disclosure, determining at least one field included in the target variable selected by the variable selection box includes:
In response to a selection operation of any field in the target variable, cancelling the selected target field; the target field is an upper level field or a lower level field of the current field corresponding to the selection operation.
When a certain field is selected, the mutual exclusion of the parent and child fields can be set to avoid ambiguity.
Fig. 7 schematically illustrates a schematic diagram of assignment of a value to a field where a dependency exists, provided according to an embodiment of the present disclosure, as shown in fig. 7, there may be two kinds of intentions that a user wants to express, the first, tempitem=item. tempitem.name=item.name, which is misreported when running the second sentence, because tempitem is assigned a base type, which has no name field. The second, and possibly also: tempidem. Name=item. tempidem=item.age, which is not significant in the first sentence, because the second sentence assigns tempidem to the whole.
In order to help the user avoid the ambiguity and the potential misoperation (if the user needs to express the situation, two assignment components are used), the situation can be automatically avoided, and the user perceives that the father-son field can only be selected. That is, when the user selects a field, only a plurality of fields of the same level can be selected, and if an upper field of the field or a lower field of the field has been selected, the selected upper field and lower field of the field are canceled.
Fig. 8 schematically illustrates a first schematic diagram of field selection mutual exclusion provided according to an embodiment of the present disclosure, and fig. 9 schematically illustrates a second schematic diagram of field selection mutual exclusion provided according to an embodiment of the present disclosure. As shown in fig. 8 and 9, when the user selects the variable tempi again after selecting three fields in tempi, the selected three fields are cancelled because the three fields selected in the previous step are the lower fields of the variable tempi.
By setting the function of field mutual exclusion, the user can avoid assigning the fields with the dependency relationships at the same time when assigning values, thereby avoiding ambiguity.
In one embodiment of the present disclosure, step S403 may include:
responding to the triggering operation of the variable selection box, and displaying a pull-down option in the variable selection box; the drop-down options are correspondingly provided with full-selection attribute options;
and responding to the trigger of the all-selected attribute options corresponding to the target variable, displaying all fields contained in the target variable, and carrying out batch assignment on all fields contained in the target variable.
When more fields need to be selected or all fields under the variable need to be selected, in order to improve the efficiency when the fields are selected, each selectable variable can be correspondingly provided with a full-selection attribute option, and when the user triggers the full-selection attribute option, all fields corresponding to the variable can be displayed on an interface, so that batch assignment is carried out on all the fields.
Fig. 10 schematically illustrates a first schematic diagram of a quick full selection field provided according to an embodiment of the present disclosure, and fig. 11 schematically illustrates a second schematic diagram of a quick full selection field provided according to an embodiment of the present disclosure. When the full choice attribute is clicked after the selection of the variable tempi tem, as shown in fig. 10, all fields under the variable may be determined as fields selected by the user, as shown in fig. 11.
By setting the all-selection attribute option for each variable, all fields under the variable can be rapidly selected, the efficiency in selecting the fields is improved, and the operation steps of a user are reduced.
Step S404, determining at least one expression selected by the expression selection frame; the expression includes at least one of a single field variable, a multi-field variable, call logic, and calculation logic.
An expression selection box may be displayed on the right side of the assignment operation box, and "please select or drag-in expression" may be displayed. For the expression selection box, when the target expression is a variable, the user can click on "please select or drag in the expression" to display the selectable variable, and select any variable. When the expression is call logic or calculation logic, a certain call logic or calculation logic may be dragged from the logic storage area. Various alternative calling logic and/or computing logic may be stored in the logic storage area.
As shown in fig. 3, in the batch assignment component of this example, the left side (first region) is a multi-field variable, and the user can select some or all of the fields under the variable. The right side (second region) is a plurality of expressions, which can be set as desired, wherein the first expression is a multi-field variable, the second expression is a single variable without a field, and the third expression is an expression that invokes logic (call function).
And step S405, assigning the target variable based on the target expression.
When multiple fields in the target variable are selected on the edit field, and multiple target expressions, the target expressions may be assigned to the target variable. The assignment can be realized by clicking the selection item corresponding to one field on the left side and the selection item corresponding to one expression or field on the right side respectively.
The setting of the assignment component can facilitate the user to select a plurality of fields in the variable and to perform assignment operation after selecting a plurality of expressions.
In one embodiment of the present disclosure, performing batch assignment on a plurality of target fields included in the target variable based on the target expression includes:
and assigning the target expression to any target field in the target variable in response to an operation triggered by the target field and any target expression.
When assigning a target field, this may be achieved by a specific trigger operation. For example, a user may trigger a field and an expression in turn, as desired, such that the triggered expression may be wired to the field, thereby assigning the expression to the field.
When assigning values, a plurality of fields in the variable and a plurality of expressions can be selected first, the selected plurality of fields are presented in a first area, the selected plurality of expressions are presented in a second area, a selection item, such as a circle, is arranged in front of each field or expression, and when the user triggers the selection item, the values can be assigned. After determining the fields to be assigned, the different fields can be assigned through a plurality of specific trigger operations, so that batch assignment is realized.
The assignment of the target fields is performed by triggering any target field and any target expression, so that the operation process of a user is simplified in the assignment process, and batch assignment, namely assignment of a plurality of fields, can be realized rapidly.
In one embodiment of the present disclosure, assigning the target expression to any target field in the target variable in response to an operation triggering the target field with the target expression comprises:
And in response to the connection operation of the first expression and the target field, canceling the first connection line if the target field has a first connection line corresponding to the second expression, and generating a second connection line corresponding to the target field and the first expression so as to assign the first expression to the target field.
When assigning, the assignment may be performed by means of a manual wire. When the first expression is assigned to the target field in the primary connection process, if the target field already has the first connection corresponding to other expressions, the first connection can be canceled, and the first expression can be assigned to the target field. The existing connection line is canceled, and the mutual exclusion effect is avoided, so that ambiguity caused by assigning different expressions to the same target field in sequence is avoided.
FIG. 12 schematically illustrates a first schematic diagram of field-wire mutual exclusion provided in accordance with an embodiment of the present disclosure, and FIG. 13 schematically illustrates a second schematic diagram of field-wire mutual exclusion provided in accordance with an embodiment of the present disclosure; as shown in fig. 12, when the user clicks on the circle before the right field, manual connection may be started, and when the circle of the left field is clicked again, connection may be completed. When the field costId under the item variable on the right is assigned to the field bu under the tempitem variable on the left, since the field bu under the item variable on the right has been assigned to the field bu under the tempitem variable on the left before that, that is, the target field on the left has been wired (assigned), the existing wire corresponds to the first wire, as shown in fig. 13, the first wire may be canceled and the costId may be assigned to the field bu under the tempitem variable on the left, and a new wire may be generated.
By setting the mutual exclusion method of the same field, ambiguity caused by assigning different expressions to the same target field in sequence can be avoided.
In one embodiment of the present disclosure, assigning the target expression to any target field in the target variable in response to an operation triggering the target field with the target expression comprises:
and in response to the connection operation of any target expression and a target field, canceling the connection lines of all lower-level fields under the target field if the target field is an upper-level field, so as to assign the target expression to the target field.
In the form of visualization, the meaning is unclear when the right expression is connected to a field (e.g., parent-child field) where there is a dependency on the left, since the user cannot perceive the order of the multiple assignments.
When assigning, the assignment can be performed by means of a manual connection. In the one-time connection process, when a target expression is assigned to a target field, if the target field is an upper-level field, whether connection exists in lower-level fields of the target field can be judged, if connection exists in lower-level fields of the target field, connection of all lower-level fields of the target field can be canceled, and therefore a mutual exclusion effect is generated, and ambiguity of the sequence of upper-level and lower-level dependency relationships assigned to the left is avoided. Here, the upper and lower levels can also be understood as parent-child relationships, the target field being a parent level field, and the lower level field being a child level field.
FIG. 14 schematically illustrates a third diagram of field wire mutual exclusion provided in accordance with an embodiment of the present disclosure; after the multiple fields under the variable tempitem are wired as shown in fig. 3, if the name field under the item variable is assigned to the variable tempitem as shown in fig. 14, the connection of each lower field of the variable tempitem may be canceled.
By setting the mutual exclusion method of the upper and lower level fields, ambiguity of the sequence existing when the fields and variables with the upper and lower level dependency relationships on the left side are assigned can be avoided.
In one embodiment of the present disclosure, the assignment operation box further includes an auto-join selection item; assigning the target expression to the target field in response to an operation triggered by any field in the target variable and any target expression, comprising:
determining a first field to be wired in the first area and an expression to be wired in the second area in response to selection of the automatic wired option; the to-be-connected expression comprises a second to-be-connected field;
and in response to the second field to be connected being matched with the first field to be connected, connecting the second field to be connected with the first field to be connected so as to assign the second field to be connected to the first field to be connected.
In order to further reduce the operation steps of the user, an automatic connection selection item can be set in the assignment operation box, when the selection item is triggered, a plurality of first to-be-connected fields in the first area and a plurality of to-be-connected expressions in the second area can be determined, and automatically matching the plurality of first fields to be connected with the second fields to be connected in the expression to be connected, and automatically connecting the matched first fields to be connected with the matched second fields to be connected so as to realize automatic assignment. The field to be wired refers to a field which is not currently wired.
Fig. 15 schematically illustrates a schematic diagram of automatic connection provided according to an embodiment of the present disclosure, and as shown in fig. 15, after an automatic connection selection item is selected, a field of a first area and a field of a second area may be automatically connected to implement an assignment operation.
When automatic connection is performed, whether the fields of the first area and the fields of the second area are matched or not can be judged, and when the fields to be connected are matched with the fields to be connected, the two fields can be connected.
After the fields of the variables are selected, the automatic connection selection item is triggered to judge that the field names of the first field to be connected and the second field to be connected are the same or similar, and the fields are completely the same in type, so that the user is helped to automatically connect. The automatic connection may have the result that is not exactly the same as the user's intention, and the user may delete the wrong connection and connect by himself. Since the manual connection also needs to be checked by itself, the automatic connection does not add extra cost.
By setting the automatic connection selection item, the automatic connection of the user can be helped, the operation of the user is reduced, and the efficiency of assigning values to the fields in the variables is improved.
When automatic wiring is in progress, any of several methods described below may be employed to determine whether the two fields match.
In one embodiment of the present disclosure, the method further comprises:
and determining that the second field to be connected is matched with the first field to be connected if the field type of the second field to be connected is the same as the field type of the first field to be connected and the field name of the second field to be connected is the same as the field name of the first field to be connected.
For a first field to be connected, a second field to be connected can be traversed, and for any second field to be connected, if the field types of the second field to be connected and the first field to be connected are the same, and the field names are the same, the two fields can be indicated to be matched. The field types herein refer to boolean types, int types, and string types.
Through the method, the connection can be performed under the condition that the field types and the field names of the two fields are the same, so that automatic assignment can be realized.
In one embodiment of the present disclosure, the method further comprises:
responding to the fact that the field type of the first field to be connected is the same as the field type of the second field to be connected, and determining an editing distance according to the field name of the first field to be connected and the field name of the second field to be connected;
and determining that the second field to be connected is matched with the first field to be connected in response to the editing distance being smaller than a preset editing distance.
When judging whether the two fields are matched, determining that the two fields are matched based on the fact that the field types of the two fields are the same and the editing distance corresponding to the field names of the two fields is smaller than the preset editing distance.
For a first field to be connected, a second field to be connected can be traversed, and for any second field to be connected, if the field types of the second field to be connected and the first field to be connected are the same, and the editing distance between the second field to be connected and the first field to be connected is smaller than the preset editing distance, the two fields to be connected can be indicated to be matched. The preset editing distance can be set according to actual conditions.
Illustratively, the edit distance may be a levenstein distance, which is the minimum number of editing operations required to switch from one to the other. When the field types are the same and the calculated levenstein distance for both fields is less than 4, the two fields can be considered to match. The editing operation includes: replacing one character with another, inserting a character, deleting a character, etc.
For example, the edit distance of the student.id and the student id is 2; edit distance of _student.id and student id is 3.
By the method, the connection can be performed under the condition that the field types of the two fields are the same and the edit distance of the field names of the two fields is smaller than the preset edit distance, so that automatic assignment is realized.
In one embodiment of the present disclosure, the method further comprises:
determining the similarity of the first field to be connected and the second field to be connected through a machine learning method in response to the fact that the field type of the first field to be connected is the same as the field type of the second field to be connected;
and determining that the second field to be connected is matched with the first field to be connected in response to the similarity being greater than a preset similarity.
When determining whether the two fields are matched, determining whether the field types of the two fields are the same, when the field types are the same, determining the similarity of the two fields based on a machine learning method, and when the similarity of the two fields is greater than a preset similarity, determining that the two fields are matched.
For a first field to be connected, a second field to be connected can be traversed, and for any second field to be connected, the first field to be connected and the second field to be connected (which can be field names) can be input into a machine learning model to obtain the similarity of the two fields.
After the similarity of the first field to be connected and the second field to be connected is obtained, whether the similarity is larger than the preset similarity or not can be judged, and if so, the first field to be connected and the second field to be connected are matched.
By the method, the connection can be performed when the field types of the two fields are the same and the similarity of the two fields is greater than the preset similarity, so that automatic assignment is realized.
One of the above three methods for determining whether the two fields are matched may be set according to the requirement, when the matching degree requirement on the two fields is high, the first method may be selected, that is, the field type and the field name are both determined to be matched at the same time, and when the matching degree requirement on the two fields is not too high, the second or third method may be selected, and on the basis of determining that the field types are the same, whether the two fields are matched is determined based on the editing distance and the similarity.
In one embodiment of the present disclosure, the assignment operation box further includes a batch assignment selection item and a single assignment selection item; the method further comprises the steps of:
when only one target field and one target expression of the target variable are connected, responding to the condition that the single assignment selection item is selected, switching the batch assignment mode of the multi-field variable into the single assignment mode of the single-field variable, and displaying the target field and the target expression of the target variable in the editing area so as to assign the target expression to the target field;
And responding to the batch assignment selection item, switching the single assignment mode of the single-field variable into the batch assignment mode of the multi-field variable, and respectively connecting a plurality of target fields of the target variable and the plurality of target expressions in the editing area so as to assign the plurality of target expressions to corresponding target fields respectively.
Because the variable has a plurality of fields, in order to facilitate the user to carry out batch assignment on the plurality of fields, a plurality of variables and a plurality of expressions can be simultaneously displayed in the editing area, and batch assignment selection items can be displayed in an assignment operation box. As shown in fig. 15, the relationship between the left individual fields and the right expression can be intuitively seen by the user.
However, there may also be a assignment to only one field in a variable, i.e. there is only one connection. At this time, in order to save space, the batch assignment selection items may be switched to a single assignment selection item so that only the assignment relationship is displayed in the editing area.
FIG. 16 schematically illustrates a schematic diagram one of switching to a single assignment mode provided in accordance with an embodiment of the present disclosure; fig. 17 schematically illustrates a second schematic diagram of switching to a single assignment mode according to an embodiment of the present disclosure. When only one target field and one target expression of the target variable are connected as shown in fig. 16, the batch assignment mode of the multi-field variable can be switched to the single assignment mode of the single-field variable, and after the switching, only the target field and the target expression in the target variable are displayed, and the fields and the expressions in the variables which are not assigned are not displayed any more as shown in fig. 17.
Correspondingly, when a plurality of fields in the target variable are required to be assigned, the single assignment mode of the single-field variable can be switched to the batch assignment mode of the multi-field variable, then the plurality of fields and the plurality of expressions in the target variable required to be assigned are selected, and the plurality of target fields and the plurality of target expressions are respectively connected through triggering operation, so that batch assignment is realized.
The single assignment scenario does not require such a large block of batch assignment components, which would increase the user's understanding cost if two components were provided, but the block form is too large when one component is provided, as in the case of a single assignment. Thus a single/batch switching drop down selection box is provided when only one wire is switching.
According to the assignment requirements, the single assignment mode and the batch assignment mode are switched, space is saved through one-key switching, and the information density of the single assignment scene and the information density of the batch assignment scene are met.
In one embodiment of the present disclosure, the assignment operation box further includes a folding variable selection item; the method further comprises the steps of:
in response to a trigger to the collapse variable selection item, collapsing a plurality of fields contained in the target variable and collapsing a plurality of fields contained in a multi-field variable in the target expression.
When the user performs batch assignment, more fields may need to be displayed in the first area and the second area, and at this time, a plurality of fields may be folded into one line by selecting a folding variable selection item, so as to further improve information density.
When the collapse variable selection item is triggered, multiple fields in the target variable can be collapsed, and multiple fields in the multi-field variable in the target expression can be collapsed.
Fig. 18 schematically illustrates a schematic diagram of a folding variable provided according to an embodiment of the present disclosure, as shown in fig. 18, when a folding variable selection item is selected, a plurality of fields may be folded, when only variable names may be displayed after folding, while the number of fields may be displayed, such as 17 for the left object variable, 11 for the right item variable, and so on.
By setting the folding variable options, fields can not be displayed in the editing area, so that the information density is improved, and the situation that the total number of variable fields exceeds 30 is solved. In general, a user cannot see detailed assignment after editing, or assignment of some variables is not important, the invention provides a function of folding variables, which can fold a plurality of fields into a row, further improve information density, and focus on some important assignment relations more easily when the user reads.
In one embodiment of the present disclosure, the assignment operation box further includes an automatic ordering selection item; the method further comprises the steps of:
after batch assignment is performed on a plurality of target fields contained in the target variable based on the target expression, responding to the trigger of the automatic ordering selection item, and ordering each field in the target variable according to the arrangement sequence of each target expression.
When the batch assignment is performed, if the connection lines are more, the lines can be crossed at a plurality of places, and in order to facilitate the user to more intuitively understand the assignment relationship, an automatic ordering function can be provided to improve the readability.
Optionally, an automatic ordering selection item may be set in the assignment operation box, and when the user triggers the automatic ordering selection item, each field in the target variable may be ordered according to each expression on the right side, so as to reduce the intersecting lines.
Since the right expression contains multiple types, such as multi-field variables, calculation logic, call logic, etc., the calculation logic or call logic cannot adjust the position to the position between two fields in the multi-field variables. Accordingly, the plurality of fields on the left side can be ordered according to the right side expression (and the fields in the expression), thereby solving the problem of wire crossing.
By setting the automatic ordering options, the intersections of the wires can be reduced and the readability can be improved.
In one embodiment of the present disclosure, each second field in the target variable is stored in a first array; ordering each field in the target variable according to the arrangement sequence of each target expression, including:
traversing each first field according to a target sequence, and for any first field, responding to the existence of a second field with a connection relation with the first field, and executing the second field to be fetched from the first array and put into a second array; the first fields are fields corresponding to all target expressions; the target sequence is the arrangement sequence of each first field at present;
after traversing all the first fields, sequentially placing the second fields remained in the first array into the second array;
and taking the sequence of each second field in the second array as the display sequence of each field in the target variable.
The right target expression may be traversed when the fields on the left are ordered by right field, and in particular, when the target expression is a multi-field variable, the fields in the multi-field variable are traversed.
The target expression is described herein as a multi-field variable. Traversing each first field, when a second field with a connection relation with the first field exists on the left side, taking the second field out of the first array and putting the second field into the second array, and by the operation, each second field with the connection relation on the left side can be sequentially put into the second array, and when a certain second field in the first array is put into the second array, deleting the second field in the first array.
After the above operation, there may further be second fields in the first array, where the second fields are fields that are not assigned, and then the second fields may be taken out and put into the second array, and finally the arrangement sequence of each second field in the second array is used as the display sequence in the page.
Fig. 19 schematically illustrates a first schematic diagram for automatically sorting a plurality of fields provided according to an embodiment of the present disclosure, and fig. 20 schematically illustrates a second schematic diagram for automatically sorting a plurality of fields provided according to an embodiment of the present disclosure. As shown in fig. 19, when the problem of intersection of lines exists after the batch assignment, the right side contains three target expressions, the first target expression is a multi-field variable, each field in the first target expression can be traversed, and when each field in the first target expression is traversed, the second target expression and the third target expression are traversed, so that the fields on the left side are ordered according to the fields and expressions on the right side, thereby obtaining the arrangement sequence of the fields on the left side shown in fig. 20.
The method comprises the steps of traversing each field and expression on the right side and setting a second array, so that the fields on the left side are ordered according to the expressions on the right side, and the problem of connection intersection is solved.
In one embodiment of the present disclosure, the variable assignment method further includes:
pulling a grammar tree from a storage layer into a browser in response to a user entering the visual programming platform; the syntax tree includes a subtree; the subtree is used for representing a plurality of fields corresponding to the target variable, wherein part of the fields in the plurality of fields are assigned or none of the fields are assigned;
rendering the subtrees in the browser through a rendering layer, displaying the fields in the first area and displaying at least one expression in the second area; if the partial fields are assigned, the connection line of the partial fields and the corresponding expressions is displayed on the programming interface;
after assigning the target variable based on the target expression, the method further includes:
updating the grammar tree of the storage layer; the grammar tree is a grammar tree with batch assignment.
When the variable assignment is performed, if the user has performed the variable assignment operation before, a corresponding grammar tree can be generated and stored in the storage layer. When the next assignment is continued based on the last assignment process, the grammar tree may be pulled from the storage layer into the browser after entering the visualization programming platform.
A subtree in the browser can be rendered by the rendering layer to display a plurality of fields of the target variable in a first region of the edit region and at least one expression in a second region of the edit region. When a field is determined to have been assigned according to the subtree during rendering, a corresponding link may be displayed in the edit area.
When the grammar tree which is saved by the user last time is displayed in the editing area, the assignment operation can be continued, and when the assignment operation is completed, an updated grammar tree can be generated and stored in the storage layer, so that the update of the grammar tree of the storage layer is realized.
FIG. 21 schematically illustrates a complete schematic diagram of compiled source code provided in accordance with an embodiment of the present disclosure. As shown in fig. 21, the entire system includes a UI-rendering layer, a NASL-storage layer, and a NASL-compiler.
The UI-rendering layer renders in a browser of the user and receives events of the user. The NASL-storage layer contains two parts: the browser state and the persistence state are used for storing the grammar tree, wherein the browser state refers to memory storage in the browser, and the browser can be reloaded after refreshing; the persisted state is a database store. The NASL-compiler is used to generate the syntax tree into source code, and the NASL-compiler also contains two parts: compiling a JS compiling part in a browser; compiling a Java part at a server; or, the content is compiled in a browser or a server.
The whole process is as follows: when the user enters the IDE, the NASL-storage layer will pull the entire NASL syntax tree from persistent storage into the browser. When a user opens a logic that already contains the bulk assignment component or drags a new bulk assignment component in the logic, the IDE will render the subtree of bulk assignment to the UI-rendering layer.
After the user sees the user interface of the UI-rendering layer, the user can trigger events such as clicking, typing, dragging and the like, and the rendering layer collects the following behavior events: basic operation, cross section, manual connection, folding variable, single/batch assignment switching, sequence/parallel assignment switching, automatic ordering clicking and the like, then obtaining an updated grammar tree through links such as checking, calculation and the like, and updating the updated grammar tree to the state of the NASL-storage layer. For example, the updated syntax tree may be updated to the browser state, and then the browser state pushes the updated syntax tree to the persistence state.
The implementation of the whole process also needs to rely on a grammar tree with batch assignment, and the grammar tree with batch assignment is relative to a grammar tree with single assignment.
The definition of a single valued syntax tree is as follows:
interface Assignment {// Single assignment
"concept": "Assignment",// syntax tree concept
"left": logicItem,// left term
"right": logicItem,// Right item
}
Right terms may be assigned to left terms by the single assigned syntax tree described above. The structure of a single assigned syntax tree displayed in the edit area can be as shown in fig. 17.
To support interactive forms of blocks, links, etc., the batch assignment grammar tree is redefined,
interface SelectMembers {// select field
"concept": "SelectMembers",// syntax tree concept
"expression": logicItem,// root expression
"members": array < LogicItem >,// field expressions
"hidememers": boolean,// fold fields
}
interface AssignmentLine {// assignment wire
"concept": "AssignmentLine",// syntax tree concept
"leftIndex" [ number, number ],// left index
"lightindex": number,// right index
}
interface BatchAssignment {// batch assignment
"concept": "BatchAssignment",// syntax tree concept
"left": selectMembers,// left term
"rights": array < LogicItem >,// Right item
"AssignmentLines": array < AssignmentLine >,// assignment connection
"Autoconnection": bootean,// whether to automatically connect
"parallel": boolean,// whether to assign values in parallel
}
The above definitions for the batch assignment grammar tree, when the user actually operates, objects are instantiated and data are filled according to the definitions, and then various display effects of batch assignment of the invention can be rendered. The effect of each type and field corresponding to the actual display part in the grammar tree is as follows:
FIG. 22 schematically illustrates a presentation schematic of fields corresponding to a batch assignment syntax tree provided in accordance with an embodiment of the disclosure; as shown in FIG. 22, batchassignment is the root node of the batch assignment subtree, corresponding to the global batch assignment component. It contains left and right terms.
The left term is fixed as a SelectMember's ' selection field ', and the right term can be SelectMember, or other expressions such as a single variable, call logic, calculation logic (addition, subtraction, multiplication, and division).
Wherein the SelectMember has an expression field representing the selected variable and a members field representing a subfield of the variable. The hidememers are boolean types, correspond to small triangles in the graph, and indicate whether or not to expand.
The assignamentlines in the Batchassignation are arrays of assignamentline types, each assignamentline representing a line in the graph.
Where leftIndex denotes the index on the left and lightIndex denotes the index on the right. Since there are two stages on the left side, a number type of two stages is unified. For example, in the above example, the link data corresponding to the left buName is:
{
"concept": "AssignmentLine",// syntax tree concept
"refIndex" [0,1],// left index
"right index": 0,1,// right index
}
The connection data corresponding to the left child is {
"concept": "AssignmentLine",// syntax tree concept
"leftIndex" [0,2],// left index
"right index": 2,// right index
}
Autoconnection and parallel in the BatchAssignment are Boolean types, corresponding to the two checkbox switches in the graph, respectively.
By defining a batch assigned syntax tree instead of the previous single assigned syntax tree, then based on the batch assigned syntax tree, a reduced blocky component with wiring function can be rendered to replace the previous plain text or discrete visual component form.
The information density can be improved by the reduced block form. Generally, the number of fields of the average variable of the user is about 20, the former visual component cannot be displayed in one screen under the condition that the number of fields of the average variable of the user is greater than about 6, and the current simplified block form can be displayed in one screen to achieve 30 assignments, so that the user can intuitively check the assignment condition without scrolling operation.
The assignment relation corresponding to the stored grammar tree can be displayed in the editing area by setting the rendering layer, and the set grammar tree can be updated by setting the storage layer.
In one embodiment of the present disclosure, the method further comprises:
in response to a user's publishing operation, the updated syntax tree is compiled into source code by a compiler.
After the user performs the target operation, the compiler may be caused to perform an operation of compiling the updated syntax tree into the source code.
As shown in fig. 21, when the user clicks the layout in the IDE, the NASL-compiler compiles the JS/Java source code through checking, translating, generating, etc. the NASL-storage layer syntax tree.
The assignment operation performed by the user in the editing area can be compiled into the source code through the compiler, so that the user does not need to write the source code manually, and the source code can be generated through simple operation.
In one embodiment of the present disclosure, the assignment operation box further includes an assignment mode selection item, where the assignment mode selection item is used for a user to select an assignment mode; the assignment mode comprises parallel assignment and sequential assignment;
the compiling, by the compiler, the updated syntax tree into source code, including:
Generating parallel assignment codes according to a plurality of fields in the first area in response to the assignment mode for parallel assignment; the parallel assignment code is used for assigning values to a plurality of fields simultaneously;
and generating an assignment code corresponding to each field according to the sequence of each field in the first area in response to the assignment mode for sequentially assigning.
When batch assignment is performed, because a connection mode is adopted, a user cannot perceive the assignment sequence of a plurality of connection lines, in order to facilitate the user to understand the sequence of assignment of each connection line, an assignment mode selection item can be set, the assignment mode selection item can comprise sequence assignment and parallel assignment, a check box can be used as an assignment mode by default, parallel assignment can be switched when the check box for sequence assignment is clicked, and sequence assignment can be switched when the check box for parallel assignment is clicked again.
Sequential assignment refers to generating a common plurality of assignment codes in the order of the fields in the first region.
Fig. 23 schematically illustrates a schematic diagram of assignment patterns provided according to an embodiment of the present disclosure.
As shown in fig. 23, when the sequence is assigned, the source code obtained by compiling the connection line in the graph is:
point.x=point.y;
point.y=point.x;
As shown in fig. 23, when sequentially assigned, the end result of point.x and point.y is equal.
Parallel assignment refers to a code that generates parallel assignments in the order of the fields from top to bottom in the first region.
As shown in fig. 23, when parallel assignment is performed, the source code obtained after compiling the connection line in the graph is: [ point.x, point.y ] = [ point.y=point.x ]. At this time, the two fields can quickly realize the function of field exchange.
When a user selects sequential assignment and parallel assignment, the link information displayed in the editing area is not affected, and what is affected is source code generated by a compiler when compiling the source code.
By setting the assignment mode selection items, a user can understand and perceive the assignment sequence under the condition of connection design, and mutated codes are generated according to the assignment mode selected by the user.
The invention provides a visual programming batch assignment component in a low code scene, but can also be applied to other scenes, such as: zero code visualization programming scenarios or local visualization programming scenarios in the specialty code IDE.
The batch assignment component of the invention is mainly based on variables and expressions, and can be applied to other scenes such as database table field mapping.
The invention provides a visual programming batch assignment method, which can complete single/batch assignment intention without handwriting text codes, and greatly improves information density, readability and friendliness under the condition of multiple fields; through quick full selection of fields, connection interaction and automatic connection algorithm, the operation steps of a user are greatly reduced; the information density is improved through a folding function and a single/batch assignment switching function; the line crossing condition is reduced and the readability is improved through an automatic sequencing algorithm; by providing sequence assignment/parallel assignment functions, a user is helped to understand assignment sequences, and a scene of exchanging assignment is solved; by providing dependency mutual exclusion interactions, ambiguity in user editing or reading is reduced.
Exemplary Medium
Having described the method of the exemplary embodiments of the present disclosure, next, a storage medium of the exemplary embodiments of the present disclosure will be described with reference to fig. 24.
Referring to fig. 24, a storage medium 240, in which a program product for implementing the above-described method according to an embodiment of the present disclosure is stored, may employ a portable compact disc read only memory (CD-ROM) and include program code for causing a computing device to perform the data verification method provided by the present disclosure. However, the program product of the present disclosure is not limited thereto.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. The readable signal medium may also be any readable medium other than a readable storage medium.
Program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the context of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN).
Exemplary apparatus
Having described the medium of the exemplary embodiment of the present disclosure, next, a variable assignment device 250 of the exemplary embodiment of the present disclosure is described with reference to fig. 25, so as to implement the method in any of the foregoing method embodiments, and implementation principles and technical effects are similar, and are not repeated herein.
The variable assignment device 250 provided in the present disclosure is applied to a visual programming platform, where the visual programming platform includes a displayed programming interface, and the programming interface includes at least a first area and a second area, where the first area is used to display selectable variables, and the second area is used to display selectable expressions, where the expressions are used to assign values to corresponding variables, and the device includes:
a first determining module 2501, configured to determine a target variable to be assigned from among the variables to be selected in response to a first operation instruction for the programming interface; the target variable is a multi-field variable;
a second determining module 2502 for determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface;
an assignment module 2503 for assigning values to the target variables based on the target expressions.
In one embodiment of the present disclosure, the target variable is a multi-field variable, and the assignment module 2503 is specifically configured to:
and carrying out batch assignment on a plurality of target fields contained in the target variable based on the target expression.
In one embodiment of the present disclosure, the apparatus further comprises:
the first display module is used for displaying at least one functional component in a functional area of the programming interface, and the functional component comprises an assignment component; the second display module is used for responding to dragging the assignment component to an editing area of the programming interface, and displaying an assignment operation box in the editing area, wherein the assignment operation box comprises a variable selection box and an expression selection box; the variable selection frame and the expression selection frame are respectively provided with a plurality of pull-down options for selecting variables and expressions;
the first determining module 2501 is specifically configured to, when determining a target variable to be assigned from among the alternative variables: determining at least one field contained in the target variable selected by the variable selection box;
the second determining module 2502, when determining a target expression corresponding to the target variable, is specifically configured to: determining at least one expression selected by the expression selection box; the expression includes at least one of a single field variable, a multi-field variable, call logic, and calculation logic.
In one embodiment of the present disclosure, the first determining module 2501 includes a show drop-down option unit and a display full field unit;
the display drop-down option unit is specifically configured to: responding to the triggering operation of the variable selection box, and displaying a pull-down option in the variable selection box; the drop-down options are correspondingly provided with full-selection attribute options; the display full-field unit is specifically configured to: and responding to the trigger of the all-selected attribute options corresponding to the target variable, displaying all fields contained in the target variable, and carrying out batch assignment on all fields contained in the target variable.
In one embodiment of the disclosure, the assignment module 2503 is specifically configured to, when performing batch assignment on a plurality of target fields included in the target variable based on the target expression:
and assigning the target expression to any target field in the target variable in response to an operation triggered by the target field and any target expression.
In one embodiment of the present disclosure, the assignment operation box further includes an auto-join selection item; the assignment module 2503, in response to an operation triggered by any field in the target variable and any target expression, is specifically configured to:
Determining a first field to be wired in the first area and an expression to be wired in the second area in response to selection of the automatic wired option; the to-be-connected expression comprises a second to-be-connected field; and in response to the second field to be connected being matched with the first field to be connected, connecting the second field to be connected with the first field to be connected so as to assign the second field to be connected to the first field to be connected.
In one embodiment of the present disclosure, the apparatus further comprises: the matching module is specifically used for:
and determining that the second field to be connected is matched with the first field to be connected if the field type of the second field to be connected is the same as the field type of the first field to be connected and the field name of the second field to be connected is the same as the field name of the first field to be connected.
In one embodiment of the present disclosure, the apparatus further comprises: the matching module is specifically used for:
responding to the fact that the field type of the first field to be connected is the same as the field type of the second field to be connected, and determining an editing distance according to the field name of the first field to be connected and the field name of the second field to be connected; and determining that the second field to be connected is matched with the first field to be connected in response to the editing distance being smaller than a preset editing distance.
In one embodiment of the present disclosure, the apparatus further comprises: the matching module is specifically used for:
determining the similarity of the first field to be connected and the second field to be connected through a machine learning method in response to the fact that the field type of the first field to be connected is the same as the field type of the second field to be connected; and determining that the second field to be connected is matched with the first field to be connected in response to the similarity being greater than a preset similarity.
In one embodiment of the present disclosure, the assignment operation box further includes a batch assignment selection item and a single assignment selection item; the apparatus further comprises: the assignment switching module is specifically configured to:
when only one target field and one target expression of the target variable are connected, responding to the condition that the single assignment selection item is selected, switching the batch assignment mode of the multi-field variable into the single assignment mode of the single-field variable, and displaying the target field and the target expression of the target variable in the editing area so as to assign the target expression to the target field; and responding to the batch assignment selection item, switching the single assignment mode of the single-field variable into the batch assignment mode of the multi-field variable, and respectively connecting a plurality of target fields of the target variable and the plurality of target expressions in the editing area so as to assign the plurality of target expressions to corresponding target fields respectively.
In one embodiment of the present disclosure, the assignment operation box further includes a folding variable selection item; the apparatus further comprises: the field folding module is specifically used for:
in response to a trigger to the collapse variable selection item, collapsing a plurality of fields contained in the target variable and collapsing a plurality of fields contained in a multi-field variable in the target expression.
In one embodiment of the present disclosure, the assignment operation box further includes an automatic ordering selection item; the apparatus further comprises: the automatic sequencing module is specifically used for:
after batch assignment is performed on a plurality of target fields contained in the target variable based on the target expression, responding to the trigger of the automatic ordering selection item, and ordering each field in the target variable according to the arrangement sequence of each target expression.
In one embodiment of the present disclosure, each second field in the target variable is stored in a first array; the automatic ordering module is specifically configured to, when ordering the fields in the target variables according to the order of the target expressions:
traversing each first field according to a target sequence, and for any first field, responding to the existence of a second field with a connection relation with the first field, and executing the second field to be fetched from the first array and put into a second array; the first fields are fields corresponding to all target expressions; the target sequence is the arrangement sequence of each first field at present; after traversing all the first fields, sequentially placing the second fields remained in the first array into the second array; and taking the sequence of each second field in the second array as the display sequence of each field in the target variable.
In one embodiment of the present disclosure, the first determining module 2501 includes a cancellation unit, specifically configured to:
in response to a selection operation of any field in the target variable, cancelling the selected target field; the target field is an upper level field or a lower level field of the current field corresponding to the selection operation.
In one embodiment of the disclosure, the assignment module 2503, when assigning the target expression to any target field in the target variable in response to an operation triggered by the target field and the target expression, is specifically configured to:
and in response to the connection operation of the first expression and the target field, canceling the first connection line if the target field has a first connection line corresponding to the second expression, and generating a second connection line corresponding to the target field and the first expression so as to assign the first expression to the target field.
In one embodiment of the disclosure, the assignment module 2503, when assigning the target expression to any target field in the target variable in response to an operation triggered by the target field and the target expression, is specifically configured to:
And in response to the connection operation of any target expression and a target field, canceling the connection lines of all lower-level fields under the target field if the target field is an upper-level field, so as to assign the target expression to the target field.
In one embodiment of the present disclosure, the apparatus further comprises:
the pulling module is used for responding to the fact that a user enters the visual programming platform, and pulling the grammar tree from the storage layer to the browser; the syntax tree includes a subtree; the subtree is used for representing a plurality of fields corresponding to the target variable, wherein part of the fields in the plurality of fields are assigned or none of the fields are assigned;
the rendering module is used for rendering the subtrees in the browser through a rendering layer, displaying the fields in the first area and displaying at least one expression in the second area; if the partial fields are assigned, the connection line of the partial fields and the corresponding expressions is displayed on the programming interface;
the apparatus further comprises: an updating module for: updating the grammar tree of the storage layer after assigning the target variable based on the target expression; the grammar tree is a grammar tree with batch assignment.
In one embodiment of the present disclosure, the apparatus further comprises: a compiling module for: in response to a user's publishing operation, the updated syntax tree is compiled into source code by a compiler.
In one embodiment of the present disclosure, the assignment operation box further includes an assignment mode selection item, where the assignment mode selection item is used for a user to select an assignment mode; the assignment mode comprises parallel assignment and sequential assignment;
the compiling module is specifically configured to, when compiling the updated syntax tree into the source code by the compiler:
generating parallel assignment codes according to a plurality of fields in the first area in response to the assignment mode for parallel assignment; the parallel assignment code is used for assigning values to a plurality of fields simultaneously; and generating an assignment code corresponding to each field according to the sequence of each field in the first area in response to the assignment mode for sequentially assigning.
The variable assignment device provided by the embodiment of the present invention can implement the variable assignment method of the embodiment shown in fig. 2 and fig. 4, and its implementation principle and technical effects are similar, and are not repeated here.
Exemplary computing device
Having described the methods, media, and apparatus of exemplary embodiments of the present disclosure, a computing device of exemplary embodiments of the present disclosure is next described with reference to fig. 26.
The computing device 260 shown in fig. 26 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 26, computing device 260 is in the form of a general purpose computing device. Components of computing device 260 may include, but are not limited to: at least one processing unit 2601, at least one memory unit 2602, and a bus 2603 connecting the different system components (including the processing unit 2601 and the memory unit 2602). Wherein, at least one storage unit 2602 stores therein computer-executable instructions; at least one processing unit 2601 includes a processor that executes instructions of the computer to implement the methods described above.
Bus 2603 includes a data bus, a control bus, and an address bus.
The storage unit 2602 may include readable media in the form of volatile memory, such as Random Access Memory (RAM) 26021 and/or cache memory 26022, and may further include readable media in the form of non-volatile memory, such as Read Only Memory (ROM) 26023.
The storage unit 2602 may also include a program/utility 26025 having a set (at least one) of program modules 26024, such program modules 26024 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Computing device 260 may also communicate with one or more external devices 2604 (e.g., a keyboard, pointing device, etc.). Such communication may occur through an input/output (I/O) interface 2605. Moreover, computing device 260 may also communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 2606. As shown in fig. 26, network adapter 2606 communicates with other modules of computing device 260 over bus 2603. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with computing device 260, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
It should be noted that although in the above detailed description several units/modules or sub-units/modules of the data verification device are mentioned, such a division is only exemplary and not mandatory. Indeed, the features and functionality of two or more units/modules described above may be embodied in one unit/module in accordance with embodiments of the present disclosure. Conversely, the features and functions of one unit/module described above may be further divided into ones that are embodied by a plurality of units/modules.
Furthermore, although the operations of the methods of the present disclosure are depicted in the drawings in a particular order, this is not required to or suggested that these operations must be performed in this particular order or that all of the illustrated operations must be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform.
While the spirit and principles of the present disclosure have been described with reference to several particular embodiments, it is to be understood that this disclosure is not limited to the particular embodiments disclosed nor does it imply that features in these aspects are not to be combined to benefit from this division, which is done for convenience of description only. The disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims (10)

1. A variable assignment method applied to a visual programming platform, wherein the visual programming platform comprises a displayed programming interface, the programming interface at least comprises a first area and a second area, the first area is used for displaying selectable variables, the second area is used for displaying selectable expressions, the expressions are used for assigning values to corresponding variables, and the method comprises:
Determining a target variable to be assigned in variables to be selected in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable;
determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface;
and assigning the target variable based on the target expression.
2. The method of claim 1, wherein assigning the target variable based on the target expression comprises:
and carrying out batch assignment on a plurality of target fields contained in the target variable based on the target expression.
3. The method according to claim 1, wherein the method further comprises:
displaying at least one functional component in a functional area of the programming interface, wherein the functional component comprises an assignment component;
responsive to dragging the assignment component to an editing area of the programming interface, displaying an assignment operation box in the editing area, wherein the assignment operation box comprises a variable selection box and an expression selection box; the variable selection frame and the expression selection frame are respectively provided with a plurality of pull-down options for selecting variables and expressions;
The determining the target variable to be assigned in the alternative variables comprises the following steps:
determining at least one field contained in the target variable selected by the variable selection box;
determining a target expression corresponding to the target variable, comprising:
determining at least one expression selected by the expression selection box; the expression includes at least one of a single field variable, a multi-field variable, call logic, and calculation logic.
4. A method according to claim 3, wherein said determining at least one field contained in the target variable selected by said variable selection box comprises:
responding to the triggering operation of the variable selection box, and displaying a pull-down option in the variable selection box; the drop-down options are correspondingly provided with full-selection attribute options;
and responding to the trigger of the all-selected attribute options corresponding to the target variable, displaying all fields contained in the target variable, and carrying out batch assignment on all fields contained in the target variable.
5. The method of claim 2, wherein bulk assigning the plurality of target fields contained by the target variable based on the target expression comprises:
And assigning the target expression to any target field in the target variable in response to an operation triggered by the target field and any target expression.
6. The method of claim 5, wherein the assignment operation box further comprises an auto-join selection item; assigning the target expression to the target field in response to an operation triggered by any field in the target variable and any target expression, comprising:
determining a first field to be wired in the first area and an expression to be wired in the second area in response to selection of the automatic wired option; the to-be-connected expression comprises a second to-be-connected field;
and in response to the second field to be connected being matched with the first field to be connected, connecting the second field to be connected with the first field to be connected so as to assign the second field to be connected to the first field to be connected.
7. The method of claim 6, wherein the method further comprises:
and determining that the second field to be connected is matched with the first field to be connected if the field type of the second field to be connected is the same as the field type of the first field to be connected and the field name of the second field to be connected is the same as the field name of the first field to be connected.
8. A computer readable storage medium having stored therein computer executable instructions which when executed by a processor implement the method of any of claims 1 to 7.
9. A variable assignment device for use with a visual programming platform, the visual programming platform including a displayed programming interface including at least a first region for displaying selectable variables and a second region for displaying selectable expressions for assigning values to respective variables, the device comprising:
the first determining module is used for determining a target variable to be assigned in alternative variables in response to a first operation instruction aiming at the programming interface; the target variable is a multi-field variable;
a second determination module for determining a target expression corresponding to the target variable in response to a second operation instruction for the programming interface;
and the assignment module is used for assigning the target variable based on the target expression.
10. A computing device, comprising: at least one processor and memory;
the memory stores computer-executable instructions;
the at least one processor executing computer-executable instructions stored in the memory causes the at least one processor to perform the method of any one of claims 1 to 7.
CN202311801697.8A 2023-12-25 2023-12-25 Variable assignment method, medium, device and computing equipment Pending CN117785168A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311801697.8A CN117785168A (en) 2023-12-25 2023-12-25 Variable assignment method, medium, device and computing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311801697.8A CN117785168A (en) 2023-12-25 2023-12-25 Variable assignment method, medium, device and computing equipment

Publications (1)

Publication Number Publication Date
CN117785168A true CN117785168A (en) 2024-03-29

Family

ID=90395856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311801697.8A Pending CN117785168A (en) 2023-12-25 2023-12-25 Variable assignment method, medium, device and computing equipment

Country Status (1)

Country Link
CN (1) CN117785168A (en)

Similar Documents

Publication Publication Date Title
US11442702B2 (en) Code completion
CN108021363B (en) Visual game logic editing method and system
JP3136035B2 (en) Automatic layout generator for database system interface and method for generating the same
US8060822B2 (en) System and method for creation of an object within an object hierarchy structure
US9021440B1 (en) System and method for automated test script generation
JP5651121B2 (en) Data object management and automatic linking
US9087296B2 (en) Navigable semantic network that processes a specification to and uses a set of declaritive statements to produce a semantic network model
US8386919B2 (en) System for displaying an annotated programming file
JP2008512794A (en) Object processing graph application development system
US20120221998A1 (en) Screenflow designer with automatically changing view
EP1836565A1 (en) Dynamic generation of formatted user interfaces in software environments
JP2022547668A (en) Visually create and monitor machine learning models
US8307333B2 (en) System and computer program product for assisting a user in the process of creating software code
US8307334B2 (en) Method for assisting a user in the process of creating software code
CN104823158A (en) Method and system for simplified knowledge engineering
CN117215556A (en) Modularized page rapid construction method, system, equipment and medium
CN113010168A (en) User interface generation method based on scene tree
Barford et al. Attribute grammars in constraint‐based graphics systems
CN117785168A (en) Variable assignment method, medium, device and computing equipment
EP3786810A1 (en) Automatic generation of computing artifacts for data analysis
Kaindl A scenario‐based approach for requirements engineering: Experience in a telecommunication software development project
CN112988139A (en) Method and device for developing event processing file
KR102588597B1 (en) Method for designing a program using operation logic designer as an alternative editor for uml sequence diagram and apparatus using the same
Alves Interactive and Live Program Construction
Kaczmarek et al. Swift 4 for Absolute Beginners: Develop Apps for IOS

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