home *** CD-ROM | disk | FTP | other *** search
- -----------------------------------------------------------------------------
- :Program. M2Error
- :Author. Fridtjof Björn Siebert (Amok)
- :Address. Nobileweg 67, D-7000 Stuttgart-40
- :Phone. (0)711/822509
- :Shortcut. [fbs]
- :Version. 1.0
- :Date. 29.03.88
- :Copyright. PD, but of course contributions are wellcomed.
- :Language. Modula-II
- :Translator. M2Amiga
- :Imports. none.
- :Contents. Program to type compile-errors.
- :Remark. Usage: M2Error Source
- :Bugs. none known yet. I still don't know what c1455252H in Error-
- :Bugs. means, but I guess it's not important.
- -----------------------------------------------------------------------------
-
- Diese Routine macht im Prinzip nicht viel mehr als das Programm
- `M2Error', daß M2Amiga beiliegt. M2Error gibt aber zu jeder fehler-
- haften Zeile lediglich die Umgebung, und nicht, was viel nötiger wäre,
- die Zeilennummer aus.
-
- Bei M2Err ist dieser Mangel beseitigt. Es werden die Zeilennummern der
- fehlerhaften Zeilen ausgegeben, so daß man in einem Editor direkt in
- diese springen kann, ohne viel zu suchen. Nicht beabsichtigt, aber
- dennoch positiv ist, daß M2Err die Fehlerliste fast doppelt so schnell
- ausgibt wie M2Error.
-
- Außerdem werden von M2Err keine Minuszeichen ausgegeben, die ich bei
- M2Error ziemlich häßlich finde. Der Pfeil nach oben wurde durch einen
- dezenten Strich ersetzt.
-
- Als ich M2Err schrieb viel mir negativ auf, daß ich nirgends eine
- Dokumentation der Fehlerdatei und der Fehlerlist fand. Inzwischen ist
- mir nach vielen Hexdumps das Format jedoch einigermaßen klar geworden.
- Für diejenigen, die auch über die Fehlerdateien bescheidwissen
- möchten, hier kurz deren Aufbau:
-
- s:Modula-2 Fehlermeldungen:
-
- 1. Addresse des nächsten Fehlers (4 Byte)
- 2. Fehlernummer (2 Byte)
- 3. Fehlertext, Ende mit 0 (x Byte)
-
- 4. Wie 1. Hierher zeigt der Zeiger bei 1.
- 5. Fehlernummer
- etc.
-
- letzter Zeiger zum nächsten Fehler ist 0. Danach ist die
- Fehlernummer auch 0.
-
- .modE und .defE -File:
-
- 1. LONG(3). (4 Byte) Bedeutung ist mir unklar
- 2. WORD(c145H) (2 Byte) Bedeutung auch nicht klar. 2. Byte ist `E'
-
- 3. WORD(5252H) (2 Byte) `RR' ergibt mit 2. `ERR'
- 4. Adrresse des Fehlers im .mod oder .def-File (4 Byte)
- 5. Fehlernummer (2 Byte) Entspricht Nummer in "s:Modula-2 Fehlermeldungen"
- Vorsich: Die Fehlernummer muß nicht in der Fehlerliste enthalten sein.
- Es gibt Fehlernummern, die in der zum M2Amiga-Buch gehörenden Fehler-
- mit xx bei den zwei niederwertigsten Ziffern, die in der Fehlerdatei
- fehlen. Dies ist aber nicht weiter schlimm, da die Fehlermeldungen
- (für mich) unverständlich sind.
- 6. WORD(c145H) oder WORD(0FFFFH) (2 Byte). Wenn keines von beidem, dann
- zweite oder dritte Fehlernummer, kann wie 5. behandelt werden. c145H
- zeigt an, daß weitere Fehler folgen. 0FFFFH bedeutet Ende der Fehler-
- dateil.
-
- -- Fridtjof.
-