DDP v0.6.0: Duden/Komprimierung, Duden/Json, Konstanten und Index Iterierung
Das Modul Duden/Komprimierung ist nun verfügbar um mit Archiven (zip, gz, ...) zu Arbeiten.
Außerdem gibt es jetzt auch Duden/Json um Json zu Parsen und zu Generieren.
Es gibt zudem neue Syntax für Konstanten:
Die Konstante x ist 5. [Kann nicht verändert werden]
Schreibe x auf eine Zeile.
Schreibe 5 auf eine Zeile. [Equivalent zur Zeile darüber]
Und in iterierenden Schleifen kann jetzt optional ein Index angegeben werden:
Die Text Liste l ist 3 Mal "Hallo".
Für jeden Text t mit Index i in l mache:
Schreibe i.
Schreibe ' '.
Schreibe t.
Schreibe ','.
[Ausgabe: 1 Hallo,2 Hallo,3 Hallo,]
Changelog
- [Neu] Konstante hinzugefügt
- [Neu] Bei Iterierenden Schleifen kann man jetzt einen Index angeben (Für jeden Typname t mit Index i in ...)
- [Anders] Der Kompilierer benutzt jetzt LLVM Version 14.0.0 (anstatt 12.0.0)
- [Neu] Duden/Befehlszeile zum Arbeiten mit Befehlszeilenargumenten
- [Fix] Verschachtelte Struktur Literale verhalten sich jetzt mit Einbindungen korrekt
- [Fix] Variablen in Kombinations Literalen werden nun korrekt umgewandelt
- [Fix, Breaking]
Gib wahr/falsch, wenn ..., zurück
benötigt nun das Komma - [Fix] Fehler mit Referenz Parametern in überladenen Operatoren werden nun korrekt gemeldet
- [Neu] Mehrere Duden Module:
- Duden/Komprimierung: Funktionen um mit Archiven (zip, gzip, xz, bzip2, lz4, 7z) zu arbeiten
- Duden/Json: Parsen/Erstellen von Objekten im Json Format
- Duden/HashTabelle: Implementierung einer HashTabelle von Text zu Variable
- Duden/C: Hilfsfunktionen um mit C Code zu interagieren
- Duden/TextBauer: Implementierung eines Typs um effizient größere Texte zu bauen
- Duden/Uri: Um Uri Komponente zu parsen
- Duden/TextIterator: Um effizient über Texte zu iterieren
- [Neu] Funktionen in Duden/Texte: Text_Worte und Spalten_Spaltmenge_Text
- [Fix] Der "als" Operator kann nun für verschiedene Rückgabetypen überladen werden
- [Fix] Man kann eine Variable, die eine andere überschreibt jetzt mit dieser initialisieren
- [Neu] Man kann jetzt (auch rekursiv) alle Module aus einem Ordner einbinden
- [Fix] Vorwärts Deklarationen geben nun keinen "undefined reference" Fehler mehr, wenn man sie einbindet
Update
Wenn du kddp schon installiert hast kannst du ganz einfach mit dem Befehl kddp update
auf diese Version updaten.
Mehr dazu hier.
Installation
- Das entsprechende Archiv herunterladen und entpacken (wenn auf Windows Mingw64 bereits installiert ist, die -no-mingw Version nehmen)
- Den entstandenen Ordner dorthin verschieben wo er final bleiben soll und eventuell umbenennen (DDP-v0.6.0... -> DDP)
- Das Programm
ddp-setup
im entstandenen Ordner ausführen (auf Windowsddp-setup.exe
) ddp-setup
wird dich durch die Installation führen (wenn du nicht immer 'ja' antworten willst, führe stattdessenddp-setup --force
aus)
Eine ausführlicherere Installations Anleitung gibt es hier.
Beispiel Linux:
wget https://github.com/DDP-Projekt/Kompilierer/releases/latest/download/DDP-v0.6.0-linux-amd64.tar.gz
tar -xzf ./DDP-v0.6.0-linux-amd64.tar.gz
mv ./DDP-v0.6.0-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup