05.Mär.2026
Manfred Bergmann (ANF)
|
(Amiga-)BASIC Compiler: ACE 3.0
Manfred Bergmann hat ein weiteres Update des AmigaBASIC-Compilers "ACE" veröffentlicht. In einem englischen Blog Post geht er ausführlich auf die Neuerungen ein, der Entwickler spricht von einem "großen Update mit erheblichen Spracherweiterungen, außerdem einige sehr interessante Submods (Bibliotheken)". Die wichtigsten Neuerungen im Überblick:
Sprache
- Objektorientierung - Neues Objektsystem mit CLASS, METHOD, EXTENDS und GENERIC für einfache Vererbung und polymorphen Methodenaufruf.
- TYPECASE - Typbasiertes Pattern-Matching mit Vererbungssemantik und automatischem Variablen-Narrowing.
- ATOM-Typ - Leichtgewichtiger symbolischer Konstantentyp (#:name) für Pattern-Matching und Tagging.
- TASKPROC - Neuer SUB-Modifikator für Exec-Task-Einstiegspunkte mit automatischer Registersicherung.
- Struct-Parameter in SUBs - Struct-Typnamen als SUB-Parameter, ohne manuelles DECLARE STRUCT.
- EXIT WHILE / EXIT REPEAT - Vorzeitiger Schleifenabbruch für WHILE- und REPEAT-Schleifen.
- FREE-Anweisung - Gezielte Freigabe einzelner ALLOC-Speicherblöcke.
- SUB/METHOD-Tracing - TRON/TROFF zur Ablaufverfolgung von SUB- und METHOD-Aufrufen.
Compiler
- IEEE 754 Fließkommazahlen - Umstellung von Motorola FFP auf das IEEE 754 Single-Precision-Format im gesamten Compiler.
- VBCC-Toolchain - Der ACE-Compiler wird nun mit dem VBCC-Cross-Compiler gebaut (statt GCC).
- Neues -t Compiler-Flag zur Aktivierung von SUB/METHOD-Tracing.
- CyberGfx-Unterstützung - SCREEN-Modus 13 unterstützt nun auch CyberGraphX (neben Picasso96).
- vasm 2.0e - Aktualisierter Assembler.
Laufzeitbibliothek
- IEEE 754 Laufzeitunterstützung - Alle Fließkomma-Operationen auf IEEE Single-Precision umgestellt.
- Sichere String-Operationen - Laufzeitprüfungen gegen Pufferüberläufe bei String-Zuweisungen.
- amiga.lib statt ami.lib - Bessere Kompatibilität durch Einsatz der Standard-amiga.lib.
- Laufzeitoptimierungen - Lookup-Tabellen, O(1)-Argumentzugriff und verbesserte dynamische Allokation.
Submodule
- fad - Dateisystem-Operationen (Existenzprüfung, Metadaten, Pfadmanipulation, Verzeichnisiteration).
- hashmap - CLASS-basierte Hash-Tabelle mit Open Addressing und typisierter Wertspeicherung.
- dynarray - Dynamisches Array mit Iteration, Suche, Higher-Order-Funktionen und Sortierung.
- json - Vollständiger JSON-Parser, -Generator und Pretty-Printer.
- taskutil - Exec-Task-Hilfsfunktionen (TaskLaunch, TaskGetData, TaskTerminate).
- testkit - Gemeinsame Test-Assertion-Bibliothek für alle Submodule.
- iff - IFF-ILBM-Bildunterstützung (aus dem Compiler extrahiert).
(cg)
[Meldung: 05. Mär. 2026, 23:02] [Kommentare: 8 - 12. Mär. 2026, 20:43]
[Per E-Mail versenden] [Druck-Version] [ASCII-Version]
|