1. Technical Field
The present invention relates to a system and technique for permitting a procedural or linear program to be accessed on an event-driven basis. More particularly, the present invention relates to a system and technique which permit programs written in procedural fourth-generation interpretive languages to be responsive to and be accessible by reactive or event-driven programs or input, such as a graphical user interface.
2. Description of the Related Art
A number of different varieties of programming languages exist today, each having its own attributes and characteristics. Among these languages are what are known as procedural fourth-generation interpretive languages. Programs written in such fourth-generation languages are not compiled, but rather are interpreted directly by a computer processor in the form in which they are written by a programmer, with the commands being executed by the processor based on the interpretation of the code written by the programmer. Such languages are typically easier in which to program than are languages which require compilation, and they are attractive because less programmer skill is required to write programs.
Programs written in procedural languages are executed linearly and are also known as command languages. The nature of procedural languages presents a barrier to some potential uses, because procedural programs typically cannot respond interactively to input from a user, but rather are restricted to being initiated through a command input by a user and then carrying out their programmed function to completion. While this type of performance is acceptable for certain functions or applications that computer users might want to have performed or carried out, such performance is not acceptable when users require object based event-driven programs which are reactive and capable of responding to any one of a variety of possible inputs/commands with the desired one of many possible functions or procedures. This requirement is the norm in user interface applications, and graphical user interfaces (GUIs) in particular.
Attempts to make such fourth-generational procedural programs into event-driven applications have met with limited success. For example, one such technique has added a user interface module to the REXX (Restructured EXecutive eXecutor) fourth generational language which causes a user interface window to be displayed on a computer display device. However, this window merely permits a user to access a REXX procedural subroutine which continues until its processing is ended. Such single window modal user interfaces do not turn REXX programs or applications into the type of event driven programs or applications required by today's user interfaces, in which ease of use and a modeless design are prerequisites. For example, today's advanced GUIs permit users to customize or change them through working with the GUI. In contrast, the proposed modal REXX system would leave the user with the requirement of reprogramming the REXX subroutine itself in order to effect any change in the display of the window or in the function of the window.
Accordingly, a need has arisen for a technique for converting or otherwise adapting fourth generation procedural language into event driven programs.