The PROGRES Environment
The
PROGRES environment consists of the following integrated set of tools:
- a mixed textual/graphical syntax-directed editor (with an incrementally working table-driven pretty printer),
- an integrated (micro-)emacs-like text editor (with an incrementally working parser),
- an incrementally working type-checker which detects all inconsistencies with respect to the PROGRES language's static semantics (using about 300 formally defined type checking rules),
- a text-oriented specification browser for finding declarations and applied occurrences of identifiers,
- an integrated interpreter which translates PROGRES specifications into intermediate code and executes this code afterwards,
- a tcl/tk-based graph browser for manipulated host graphs, which was derived from the ffgraph browser developed at the University of Passau,
- a cross-compiler from PROGRES to Modula-2 code and C code which uses the procedural interface of the GRAS database system, and
- a user interface generator which produces Tcl/Tk code and supports rapid prototyping of interactive graph-manipulating tools.
A sample screenshot of the textual and graphical scheme editor