© Jørgen Steensgaard-Madsen, Copenhagen, 2006
A heterogeneous system                                                  

Users of a command line interface to an operating system should be familiar with use of a command line history by which previous commands can be recalled, possibly edited, and submitted for execution. An interpreter of expressions (programs) that may span several lines might benefit from a similar facility. On the other hand, it would be nice to provide such service independently. A simple system has been implemented to do so for simple, filter-like interpreters.
The system's user interface is a window with two text areas, one for input, one for output. Lines may be appended to the contents of the input area and finally submitted as a new sequence of lines to an interpreter. Once submitted a sequence of lines is considered as the contents of a subsection that may be edited and resubmitted. Lines may be added and deleted anywhere in a subsection, but it cannot be subdivided. Tcl/Tk is used for the graphical user interface.
Three process constitutes the main system structure: one to manage connections, one to implement the interface, and one to run the interpreter. The first is motivated by the circular data flow, which allows an interpreter's results to appear in the output area of the interface. The program of this process is expressed in HL:demo and in fact spawns an auxiliary process. Execution of the three processes and their interconnections is also expressed in HL:demo.
System initialisation and a simplified version of the connection manager is described below. A fuller version is capable also of managing scripts for tutorials to illustrate the actual interpreter used in the system.


·Demo language
Implementation tool

General properties

Russian roulette
·A heterogeneous system


File translated from TEX by TTH, version 3.33.
On 18 Oct 2006, 16:47.
SourceForge.net Logo