ANTLRDémarrer avec ANTLR


Remarques

ANTLR (ANother Tool for Language Recognition) est un puissant générateur d'analyseurs pour la lecture, le traitement, l'exécution ou la traduction de textes structurés ou de 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 qui peut créer et parcourir des arbres d'analyse.

Antlr Versions
Antlr est séparé en deux grandes parties, la grammaire (fichiers de grammaire) et les fichiers de code générés, qui dérivent de la grammaire basée sur le langage cible. Les versions antlr sont au format de V1.V2.V3:

  • V1: Changer dans V1 signifie que la nouvelle syntaxe des fonctionnalités a été introduite dans les fichiers de grammaire
  • V2: Change in V2 signifie que de nouvelles fonctionnalités ou corrections majeures ont été introduites dans les fichiers générés (par exemple, l'ajout de nouvelles fonctions)
  • V3: correspond à des corrections de bogues ou à des améliorations mineures

Bibliothèques d'exécution et cibles de génération de code
L'outil Antlr est écrit en Java, mais il est capable de générer des analyseurs et des lexers dans différents langages. Pour exécuter l'analyseur et le lexer, vous devez également disposer de la bibliothèque d'exécution d'antlr avec le code analyseur et lexer. Le langage cible pris en charge (et les bibliothèques d'exécution) sont les suivants:

  • Java

  • C #

  • Python (2 et 3)

  • JavaScript

Versions

Version Date de sortie
2.0 1997-05-01
3.0 2011-01-19
4.0 2013-01-21
4.1 2013-07-01
4.2 2014-02-05
4.2.1 2014-03-25
4.2.2 2014-04-07
4.3 2014-06-19
4.4 2014-07-16
4.5 2015-01-23
4.5.1 2016-07-16
4.5.2 2016-01-30
4.5.3 2016-03-31
4.6 2016-12-15
4.7 2017-03-30

Bonjour le monde

Un simple grammaire mondiale peut être trouvé ici :

// define a grammar called Hello
grammar Hello;
r   : 'hello' ID;
ID  : [a-z]+ ;
WS  : [ \t\r\n]+ -> skip ;
 

Pour générer cet exemple .g4, vous pouvez exécuter la commande suivante à partir du terminal / de la ligne de commande de votre système d'exploitation:

Java -jar antlr-4.5.3-complete.jar Hello.g4

//OR if you have setup an alias or use the recommended batch file

antlr4 Hello.g4
 

La construction de cet exemple doit aboutir à la sortie suivante dans le répertoire de fichiers Hello.g4:

  1. Hello.tokens
  2. HelloBaseListener.java
  3. HelloLexer.java
  4. HelloLexer.tokens
  5. HelloListener.java
  6. Bonjour.java

Lorsque vous utilisez ces fichiers dans votre propre projet, veillez à inclure le fichier jar ANTLR. Pour compiler tous ces fichiers à l'aide de Java, dans le même répertoire d'exploitation ou par chemin, exécutez la commande suivante:

javac *.java