Browse Prior Art Database

System for prototyping structured language statements using guided navigation of a computer graphical representation of the related "railroad" syntax diagrams. Disclosure Number: IPCOM000016779D
Original Publication Date: 2003-Jul-15
Included in the Prior Art Database: 2003-Jul-15

Publishing Venue



A method for generating syntactically correct formal language statements based on a dynamic graphical user interface that displays fragments of the language syntax on a computer display using the "railroad track" format. Initially the invention displays a railroad syntax fragment representing the starting point of the language syntax. The user interacts with the syntax by selecting items on the display screen, causing parts of the syntax to be activated. If the selected item is a link to another syntax fragment (a fragment reference), then that fragment is displayed. As parts of the syntax are activated the corresponding formal language statements are generated in another part of the graphical user interface. The process is repeated until the invention determines that the syntactical requirements of the language have been met. If the formal language represents an executable programming language, then the generated statement can be submitted for processing.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 23% of the total text.

Page 1 of 10

  System for prototyping structured language statements using guided navigation of a computer graphical representation of the related "railroad" syntax diagrams.

Overview of the invention in use

The invention has been implemented as a tool for generating (IBM DB2) SQL statements. In this guise it can be used as a learning aid for novices, and as a tool for generating and executing complex SQL select statements. The description of the invention below uses examples taken from this implementation (contained in the IBM File Manager (DB2 Feature) product version 2 and above). The syntax portrayed is for DB2 Universal Database for OS/390 version 7.

When the invention is started, the intial fragment of the syntax of the formal language (in this case SQL select) is displayed. The invention understands which elements of the syntax are required, and colour codes them in red for the user's attention. Items colour-coded in yellow are optional, and have not yet been actioned by the user. The name of the current fragment (select statement) and the status of the statement are also displayed. Each of the selectable items (fullselect, orderby, readonly, etc) leads to another fragment of the complete syntax or a data entry display.

If the user selects the "fullselect" item then the fragment for that part of the syntax is displayed.


[This page contains 2 pictures or other non-text objects]

Page 2 of 10

The syntax indicates that a choice must be made between "subselect" and "(fullselect)". If the user selects "subselect" then the subselect clause fragment is displayed.

Both the "select" and "from" fragments are required. Selecting "from" first, the "from" clause fragment is displayed.


[This page contains 4 pictures or other non-text objects]

Page 3 of 10

A syntax fragment has been selected with a mandatory element (the "FROM" keyword), so the invention is now able to start generating the statement at the bottom of the screen. This clause still requires a table specification ("tabspec") so that fragment link is selected.

Many items can be selected from the table specification clause. Our user selects the "table" item. At this point a data entry window is displayed where the name of the required table is entered.


[This page contains 4 pictures or other non-text objects]

Page 4 of 10

Exiting the data entry window causes the previous fragment to be displayed. Several things have changed since it was last displayed.

Because the table item has been satisfied it is now displayed in green, and this in turn satisifies the table specification clause fragment. The status of the fragment is therefore now "clause complete". Finally, the entered table name has been added to the generated statement.

Exiting again we find that the from clause is now also complete.


[This page contains 4 pictures or other non-text objects]

Page 5 of 10

Exiting once more to the subselect clause (not displayed here), the user notes that the from clause fragment reference is now g...