Homepage: http://www.semdesigns.com/Products/DMS/DMSToolkit.html

DMSSoftwareReengineeringToolkit is a DesignMaintenanceSystem? for software ReEngineering from SemanticDesigns.

DMS provides generalized compiler technology for automating custom analysis, modification, and generation of large software system sources. It includes:

  • UNICODE-based lexer generator. DMS lexers capture binary values of lexemes, all comments, and source file positioning information. Support is provided for INCLUDE files and other preprocessor issues.
  • Context-free GLR parser generator. Automatic construction of Abstract (not concrete) syntax trees (AST). Handling of local and conventional ambiguities. Parse-time semantic checking is possible.
  • Pretty printer generator. DMS prettyprinters can pretty-print ASTs according to custom prettyprinting rules, or "fidelity" print, preserving as much of the original formatting as possible.
  • Multi-pass attribute evaluator generator. Attributes computed from one pass are available in following passes. Attribute evaluation occurs in parallel, based on data dependencies.
  • Symbol table support for both conventional and unusual scoping rules.
  • Surface-syntax pattern and rewrite rule specification. Patterns/rewrites written in the notation of the target language, or in both source and target notations if different languages. Conditional rewriting, with optional procedural attachment. Optional procedural attachment for Right-hand-side construction. Pattern and ruleset compositions.
  • Associative/Commutative rewrite engine.
  • Scalable foundations Paralell execution based symmetric multiprocessing in PARLANSE, Semantic Design's parallel language for symbolic execution. Handles tens of thousands of files comprising several million lines on Windows NT 4.0 or Windows 2000 platforms

A number of legacy languages have been predefined for use with DMS.

  • ANSI C and C++, with a built in preprocessor.
  • COBOL (ANSI 85/IBM VS II) with built in preprocessor
  • Java 2.0
  • C#
  • HTML 4.0, XHTML, Internet Explorer dialect
  • PHP
  • ISO Pascal and (Borland) ObjectPascal?
  • Ada83/95
  • Fortran77/90/95
  • ECMAScript (aka JavaScript?)
  • XML
  • Verilog
  • VHDL
  • others...

See also

Revision: r1.7 - 18 Mar 2002 - 15:42 - TWikiGuest
Transform > DMSSoftwareReengineeringToolkit
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback