atari-home.de - Foren
Software => Coding => Thema gestartet von: guest2482 am Mi 07.03.2012, 22:07:25
-
Hallo Leute, habe neulich einen älteren Modula-2 Sourcecode ausgegraben (der nicht von mir ist), und wollte den spaßeshalber mal auf einem aktuellen Linux-System compilieren. Hier hab ich den GNU Modula-2 Compiler gefunden, aber er stört sich an einem Konstrukt im alten Sourcecode, das es wohl nur beim Megamax Modula-2 früher gab... und zwar beispielsweise folgendes bei einer Prozedurdeklaration:
PROCEDURE Print (REF s : ARRAY OF CHAR);
GNU Modula-2 kennt das "REF" Schlüsselwort nicht. Kennt sich noch jemand mit Megamax Modula-2 aus und weiß, für was das gut war? Kann ich das einfach durch "VAR" ersetzen oder weglassen? Der Sourcecode ist leider voll davon, deshalb würd ich das gerne erst verstehen, bevor ich das ausprobiere zu ändern...
-
schau mal auf http://www.tempel.org/files-d.html (http://www.tempel.org/files-d.html)
da gibt es das megamax-modula. auch die komplette doku.
Beim öbertragen eines Programms auf einen Compiler, der REF-Parameter
nicht kennt, entstehen keine Probleme: Lîschen Sie einfach alle Vorkommen
von REF. Dann werden die Daten wieder lokal kopiert, so daû bis auf einen
evtl. grîûeren Stack-Bedarf keine weiteren ProgrammÑnderungen notwendig
werden.
-
Es scheint sowas wie ein call-by-reference zu sein, bei dem das Ändern der übergebenen Variablen nicht zugelassen ist.
Offensichtlich hat man hier versucht CPU Zyklen und Speicher zu sparen.
Wenn man es durch VAR ersetzt, sollte es also funktionieren.
-
Vielen Dank für die Tipps! Vor allem das Megamax-Modula-Handbuch ist ja Gold wert! Werde das mal ausprobieren wie dort beschrieben...