- Ein Werkzeug für alle, die ein neues Programmiersprachenprojekt starten möchten
- Damit lassen sich Sprach-Erweiterungen für Code-Editoren, Compiler und Interpreter für Programmiersprachen und sogar neue Code-Editoren entwickeln
Hauptfunktionen
- Parser-Generator mit Makros: Die lexikalische und syntaktische Grammatik der Sprache wird mithilfe von abgeleiteten Makros für
enum-Typen definiert, wobei enum-Varianten Knoten mit individuellen Tokens und Parsing-Regeln darstellen
- Handgeschriebener Parser: Über die API lassen sich manuell geschriebene rekursiv absteigende Parser mit unbegrenztem Lookahead entwickeln und nahtlos mit makro-generierten Parsern integrieren
- Fehlerrobustheit: Der resultierende Parser ist fehlertolerant und kann auch aus unvollständigem Quellcode einen Syntaxbaum aufbauen
- Framework für semantische Analyse: Enthält einen integrierten semantischen Analysator, der beliebige bedarfsorientierte Berechnungen auf dem Syntaxbaum im Hinblick auf Referenzattribute verwaltet
- Inkrementelle Kompilierung: Reagiert auf inkrementelle Bearbeitungen des Dateitexts durch den Endnutzer, indem die In-Memory-Darstellung der Codebasisstruktur fortlaufend angepasst wird. Die Verarbeitung von Änderungen ist auch bei großen Codebasen schnell
- Parallele Berechnung: Speziell für Multi-Thread- und Single-Thread-Programme konzipiert
- Web-Assembly-Kompatibilität: Kompatibel mit wasm-Zielen und insbesondere mit Browser-Umgebungen
- Quellcode-Formatter: Enthält Werkzeuge zur Entwicklung von Code-Formatierungsprogrammen, die Code-Kommentare und Leerzeilen berücksichtigen
- Annotierte Codeausschnitte: Bietet eine API zum Ausgeben von Quellcodeausschnitten mit Syntaxhervorhebung und Anmerkungen, um Syntax- und semantische Fehler einer Codebasis im Terminal anzuzeigen
- Eigenständige API: Bietet eine eigenständige, erweiterbare und hochgradig konfigurierbare API zur Entwicklung des Frontends von Programmiersprachen-Compilern und von Sprach-Erweiterungen für Code-Editoren. Abgesehen von der Rust-Standardbibliothek und dem Makro-Crate gibt es keine Abhängigkeiten von Drittanbietern
1 Kommentare
Deirdre (irisch: Deirdre [ˈdʲɛɾˠdʲɾʲə]) ist die bekannteste tragische Heldin der irischen Mythologie. Ihre Geschichte ist Teil des Ulster-Zyklus.