Humboldt University of Berlin, Department of Computer Science, System Analysis


SDL/PR syntax oriented editor

The Editor, called sdle, is a graphical SITE component to support the user by handling SDL specifications with SITE. It is a study work of  Gerd Kurzbach and Matthias Schwalbe. It can be seen as an integrating component of many SITE tools. The sdle was not developed as a stable product for commercial presentation. It is a research component, which includes some brand new features on the field of editing programming languages. Therefore don't worry about the stability. Moreover SDL'92 is an extremely complex language, which make errors probable.

Documentation

There is a manual sdle for the use of the syntax oriented editor. The features of the sdle are explained in the following paragraphs.

The Editor

The user sees a normal X based text editor. It is possible to write, change, delete, search, and replace text. The input and output format is SDL/PR and the Common Representation of SITE. Moreover, it is possible to produce PostScript, which includes also the style of the letters, e.g. bold keywords. The CR of the editor keeps positions and comments in contrast to the SDL Parser.

The Syntactical Components

The editor automatically loads a component, called ipars, into background, which is able to analyze the SDL'92 syntax incrementally. The incremental parser is derived from the grammar file of the SDL Parser, i.e. exactly the same syntax as the parser is accepted. Editor and parser communicates besides the normal editing and exchange text, error and syntactical information. With these information the editor updates the layout of the SDL/PR text, i.e. changes the color of tokens, and performs automatic indentation. The point when a piece of text is send to the analysis depends currently on wide spaces and timeouts. Here some user experiences are necessary to improve the update scheme. There are some buttons to find syntactical errors in the documents and get the detailed error description.

Pretty Printer

The combination of the editor with the parser component allows a pretty printing of unstructured SDL/PR text as well as a reprinting of CR generated by the SDL Parser. Because the SDL Parser does not support any position information and the storage of comments, automatically generated SDL/PR files can be cleaned up by reprinting the CR files. There is also a program cr2ascii which performs this transformation without graphical interface.

The Semantical Analysis

On request the editor calls the semantical analysis, where the Common Representation of the specification is written and the SDL Semantics is called. This is only possible with correct syntactical specifications. The analysis send the error descriptions to the editor, which is able to display the positions and messages. Position information are independent of the layout of the specification, i.e. if an SDL/GR editor is available, the position information could be used for both editors.

The Code Generator

Oops, I miss a button here! Well, call the code generator by hand.

The Tracer Facility

The generated programs are able to provide path information. The sdle can activate this facility with a special menu. Within this mode the cursor follows the execution, which can be traced step by step.

The External Position Finder

The interface, which is used by the semantical analysis and the program tracer, can be activated manually, too (menu point tools/extern). A small program, called sdl-tracer, is able to filter given path information and send it to the editor. It can be used to trace an available log file or to find given positions by hand. This is important to debug applications with real time behavior. Note, the path which is generated by SITE tools for the communication with the editor is not directly human readable!

Executables

The actual executable of the Humboldt University can be picked up here for SunOS (including Solaris) and Linux.

Users support

Because of the old interviews technology, the editor will be replaced by a Python based tool. There will be no furhter support.

[ Humboldt University of Berlin| Department of Computer Science| System Analysis


Ralf Schröder

Created at 08-31-95, last change at 08-31-95