Geschrieben um 20:04 am 14.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Sollte jemand versuchen, mit der aktuellen deutschen Inform-Library und im Quellcode aktiviertem NO_PUNCTUATION etwas für Glulx zu kompilieren, wird ihn der Biplattformcompiler ebenso wie der neue Inform-6.30-Compiler mit folgender Fehlermeldung begrüßen: Inform 6.21 (biplatform, G0.37) (24th Aug 2000):
include\German.h(329): Error: Expected assignment or statement but found <constant>
... Der Fehler befindet sich laut Zeilenangabe in der PreProcessGerman:
|
Geschrieben um 20:13 am 15.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Im Glulx-Code oben fallen zwei Sachen auf: Es wird *buffer->(parse-->(x3+3) abgefragt, dann aber buffer->x ein Wert zugewiesen. Und es wird mit einer mir unverständichen Kombination aus buffer, dem Feld für die engegebenen Buchstaben und parse, dem Feld für die Wortanalyse, gearbeitet. Das Entfernen von einzelnen Zeichen läuft allerdings auf Zeichenebene ab, parse** hat da gar nichts zu suchen. (Und wenn Zeichen als Wörter herausgefilter werden, dann sollte man auch auf Wörter ('?//', '!//') testen, nicht auf Zeichen ('?', '!'). (Ich habe in Andrew Plotkins "The Game Author's Guide to Glulx Inform" nichts über die Belegung der beiden Felder gefunden, glaube aber, dass diese relativ analog zum z-Code sind, man muss halt nur die geänderte Wordsize berücksichtigen. parse ist, glaube ich, kein Mischfeld mehr, sondern enthält Dreiergruppen von Wörtern (hab's nicht genau untersucht), buffer jedenfalls enthält ein 4 Byte langes Wort, das die Länge der Eingabe n angibt, danach folgen n Bytes mit den eingegebenen Zeichen.) Ich habe die german.h einmal analog zur z-Code-Schleife abgeändert:
Das hat bei mir geklappt - bitte mal testen, Christoph - und Glulxe nicht mehr abstürzen lassen. (Es war vielmehr ein Aufhängen, so dass ich Glulxe aus dem Task-Manager heraus abschießen musste, und das passierte sogar mit Strict und Debug.) Außerdem hat informbp die Routinen irgendwas_to_upper und _to_Lower nicht gefunden. (Das habe ich einfach herausgeschmissen, ohne auf die Folgen zu achten. Vermutlich gehen jetzt Gder usw. nicht mehr.) P.S.: Wie die beiden Felder belegt werden steht natürlich in Roger Firths Inform FAQ. |
Geschrieben um 14:43 am 16.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | irgendwas_to_upper usw. kennt er bei mir, da gibts keine Probleme. Was das mit dem parse dort sollte, hat sich mir auch nicht erschlossen, aber wegen der übriggebliebenen geschweiften Klammer gehe ich mal davon aus, dass dort vor einigen Versionen entweder noch mehr oder gänzlich anderer Code stand. Dein Ersatz funktioniert bei mir absolut einwandfrei, danke! Satzzeichen vor oder hinter Wörtern, am Satzanfang und Satzende, mit wievielen Leerzeichen auch immer getrennt, bei mir hat jetzt alles geklappt. |