Die Evolution einer Anwendung

Zeit fürs Neuprogrammieren

Als schließlich eine Liste mit den im gegenwärtigen Design nicht durchführbaren Verbesserungen erstellt wurde, beschloss man, dass ein neuer Parser programmiert werden musste. Hierfür benutzte man die bewährten UNIX-Tools Lex und YACC. Für den Brieftext wurde eine Mark-Up-Sprache ausgearbeitet, die an das HTML-Format angelehnt war, wobei an die Bedürfnisse angepasste Attribute einfügt wurden. Die Beispielvorlage für einen Brief sah nun bereits wie in Listing C aus.

Einer der wichtigsten Fortschritte hierbei war, dass den Feldern nun interne Bezeichnungen zugewiesen werden konnten. Zuvor waren die Felder unbenannte Textfelder gewesen – jetzt hatten sie einen Namen. Dies erlaubte wiederum die Integration einer Reihe neuer Features. So konnten die Felder für die Namen und Adressen der Kunden nun mit den Daten aus der Hauptanwendung ausgefüllt werden. Und man konnten beim Drucken eines Briefs gleichzeitig die Anschrift auf einen Umschlag drucken oder ein Fax-Deckblatt ausfüllen.

Durch die Verwendung von HTML-ähnlichen Tags erhielt die Programmsprache endlich die nötige Struktur. Von diesem Punkt an gingen die Entwicklungen locker von der Hand. Für neue Features waren lediglich neue Attribute oder Tags nötig. Mit Lex und YACC konnten Änderungen der Sprache ganz einfach durch Hinzufügen neuer Regeln zur bereits existierenden Syntax erfolgen.

Ein weiterer Vorteil der neuen Konfiguration lag in der Verwendung von Tabellen. Eine Tabelle besteht aus einer Reihe von Datenfeldern, die je nach Bedarf für einen Kunden beliebig oft wiederholt werden können. Anfangs wurden die Tabellen wie folgt dargestellt:


*#[dir_code]{20}DIRECTORY|[issue]{5}
ISSUE|[money]{11}MONTHLY AMOUNT|*

Durch # wurde eine Tabelle eingeleitet, mit | die einzelnen Spalten getrennt. So wurden Reihen von Eingabefeldern für Verzeichnis, Ausgabedatum und Betrag erzeugt. Diese Reihen aus Feldern konnten beliebig oft wiederholt werden, wobei für jede Wiederholung jeweils eine neue Zeile eingefügt wurde. Das Programm überprüfte lediglich, dass die Spalten ordentlich ausgerichtet waren.

Nun waren die Tabellenfelder jedoch einfach nur Inhalte für das <table>-Element und mussten nicht mehr untereinander aufgelistet werden. Eine Tabelle stellte nun einfach einen beliebigen Text dar, der beliebig oft wiederholt werden konnte. Eine solche Anordnung wäre mit der frühren Syntax natürlich nicht möglich gewesen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Die Evolution einer Anwendung

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *