home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 18
/
aminetcdnumber181997.iso
/
Aminet
/
dev
/
m2
/
CycGerGuide.lha
/
WasIstCyclone
< prev
next >
Wrap
Text File
|
1997-01-01
|
2KB
|
33 lines
Cyclone ist eine neuer Modula-2 Compiler für den Amiga. Obwohl er zur
Compilierung von normalen Modula-2 Programmen benutzt werden kann, hat er
deutlich mehr zu bieten. Cyclone hat einige Funktionen zu Modula-2 hinzuge-
fügt, von denen man viele aus Modula-3, Oberon, ADA, E und C++ bereits
kennen wird. Und er erreicht dies, ohne seine Einheitlichkeit zu verlieren,
er bewahrt die Qualitäten eines Modula-2 Compilers. Die Erweiterungen zum
Modula-2 Standard beinhalten Objekte mit Polymorphie, Ausnahmebehandlung,
Listen (wie in E) und einiges mehr.
Cyclone hat auch einen sehr guten Compiler. Er erreicht eine deutlich
höhere Compilationsgeschwindigkeit als ein C-Compiler, was die Programm-
erstellung vereinfacht und beschleunigt. Selbst große Projekte können
in wenigen Sekunden compiliert werden. Dies wird nicht auf Kosten der
Qualität des erzeugten Codes erreicht. Alle üblicherweise erwarteten
Optimierungen sind möglich, wie Funktions-Inlining, CASE-Tabellenerzeu-
gung und Gucklochoptimierungen. Wem das nicht ausreicht, der bekommt
einen umfassend nutzbaren Inline-Assembler zur Verfügung gestellt.
Die erzeugten Binaries werden auf Grund des optimierenden Linkers so
klein wie möglich gehalten und können leicht reentrant gemacht werden.
Das Cylone-System hat einen eindrucksvollen Umfang. Sowohl die Äquivalente
für die C-Includes des AmigaOS liegen in Modulform vor, als auch Thread-
Handhabung (zur Verfügung gestellt von Robert Ennals) und Thread-Streams,
sowie weitere Funktionen zur objektorientierten Programmierung. Ein
spezieller Library-Linker erlaubt die Erstellung von shared Libraries.
Trotz all dieser Möglichkeiten von Cyclone bleibt er jedoch Giftware,
so daß es selbst für den ärmsten Programmierer keine Entschuldigung mehr
gibt, nicht auf das Cyclone-System zu wechseln.
Marcel Timmermans
EMail: mtimmerm@worldaccess.nl