20.11.2008 News

Neue Version 2.1 des Parser­ge­ne­ra­tors BTRACC verfügbar

Der Einsatz eines Parser­ge­ne­ra­tors ist notwen­dig, wenn Werkzeuge für die Software-Migration und das Reengi­nee­ring neu entwi­ckelt werden sollen. Dabei existie­ren folgende Anfor­de­run­gen an den Parsergenerator:

  • Verar­bei­tung komple­xer Gramma­ti­ken (insbe­son­dere bei antiquier­ten Program­­mier- und Skript­spra­chen wie z.B. COBOL, PL/I, CICS, UTM, SDF, …),
  • Verwen­dung der in Dokumen­ta­tio­nen vorge­ge­be­nen Gramma­tik ohne aufwen­dige Umstel­lung zur Errei­chung einer LL(n)- oder LR(n)-Eigenschaft,
  • Verar­bei­tung mehre­rer Dialekte in einem Werkzeug,
  • einfa­che Integra­tion neuer, syntak­ti­scher Konstruk­tio­nen ohne Umbau der existie­ren­den Grammatik.

Am Markt verfüg­bare Parser­ge­ne­ra­to­ren (YACC, COCO/R, PCCTS, .ANTLR, JavaCC) werden diesen Anfor­de­run­gen nicht gerecht. Insbe­son­dere die Forde­rung, die in Dokumen­ta­tio­nen verfüg­bare Syntax ohne Umstel­lun­gen zu verwen­den und Erwei­te­run­gen kosten­güns­tig integrie­ren zu können, ist nicht erfüllt. Eine Erwei­te­rung einer komple­xen YACC-Gramma­­tik z.B. führt in der Regel zu einer Reihe von Konflik­ten, welche nur mit großem Aufwand besei­tigt werden können.

Aus diesem Grund entwi­ckelte pro et con einen eigenen Parser­ge­ne­ra­tor BTRACC (Backtrack­ing Compi­ler Compi­ler), der auf Basis des Backtrack­ing-Verfah­­rens arbei­tet und die oben genann­ten Nachteile beseitigt.

Mit BTRACC wurden Parser für C, COBOL, CICS, Java, NATURAL, PL/I, SDF, SCREEN COBOL, SPL, TAL und SQL entwi­ckelt. Sie bilden die Basis für die kommer­zi­el­len Migra­­ti­ons- und Reengi­­nee­ring-Werkzeuge der Firma.

Die aktuelle Version 2.1 von BTRACC zeich­net sich durch folgende, neue Eigen­schaf­ten aus:

  • Es wird optio­nal C‑Code (kompi­lier­fä­hig auch mit C++) und Java-Code generiert. Damit ist BTRACC für alle Parser verwend­bar, welche neben C/C++ auch im Java-Umfeld einge­setzt werden.
  • Grund­sätz­lich wird auf goto verzich­tet und struk­tu­rier­ter Code generiert.
  • Es erfolgt eine genaue Positionsangabe.
  • Es wird eine vollstän­dige FIRST- und FOLLOW-Mengen-Berech­­nung durch­ge­führt. Dadurch verbes­sert sich die Laufzeit der generier­ten Parser.
  • Konstrukte für die 1- bis n‑fache ({}+) und die n‑m‑fache ({}:n-m) Wieder­ho­lung wurden einge­führt. Das erleich­tert das Entwi­ckeln einer Sprach­gram­ma­tik entscheidend.
  • Es existiert ein visuel­ler Debugger.

BTRACC in der neuen Version 2.1 steht ab sofort für den kommer­zi­el­len Einsatz zur Verfü­gung. Damit wird pro et con in die Lage versetzt, in kurzer Zeit und kosten­güns­tig neue Migra­ti­ons­werk­zeuge entspre­chend spezi­el­ler Kunden­an­for­de­run­gen zu entwickeln.

Die Weiter­ent­wick­lung von BTRACC unter­streicht erneut die führende Rolle von pro et con auf dem Gebiet der wissen­schaft­lich fundier­ten Software-Migration und des Software Reengineering.