ANTLR (ANother Tool for Language Recognition) est un puissant générateur d'analyseur pour lire, traiter, exécuter ou traduire du texte structuré ou des fichiers binaires. Il est largement utilisé pour créer des langages, des outils et des frameworks. À partir d'une grammaire, ANTLR génère un analyseur capable de construire des arbres d'analyse et génère également une interface d'écoute (ou visiteur) qui permet de répondre facilement à la reconnaissance de phrases d'intérêt.
État de construction de la branche de développement
(actions github)
ANTLR 4 prend en charge 10 langages cibles (Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, Go), et garantir la cohérence entre ces cibles est une fonctionnalité unique et très précieuse. Pour garantir une bonne prise en charge de cette fonctionnalité, chaque version d'ANTLR est une version complète de l'outil et des 10 runtimes, tous avec la même version. En tant que tel, le versioning ANTLR ne suit pas strictement la sémantique de Semver :
Si vous utilisez un vérificateur Semver dans votre CI, vous souhaiterez probablement appliquer des règles spéciales pour ANTLR, comme traiter un changement mineur comme un changement majeur.
La branche par défaut de ce dépôt est master
, qui est la dernière version stable et comporte des balises pour les différentes versions ; par exemple, voir la balise de version 4.9.3. dev
de la branche est l'endroit où le développement a lieu entre les versions et toutes les demandes d'extraction doivent provenir de cette branche. La branche dev
est fusionnée dans master
pour supprimer une version et l'état de la version est étiqueté (par exemple, avec 4.10-rc1
ou 4.10
.) Visuellement, notre processus ressemble à ceci :
La cible Go dispose désormais de son propre dépôt dédié :
$ go get github.com/antlr4-go/antlr
Remarque Le dépôt Go dédié est uniquement destiné go get
et import
. Le développement du runtime Go est toujours effectué dans le dépôt principal antlr/antlr4
.
Les pages suivantes pourraient également vous être utiles, en particulier si vous souhaitez vous familiariser avec les différentes langues cibles.
Les programmeurs rencontrent constamment des problèmes d’analyse. Qu'il s'agisse d'un format de données comme JSON, d'un protocole réseau comme SMTP, d'un fichier de configuration de serveur pour Apache, d'un fichier PostScript/PDF ou d'un simple langage de macro de feuille de calcul, ANTLR v4 et ce livre démystifieront le processus. ANTLR v4 a été réécrit à partir de zéro pour rendre plus facile que jamais la création d'analyseurs et d'applications linguistiques construites dessus. Cette nouvelle édition entièrement réécrite du best-seller Definitive ANTLR Reference vous montre comment tirer parti de ces nouvelles fonctionnalités.
Vous pouvez acheter le livre The Definitive ANTLR 4 Reference sur Amazon ou une version électronique sur le site de l'éditeur.
Vous trouverez le code source du livre utile.
Ce référentiel est une collection de grammaires sans actions où le nom du répertoire racine est le nom entièrement en minuscules de la langue analysée par la grammaire. Par exemple, java, cpp, csharp, c, etc...