ANTLR (ANother Tool for Language Recognition) ist ein leistungsstarker Parser-Generator zum Lesen, Verarbeiten, Ausführen oder Übersetzen von strukturiertem Text oder Binärdateien. Es wird häufig zum Erstellen von Sprachen, Tools und Frameworks verwendet. Aus einer Grammatik generiert ANTLR einen Parser, der Parse-Bäume erstellen kann, und generiert außerdem eine Listener-Schnittstelle (oder einen Besucher), die es einfach macht, auf die Erkennung von interessierenden Phrasen zu reagieren.
Build-Status des Entwicklungszweigs
(Github-Aktionen)
ANTLR 4 unterstützt 10 Zielsprachen (Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, Go), und die Sicherstellung der Konsistenz über diese Ziele hinweg ist eine einzigartige und äußerst wertvolle Funktion. Um eine ordnungsgemäße Unterstützung dieser Funktion sicherzustellen, ist jede ANTLR-Version eine vollständige Version des Tools und der 10 Laufzeiten, alle mit derselben Version. Daher folgt die ANTLR-Versionierung nicht strikt der Semver-Semantik:
Wenn Sie in Ihrem CI einen Semver-Verifizierer verwenden, möchten Sie wahrscheinlich spezielle Regeln für ANTLR anwenden, z. B. die Behandlung geringfügiger Änderungen als größere Änderungen.
Der Standardzweig für dieses Repo ist master
, die neueste stabile Version mit Tags für die verschiedenen Versionen; Siehe z. B. Release-Tag 4.9.3. Bei Branch dev
findet die Entwicklung zwischen Releases statt und alle Pull Requests sollten von diesem Branch abgeleitet werden. Der dev
wird wieder mit master
zusammengeführt, um ein Release auszuschneiden, und der Release-Status wird markiert (z. B. mit 4.10-rc1
oder 4.10
). Visuell sieht unser Prozess ungefähr so aus:
Das Go-Ziel verfügt jetzt über ein eigenes dediziertes Repo:
$ go get github.com/antlr4-go/antlr
Hinweis: Das dedizierte Go-Repo dient nur zum go get
und import
. Die Go-Laufzeitentwicklung wird weiterhin im Haupt antlr/antlr4
Repo durchgeführt.
Die folgenden Seiten könnten auch für Sie nützlich sein, insbesondere wenn Sie sich mit den verschiedenen Zielsprachen herumschlagen möchten.
Programmierer haben ständig Parsing-Probleme. Ob es sich um ein Datenformat wie JSON, ein Netzwerkprotokoll wie SMTP, eine Serverkonfigurationsdatei für Apache, eine PostScript-/PDF-Datei oder eine einfache Tabellenmakrosprache handelt – ANTLR v4 und dieses Buch werden den Prozess entmystifizieren. ANTLR v4 wurde von Grund auf neu geschrieben, um die Erstellung von Parsern und den darauf aufbauenden Sprachanwendungen einfacher denn je zu machen. Diese komplett neu geschriebene Neuauflage des Bestsellers Definitive ANTLR Reference zeigt Ihnen, wie Sie diese neuen Funktionen nutzen können.
Sie können das Buch The Definitive ANTLR 4 Reference bei Amazon oder eine elektronische Version auf der Website des Verlags kaufen.
Sie werden den Buchquellcode nützlich finden.
Dieses Repository ist eine Sammlung von Grammatiken ohne Aktionen, wobei der Name des Stammverzeichnisses der vollständig in Kleinbuchstaben geschriebene Name der von der Grammatik analysierten Sprache ist. Zum Beispiel Java, CPP, Csharp, C usw.