Autor Thema: Modula-2 Frage  (Gelesen 12833 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

guest2482

  • Gast
Modula-2 Frage
« 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...

afalc060

  • Gast
Re: Modula-2 Frage
« Antwort #1 am: Do 08.03.2012, 00:06:46 »
schau mal auf http://www.tempel.org/files-d.html
da gibt es das megamax-modula. auch die komplette doku.

Zitat
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.

guest522

  • Gast
Re: Modula-2 Frage
« Antwort #2 am: Do 08.03.2012, 20:16:45 »
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.

guest2482

  • Gast
Re: Modula-2 Frage
« Antwort #3 am: Di 13.03.2012, 20:29:44 »
Vielen Dank für die Tipps! Vor allem das Megamax-Modula-Handbuch ist ja Gold wert! Werde das mal ausprobieren wie dort beschrieben...