Arbeit am Almost English-Compiler

Der Compiler wird als DOS-Programm in Assembler programmiert und mit dem Assembler XS übersetzt. Dieser und der neue Compiler laufen während der Entwicklung unter Linux im DOSEMU, auf einem Computer mit Internetanschluss. Dadurch können Fortschritte sofort hier bekanntgemacht werden.

Bei diesem Protokoll handelt es sich um einen Kommentarteil direkt im Assemblerprogramm - daher die Strichpunkte vor jeder Zeile.

    ;24.05.2008
;Übernahme von Funktionen aus der Umsetzung von "Let's Build a Compiler"
;Schlüsselwort mit modifiziertem GetName einlesen
 ;(Keyword)
;Einzelnes Schlüsselwort am Anfang einer Zeile einem Code zuordnen
 ;(GetCommand_alt)
;Befehl, der aus mehreren Schlüsselwörtern besteht, einem Code zuordnen
 ;(GetCommand)
;Version abgespeichert: AE1.ASM (794 Byte Code)

;Debug-Ausgaben und GetCommand_alt entfernt => 607 Byte Code
;"_" statt " " im Command-Puffer schreiben => direkter Labelname für CALL etc
;IsWhite eingefügt, Programm zur Verwendung von IsWhite angepasst,
 ;Abstände nach einem Befehl überspringen
 ; => [Look]=nächstes Zeichen oder CR

;Ganzes Programm übersetzen:
 ;Anzeige: Befehlscode; nächstes Zeichen (ev. CR)
 ;Dummy-Routine frisst Zeile bis zum nächsten CR auf
 ;Übersetzung wiederholen bis leere Zeile mit EOF-Symbol entdeckt
;(ohne Debug-Code 672 Byte)
 ;Debug-Code eingefügt
;Version abgespeichert: AE2.ASM (732 Byte Code)

Nach einiger Zeit wurde klar, dass das begonnene Programm nicht die definitive Lösung sein kann, da es eine zu langsame Methode zur Suche von Schlüsselwörtern in einer Liste verwendet. Dies würde sich bei einer grossen Anzahl Befehle spürbar auswirken. Deshalb muss die Arbeit neu begonnen werden, und zwar unter Verwendung komplizierterer Datenstrukturen (Suchbäumen ähnlich PATRICIA-Tries), die eine effiziente Suche erlauben.

Stand 16. August 2008, 23:00:00