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.
Neueste Kommentare
Noch keine Kommentare zu Die Evolution einer Anwendung
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.