• Deutsch (DE-CH-AT)
  • English (United Kingdom)
  • Japanese(JP)


The Dialog-Orientiertes Quelltext-Redigierungs- und Makro-Implementierungs-System (DORIS) was designed and implemented by Reiner Dumke 1979 at the Universtiy of Magdeburg. This tool set is implemented in PL/1 and JCL and builds macros from any source codes (semi) automatically. The general generated (PL/1) macro is based on the following template.




The different tools of DORIS are

  • TEAN2: splitting a text (usually source code in any programming language or any other text) in words in their numbers of occurences by user defined delimiters (this tool can be used as general text analysis considering the words frequencies),
  • TEAN1: analysis of any source codes concerning different and common text parts or patterns (this tool can be used for analyzing repeated text or source code parts and patterns; note, that anyones defines repeated code in OO as code clones, but clones in programming science are cloned software agents with their own life and behaviour),
  • VERIF: supporting the program verification by definition of test variables and test executions (performance, tracing and interpretation),

  • VARTE: aggregation of source codes including any variances of composing,

  • TEMAN: substitution of a string defining the position and/or the substituted string,

  • QTEDI: compression of a source code by deleting the empty characters,

  • MAGEN: the main tool as macro generation in the kind of macro template as described above,

  • PARDI: transformation of a parameter set by deleting double parameter values,

  • PARVA: variation of the values of a predefined parameter set,

  • TEBIB: storage and maintenance of the common text pattern during the use of the tool set,

  • RUVAR: definition of new macro calls form the result of the macro generation,

  • MARUF: generation of macro calls from the generated macros themselves,

  • VORUEB: gegeration of source code as macro execution using the PL/1 macro interpreter,

  • VERGL: comparison of the generated code (by the created macros) with the original source code.


Note, that TEBIB, TEMAN, QTEDI, MARUF, RUVAR and PARDI are Job control language (JCL) procedures for executing and the other tools are PL/1 programs and predefined macros. The cyclic performing of the DORIS tool set is shown in the following figure.




The tool can also be used separately in order to support general preprocessor based (user or domain) language generation.



The DORIS approach is one of the kernel component of the MALIS implementation and was use in LIS program generation for query tasks in COBOL.




Last Updated on Friday, 25 January 2013 17:15