Releases: DDP-Projekt/Kompilierer
v1.0.0 Generics
DDP v1.0.0: Generics
DDP ist endlich auf Version 1.0.0! Dieser Release wird dominiert von dem neuen Feature Generics, womit generische Funktionen und Datentypen definiert werden können. Für die meisten DDP Programmierer ist das wahrscheinlich an sich nicht sehr Spannend, allerdings ermöglicht es unglaublich viel im Duden, unter anderem eine generische HashTabelle und zahlreiche generische Funktionen um mit Listen zu arbeiten. Ein Beispiel:
Die öffentliche generische Funktion Liste_Spiegeln mit dem Parameter liste vom Typ T Liste, gibt eine T Liste zurück, macht:
Die T Liste neu ist die Länge von liste Mal der Standardwert von einem T.
Für jede Zahl i von 1 bis die Länge von liste, speichere liste an der Stelle i in neu an der Stelle (die Länge von liste minus i plus 1).
Gib neu zurück.
Und kann so benutzt werden:
"<liste> gespiegelt"
Binde "Duden/HashTabelle" ein.
Die Zahl-Text-HashTabelle ziffern ist der Standardwert von einer Zahl-Text-HashTabelle.
Für jede Zahl i von 0 bis 9, Setze den Wert von i in ziffern auf (i als Text).
Der Text t ist ziffern an der Stelle 1. [ "1" ]
Neben Generics gibt es jetzt auch einen neuen Datentyp. Ein Byte
ist beim Programmieren einfach universell nötig und wird jetzt auch von DDP unterstützt.
Zudem ist es mit dem neuen Module Duden/Netzwerk
jetzt mit TCP und UDP Sockets zu arbeiten:
Binde "Duden/Netzwerk" ein.
Binde "Duden/Fehlerbehandlung" ein.
Binde "Duden/Texte" ein.
Binde "Duden/Ausgabe" ein.
Schreibe ab jetzt alle Fehler.
Der Socket sock ist ein TCP Socket.
Setze sock auf "localhost" 8080.
Lass sock auf maximal 1 Verbindung warten.
Der Socket verbindung ist die nächste Verbindung auf sock.
Schreibe "Verbindung erhalten" auf eine Zeile.
Schließe sock.
Solange es dabei keinen Fehler gab, mache:
Der Text daten ist der nächste maximal 1024 Bytes lange Text aus verbindung.
Schreibe daten.
Wenn daten leer ist, dann:
Schreibe "Verbindung geschlossen" auf eine Zeile.
Verlasse die Schleife.
Sende daten über verbindung.
Schließe verbindung.
Changelog
- [Fix] Duden/Uri parset nun absolute Uris der Form /pfad?query korrekt
- [Neu] Duden/Netzwerk stellt Typen und Funktionen für (low-level) TCP und UDP Kommunikation zur Verfügung.
- [Fix] Konstanten können nun nicht mehr in Zuweisungen oder als Referenzen verwendet werden
- [Neu] Numerische Datentypen werden in Zuweisungen jetzt automatisch in einander umgewandelt
- [Neu] Es gibt jetzt den Byte Datentyp, der eine natürliche Zahl im Bereich 0 bis einschließlich 255 darstellt
- [Neu] Typanpassende Ausdrücke können nun als Referenzen übergeben werden, solange sie nur Typaliase bzw. Typdefinitionen behandeln
- [Fix] Bug im Kompilierer, bei dem VTables für primitive Typen falsch generiert wurden
- [Fix] Bug in Duden/Listen -> Elementweise_Quotient_Kommazahl wurde in der generischen Implementation behoben
- [Breaking] Duden/Sortierung, Duden/HashTabelle und Duden/Listen verwenden nun generische Funktionen und Kombinationen
- [Neu] Externe generische Funktionen können in C mit generischen Listen und generischen Referenz Parametern arbeiten
- [Neu] Generische Kombinationen, die Felder beliebigen Typs besitzen können
- [Neu] Generische Funktionen, die mit Parametern beliebigen Typs arbeiten können
- [Neu] Die Aliase für Kombinationen sind jetzt optional
- [Neu] Bei Feldern von Kombinationen kann der explizite Standardwert jetzt weggelassen werden
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-v1.0.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-v1.0.0-linux-amd64.tar.gz
tar -xzf ./DDP-v1.0.0-linux-amd64.tar.gz
mv ./DDP-v1.0.0-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup
Nützliche Links
v0.6.0
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
Nützliche Links
v0.5.0-alpha
DDP v0.5.0-alpha: Typ-Aliase/Definitionen, Operatoren Überladung, "Variablen"-Typ und Vorwärts Deklarationen
In diesem DDP Release ist eine ganze Menge neuer Features enthalten:
Typ-Aliase und Definitionen erlabuen es nun, schnell und einfach neue Typen zu erstellen um die Lesbarkeit zu verbessern:
[ Hausnummer ist nun ein anderer Name für Zahl ]
Wir nennen eine Zahl öffentlich auch eine Hausnummer.
Die Hausnummer h ist 22.
[ Ein Zeiger ist nun nicht bloß ein neuer Name sondern ein ganz neuer Typ ]
Wir definieren einen Zeiger als eine Zahl.
Der Zeiger z ist 0 als Zeiger.
Mit Operatoren Überladung kann man existierenden Operatoren beliebiges Verhalten zuweisen oder eigene Typen benutzbar machen:
[ Überlädt den "Länge" Operator für den Typ Zahl ]
Die Funktion zahl_länge mit dem Parameter z vom Typ Zahl, gibt eine Zahl zurück, macht:
Gib z zurück.
Und überlädt den "Länge" Operator.
[ "die Länge von 2" ruft nun die zahl_länge Funktion mit dem Argument 2 auf ]
Die Zahl z ist die Länge von 2.
Schreibe z. [Gibt 2 aus]
Wir definieren einen Zeiger als eine Zahl.
Die Funktion meine_Umwandlung mit dem Parameter z vom Typ Zeiger gibt einen Text zurück, macht:
Wenn z als Zahl gleich 0 ist, gib "null" zurück.
Gib z als Zahl als Text zurück.
Und überlädt den "als" Operator.
Der Zeiger null ist 0 als Zeiger.
Schreibe (null als Text). [Gibt "null" aus]
Der neue Typ "Variable" macht es möglich Werte von beliebigem Typ zu behandeln:
Die Variable v ist 2.
Schreibe (v als Zahl). [Gibt 2 aus]
Speichere "Hallo" in v.
Schreibe (v als Text). [Gibt "Hallo" aus]
Speichere wer weiß welchen Typ in v.
Wenn v ein Text ist, dann Schreibe "v ist ein Text!".
Sonst Schreibe "Keine Ahnung was v sein könnte".
Und zu guter Letzt gibt es nun auch Forwärts-Deklarationen, damit zwei Funktionen sich gegenseitig aufrufen können:
Die Funktion foo mit dem Parameter a vom Typ Zahl, gibt eine Zahl zurück,
wird später definiert
und kann so benutzt werden:
"foo <a>"
Die Funktion baz mit dem Parameter a vom Typ Zahl, gibt eine Zahl zurück, macht:
Wenn a gleich 0 ist, dann:
Schreibe "baz fertig" auf eine Zeile.
Gib 0 zurück.
Gib foo (a minus 1) zurück.
Und kann so benutzt werden:
"baz <a>"
foo 3.
baz 3.
Die Funktion foo macht:
Wenn a gleich 0 ist, dann:
Schreibe "foo fertig" auf eine Zeile.
Gib 0 zurück.
Gib baz (a minus 1) zurück.
Changelog
- [Added] Vorwärts Deklarationen
- [Added] _Ref Versionen für einige Duden/Listen und Duden/Texte Funktionen
- [Changed] Iterierenden Schleifen über Texte haben nun eine Zeitkomplexität von O(n) (anstatt O(n^2))
- [Fix] utf8 Texte
- [Fix] Aliase mit Referenz Parametern werden nun in mehr Fällen bevorzugt
- [Fix] Der Kompilierer crashet nicht mehr wenn indirekt importierte Symbole in eingebundenen Kombinations Aliasen verwendet werden
- [Changed] Duden/Zeichen und Duden/Texte um Konflikte mit dem neuen Variablen Typ zu vermeiden:
- Buchstabe_Ist_Zahl -> Buchstabe_Ist_Ziffer (Alias ebenfalls angepasst)
- Text_Ist_Zahl: Alias angepasst
- [Added] Duden/Dateisystem Datei_Lies_Alles
- [Added] "Variable" als Typ, der zur Laufzeit jeder beliebige andere Typ sein kann
- [Added] ... als Platzhalter
- [Fix] Bug im Parser, der rekursiv allen Arbeitsspeicher verbraucht
- [Added] Operatoren-Überladung
- [Changed] Die Typen, die von Funktionen, Variablen und anderen Typen benutzt werden müssen jetzt nicht mehr extra eingebunden werden
- [Added] Typ-Aliase und Typ-Definitionen
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.5.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.5.0-alpha-linux-amd64.tar.gz
tar -xzf ./DDP-v0.5.0-alpha-linux-amd64.tar.gz
mv ./DDP-v0.5.0-alpha-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup
Nützliche Links
DDP v0.4.0-alpha: Alias Negationen
DDP v0.4.0-alpha: Alias Negationen
Dieser DDP Release bringt einige Features, die das DDP Programmieren angenehmer machen und Boilerplate Code entfernen. Namentlich den Falls ... ansonsten
Operator (ternary Operator oder ? :
in anderen Sprachen), einen entweder ... oder
Operator um boolesches XOR umzusetzen, und am nützlichsten: Aliasnegationen.
Mit Aliasnegationen wird aus diesem Code:
Die öffentliche Funktion Ist_Text_Leer mit dem Parameter text vom Typ Text, gibt einen Wahrheitswert zurück, macht:
Gib wahr, wenn die Länge von text gleich 0 ist zurück.
Und kann so benutzt werden:
"<text> leer ist"
Die öffentliche Funktion Ist_Text_Nicht_Leer mit dem Parameter text vom Typ Text, gibt einen Wahrheitswert zurück, macht:
Gib nicht text leer ist zurück.
Und kann so benutzt werden:
"<text> nicht leer ist"
dieser:
Die öffentliche Funktion Ist_Text_Leer mit dem Parameter text vom Typ Text, gibt einen Wahrheitswert zurück, macht:
Gib wahr, wenn die Länge von text gleich 0 ist zurück.
Und kann so benutzt werden:
"<text> <!nicht> leer ist"
Changelog
-
[Added] Aliasnegationen
-
[Added]
entweder ..., oder
Operator -
[Changed] "ist" nach Vergleichen ist jetzt Optional, falls davor bereits ein "ist" steht
-
[Added] Syntax um Variablen und Funktionen als "extern sichtbar" zu markieren, und somit name-mangling für diese auszuschalten
-
[Fix] Linker Fehler bei mehreren öffentlichen Symbolen mit demselben Namen
-
[Added] Falls Operator. Funktioniert so wie der Ternary Conditional Operator (?:) in anderen Sprachen.
-
[Added] in Duden/Dateisystem:
- Datei Kombination
- Datei_Oeffnen
- Datei_Oeffnen_Lesen
- Datei_Oeffnen_Schreiben
- Datei_Oeffnen_Lesen_Schreiben
- Datei_Oeffnen_Rückgabe
- Datei_Oeffnen_Lesen_Rückgabe
- Datei_Oeffnen_Schreiben_Rückgabe
- Datei_Oeffnen_Lesen_Schreiben_Rückgabe
- Datei_Schliessen
- Datei_Zuende
- Datei_Nicht_Zuende
- Datei_Lies_N_Zeichen
- Datei_Lies_Zeile
- Datei_Lies_N_Zeilen
- Datei_Lies_Wort
- Datei_Lies_N_Worte
- Datei_Lies_Zahl
- Datei_Lies_N_Zahlen
- Datei_Lies_Kommazahl
- Datei_Lies_N_Kommazahlen
- Datei_Schreibe_Zahl
- Datei_Schreibe_Text
- Datei_Schreibe_Kommazahl
- Datei_Schreibe_Buchstabe
- Datei_Schreibe_Wahrheitswert
- Datei_Schreibe_Zeile_Zahl
- Datei_Schreibe_Zeile_Text
- Datei_Schreibe_Zeile_Kommazahl
- Datei_Schreibe_Zeile_Buchstabe
- Datei_Schreibe_Zeile_Wahrheitswert
-
[Added] Runden in Mathe/Duden hinzugefügt
-
[Fix] Funktionsparameter können nun nicht mehr Funktions- oder Kombinationsdeklarationen überschreiben
v0.3.0-alpha
DDP v0.3.0-alpha: Standardbibliothek
In diesem Release sind hauptsächlich einige Bug-fixes und einige neue Duden Funktionen, unter anderem in:
- Duden/Pfade
- Duden/Texte
- Duden/Listen
- Duden/Kryptographie
- Duden/Regex
Changelog
- [Breaking] Folgende Duden Funktionen wurden umbennant:
- Pfade:
- Ist_Absolut -> UNIX_Ist_Absolut
- Säubern -> UNIX_Säubern
- Verbinden -> UNIX_Verbinden
- Ordner_Pfad -> UNIX_Ordnerpfad
- Basis_Pfad -> UNIX_Basisname
- Erweiterung -> UNIX_Erweiterung
- Datei_Name -> UNIX_Dateiname
- Mathe:
- sin -> Sinus
- cos -> Kosinus
- tan -> tangens
- asin -> Arkussinus
- acos -> Arkuskosinus
- atan -> Arkustangens
- sinh -> Hyperbelsinus
- cosh -> Hyperbelkosinus
- tanh -> Hyperbeltangens
- Pfade:
- [Added] Folgende Duden Funktionen wurden hinzugefügt (siehe die Bedienungsanleitung für eine Beschreibung):
- Pfade:
- UNIX_Vollständiger_Pfad
- Windows_Ist_Absolut
- Windows_Saeubern
- Windows_Pfad_Verbinden
- Windows_Laufwerkbuchstabe
- Windows_Vollständiger_Pfad
- Windows_Ordnerpfad
- Windows_Basisname
- Windows_Dateiname
- Windows_Erweiterung
- Wrapper Funktionen für Windows/Linux Funktionen
- Laufzeit:
- Arbeitsverzeichnis
- Zeichen:
- Leerzeichen
- Neue_Zeile
- Wagenrücklauf
- Tabulator
- Rückstrich
- Anführungszeichen
- Apostroph
- ASCII_Größer
- ASCII_Kleiner,
- Ist_Lateinischer_Buchstabe
- Ist_Lateinischer_Buchstabe_Oder_Zahl
- Regex:
- Ist_Regex
- Regex_Erster_Treffer
- Regex_N_Treffer
- Regex_Alle_Treffer
- Regex_Erster_Treffer_Ersetzen
- Regex_Alle_Treffer_Ersetzen
- Regex_Spalten
- Kryptographie:
- SHA_256
- SHA_512
- Listen:
- Aufsteigende_Zahlen
- Absteigende_Zahlen, Linspace
- Logspace, Erste_N_Elemente_X
- Letzten_N_Elemente_X
- Spiegeln_X
- Summe_Zahlen_Liste
- Produkt_Zahlen_Liste
- Summe_Kommazahlen_Liste
- Produkt_Kommazahlen_Liste
- Verketten_Text_Liste
- Elementweise_Summe_Zahl/Kommazahl
- Elementweise_Differenz_Zahl/Kommazahl
- Elementweise_Produkt_Zahl/Kommazahl
- Elementweise_Quotient_Zahl/Kommazahl
- Elementweise_Verketten_Text
- Mathe:
- Min3
- Min3_Kommazahl
- Max3
- Max3_Kommazahl
- Bogenmaß_Zu_Grad
- Winkel, Kehrwert_Zahl
- Kehrwert_Kommazahl
- Natürlicher_Logarithmus
- Gaußsche_Fehlerfunktion
- Fakultät (Danke Franz Müller!)
- Texte:
- Hamming_Distanz
- Levenshtein_Distanz
- Vergleiche_Text
- Text_Anzahl_Buchstabe
- Text_Anzahl_Text
- Text_Anzahl_Text_Nicht_Überlappend
- Buchstaben_Text_BuchstabenListe
- Buchstaben_Text_TextListe
- Text_Index_Von_Text
- Spalte_Text
- Erster_Buchstabe
- Nter_Buchstabe
- Letzter_Buchstabe
- Finde_Subtext
- Pfade:
- [Fix] Der zwischen Operator crasht nun nicht mehr bei Kommazahl/Zahl kombinationen
- [Fix] Die Reihenfolge der 2 letzten Argumente beim zwischen Operator ist jetzt egal
- [Added] Optionale Optimierungsstufe 2 optimiert das Kopieren von komplexeren Datentypen
- [Added] Befehlszeilenargument "-O/--optimierungs-stufe" um die Optimierungsstufe zu setzen
- [Changed] Befehlszeilenargumente benutzen nun "-" anstatt "" (z.B.
--nichts-loeschen
anstatt--nichts_loeschen
). "" kann allerdings immernoch benutzt werden - [Added] der Standardwert Operator gibt den Standardwert eines Typen zurück
- [Breaking] Der Größe Operator nimmt nun einen Typ als Operanden
- [Fix] Bug beim Vergleichen von Kombinationen
- [Fix] Externe Funktionsnamen in random.c
- [Fix] Bei allen geklammerten Argumenten werden Fehler jetzt korrekt gemeldet
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.3.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.3.0-alpha-linux-amd64.tar.gz
tar -xzf ./DDP-v0.3.0-alpha-linux-amd64.tar.gz
mv ./DDP-v0.3.0-alpha-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup
Nützliche Links
LLVM Binaries
pre-compiled LLVM Binaries
Die UCRT Versionen sind kompatibel mit dem mingw Chocolatey package (choco install mingw --version 12.2.0
) und der MinGW Version die auf dem windows-2022
github actions runner vorinstalliert ist.
Die MSVCRT Versionen wurden für alle Releases <= v0.3.0-alpha verwendet.
- llvm_build-mingw-12.2.0-x86_64-msvcrt-posix-seh.tar.gz: gebaut mit GCC 12.2.0 - MinGW-w64 10.0.0 MSVCRT
- llvm_build-mingw-12.2.0-x86_64-ucrt-posix-seh.tar.gz: gebaut mit GCC 12.2.0 - MinGW-w64 10.0.0 UCRT
- llvm_build-mingw-12.2.0-x86_64-ucrt-posix-seh.tar.gz: gebaut unter Linux Mint mit GCC 11.4.0
v0.2.0-alpha
DDP v0.2.0-alpha: Fehlerbehandlung
In diesem Release sind hauptsächlich einige Bug-fixes und das neue Modul Duden/Fehlerbehandlung enthalten, zu welchem es noch einen eigenen Artikel in der Bedienungsanleitung geben wird.
Changelog
- [Fix] Bei geklammerten Referenz Argumenten werden Fehler jetzt korrekt gemeldet
- [Breaking] Duden/Fehlerbehandlung wird nun überall im Duden benutzt
- [Fix] Erstelle_Ordner gibt keinen Fehler mehr zurück, wenn einer der Ordner bereits existiert
- [Added] Duden/Fehlerbehandlung
- [Fix] crash bei Einbindungen von öffentlichen Kombinationen
- [Added]: zwischen operator hinzugefügt
- [Fix] typecheck crash bei Typumwandlungen zu invaliden Typen
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.2.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.2.0-alpha-linux-amd64.tar.gz
tar -xzf ./DDP-v0.2.0-alpha-linux-amd64.tar.gz
mv ./DDP-v0.2.0-alpha-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup
Nützliche Links
v0.1.0-alpha
DDP v0.1.0-alpha: Strukturen
Dies ist der zweite Release von DDP, mit vielen Bug-Fixes, kleineren Änderungen und dem großen Feature Strukturen.
Momentan ist kddp noch in der Alpha Version, es gibt also keinerlei Garantien für Funktionalität. Features sind recht minimal und Bugs in der Sprache so wie im Compiler sind zu erwarten.
Changelog
- [Added]: Beliebige utf-8 Symbole sind jetzt in Aliasen erlaubt
- [Breaking]
Boolean
zuWahrheitswert
umbennant - [Fix]
kddp update
ignoriert die -jetzt flag nicht mehr - [Fix]
kddp update
updated jetzt auch den Duden - [Added] Datei_Kopieren Funktion zu Duden/Dateisystem
- [Fix] Bessere Fehlermeldungen #28
- [Added] Datei-info Funktionen zu Duden/Dateisystem
- [Fix] Double-Free Fehler in externen Funktionen
- [Breaking]
von...bis
wurde zuim Bereich von...bis
umbenannt - [Added] Syntax wie in Deklarationen für boolesche Rückgabewerte
- [Added]
bis...zum
undab...dem
- [Fix] Alias Deklarationen
- [Breaking] Namenskonvention im Duden
- [Changed] Verbesserungen am Visitor interface (für den LS)
- [Fix] Typos
- [Breaking] Duden/Extremwerte nach Duden/Zahlen verschoben
- [Added] Duden/Zahlen
- [Added] Mehr Duden/Texte und Duden/Zeichen tests
- [Fix] Duden/Texte edge-cases
- [Fix] Verschiedene Crashes
- [Added] Strukturen #5
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.1.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.1.0-alpha-linux-amd64.tar.gz
tar -xzf ./DDP-v0.1.0-alpha-linux-amd64.tar.gz
mv ./DDP-v0.1.0-alpha-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup
Nützliche Links
v0.0.1-alpha
DDP v0.0.1-alpha
Dies ist der erste Release von DDP.
Momentan ist kddp noch in der Alpha Version, es gibt also keinerlei Garantien für Funktionalität. Features sind recht minimal und Bugs in der Sprache so wie im Compiler sind zu erwarten.
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.0.1... -> 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.0.1-alpha-linux-amd64.tar.gz
tar -xzf ./DDP-v0.0.1-alpha-linux-amd64.tar.gz
mv ./DDP-v0.0.1-alpha-linux-amd64 ~/DDP
cd ~/DDP
./ddp-setup