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