Recherche…


Remarques

ANTLR v4 est un outil puissant permettant de créer de nouveaux langages de programmation et de traiter / traduire du texte structuré ou des fichiers binaires. ANTLR utilise une grammaire que vous créez pour générer un analyseur capable de créer et de parcourir un arbre d'analyse syntaxique (ou arbre syntaxique abstrait, AST). L'analyseur se compose de fichiers de sortie dans une langue cible que vous spécifiez. ANTLR v4 prend en charge plusieurs cibles, notamment: Java, C #, JavaScript, Python2 et Python3. Le support de C ++ est en cours de développement. Pour travailler dans des IDE GUI, il existe des plug-ins pour Visual Studio, Intellij, NetBeans et Eclipse.

Pour des informations générales, visitez le site Web d'ANTLR . Pour prendre au sérieux ANTLR, consultez le livre hautement recommandé écrit par Terrence Parr (le gars qui a créé ANTLR) The Definitive ANTLR 4 Reference .


Informations importantes sur la version

  • 4.5: 22/01/15 - Ajout d'une cible JavaScript et mise à niveau de la cible C #. 4.5 Notes de version
  • 4.4: 16/07/14 - Ajout de Python2 et Python3 comme cibles. 4.4 Notes de version
  • 4.3: 18/06/14 - Correction de bugs majeurs; préparé pour l'ajout de nouvelles cibles. 4.3 Notes de version
  • 4.2: 02/04/14 - Amélioration de la syntaxe pour la sélection / correspondance des arbres d'analyse. 4.2 Notes de version
  • 4.1: 30/06/13 - Amélioration des performances d’analyse; exporter des AST vers PNG. 4.1 Notes de publication
  • 4.0: 21/01/13 - Version initiale.

Installation pour utilisation en ligne de commande

ANTLR est distribué sous forme de fichier Java Jar. Il peut être téléchargé ici . Comme ANTLR est compilé en tant que fichier jar, il faut ensuite que l'environnement d'exécution Java fonctionne, si vous ne le possédez pas. Il peut être téléchargé ici .

Une fois le fichier ANTLR JAR téléchargé, vous pouvez exécuter ANTLR à partir de la ligne de commande de la même manière que tout autre fichier JAR:

Java -jar antlr-4.5.3-complete.jar

(En supposant que vous travaillez dans le même répertoire que le fichier antlr-4.5.3-complete.jar).

Cela devrait produire quelque chose de similaire à ceci:

ANTLR Parser Generator  Version 4.5.3
 -o ___              specify output directory where all output is generated
 -lib ___            specify location of grammars, tokens files
 -atn                generate rule augmented transition network diagrams
 -encoding ___       specify grammar file encoding; e.g., euc-jp
 -message-format ___ specify output style for messages in antlr, gnu, vs2005
 -long-messages      show exception details when available for errors and warnings
 -listener           generate parse tree listener (default)
 -no-listener        don't generate parse tree listener
 -visitor            generate parse tree visitor
 -no-visitor         don't generate parse tree visitor (default)
 -package ___        specify a package/namespace for the generated code
 -depend             generate file dependencies
 -D<option>=value    set/override a grammar-level option
 -Werror             treat warnings as errors
 -XdbgST             launch StringTemplate visualizer on generated code
 -XdbgSTWait         wait for STViz to close before continuing
 -Xforce-atn         use the ATN simulator for all predictions
 -Xlog               dump lots of logging info to antlr-timestamp.log

Les autres actions recommandées pour la configuration incluent:

     1. Add antlr4-complete.jar to CLASSPATH, either: Permanently: 
Using System Properties dialog > Environment variables > Create or append to CLASSPATH variable Temporarily, at command line: SET CLASSPATH=.;C:\Javalib\antlr4-complete.jar;%CLASSPATH% 
     3.Create batch commands for ANTLR Tool, TestRig in dir in PATH
         antlr4.bat: java org.antlr.v4.Tool %*
         grun.bat:   java org.antlr.v4.gui.TestRig %*

Après l'installation, vous pouvez créer une application en utilisant votre fichier de grammaire .g4:

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

Vous pouvez également créer une application dans d'autres langages avec le paramètre -Dlanguage. Par exemple, pour générer des fichiers C #, vous feriez quelque chose comme ceci:

java -jar antlr-4.5.3-complete.jar yourGrammar.g4 -Dlanguage=CSharp

Voir ici pour la liste complète des grammaires pré-établies pour les langages de programmation courants.

Installation à l'aide d'outils Build Automation

Téléchargez la dernière version d'ANTLR et extrayez-la dans un dossier.

Vous pouvez également utiliser Maven, Gradle ou un autre outil de génération pour dépendre de son org.antlr:antlr4-runtime exécution (les classes utilisées par les grammaires): org.antlr:antlr4-runtime .

Pour générer automatiquement l'analyseur dans un projet Maven , utilisez le plugin Maven : org.antlr:antlr4 .

Installer dans Eclipse et construire Hello World

(Testé avec ANTLR 4.5.3, Eclipse Neon, ANTLR 4 IDE 0.3.5 et Java 1.8)

  1. Téléchargez le dernier ANTLR . Assurez-vous d'obtenir le fichier binaire complet ANTLR Java. Enregistrez dans n'importe quel emplacement approprié, par exemple le dossier où sont stockées les autres bibliothèques Java. Peu importe où, rappelez-vous simplement l'emplacement.
  1. Installez l'IDE ANTLR dans Eclipse.

    • Dans le menu Eclipse, cliquez sur Aide et sélectionnez Marché Eclipse.
    • Dans la zone Rechercher: tapez antlr et cliquez sur OK.
    • Cliquez sur Installer pour ANTLR 4 IDE.
    • Cliquez sur Terminer dans la fenêtre Confirmation des entités sélectionnées.
    • Si une fenêtre d'avertissement de sécurité apparaît, cliquez sur OK.
    • Redémarrez Eclipse.
  2. Contournez l'erreur «Impossible de créer un injecteur…».

    • Lors de l'accès aux préférences ANTLR 4 dans Eclipse ou lorsque la variable d'environnement HOME n'est pas définie, l'erreur suivante se produit: Échec de la création de l'injecteur pour com.github.jknack.antlr-4ide.Antlr4 pour com.github.jknack.antlr-4ide.Antlr4 .
    • Assurez-vous que la variable d'environnement HOME est définie. Sinon, configurez-le selon vos besoins.
    • Téléchargez Xtext 2.7.3 au même endroit que antlr-nnn-complete.jar.
    • Dans Eclipse, cliquez sur Aide et sélectionnez Installer un nouveau logiciel.
    • Cliquez sur Ajouter… pour accéder à la fenêtre Ajouter un référentiel.
    • Tapez un nom, xtext 2.7.3 par exemple, puis cliquez sur Archive…, accédez au fichier Xtext 2.7.3 et sélectionnez-le, puis cliquez sur OK.
    • Dans la fenêtre d'installation, cliquez sur le bouton Sélectionner tout, puis sur Suivant> deux fois, acceptez le contrat de licence. et cliquez sur Terminer.
    • Redémarrez Eclipse.
  3. Dites à Eclipse / Java où est ANTLR.

    • Dans Eclipse, cliquez sur Fenêtre et sélectionnez Préférences.
    • Dans le volet gauche, développez Java et Build Path, puis sélectionnez Classpath Variables.
    • Dans le volet droit, cliquez sur Nouveau…, entrez un nom, puis cliquez sur Fichier… et accédez à votre emplacement antlr-nnn-complete.jar. Cliquez sur OK pour revenir à la fenêtre Variables du chemin de classes.
    • Cliquez sur OK pour quitter les Préférences.
  4. (Facultatif) Configurez le répertoire des sources générées par ANTLR IDE.

    • Dans la fenêtre principale d'Eclipse, cliquez sur Window puis sur Preferences.
    • Dans le volet gauche, développez ANTLR 4 et sélectionnez Outil.
    • Sous Options, modifiez le répertoire si vous le souhaitez. Par exemple, java est ma langue cible, donc j'utilise ./antlr-java.
    • Cliquez sur OK pour fermer la fenêtre Préférences.
  5. Créez un projet ANTLR 4.

    • Dans la fenêtre principale d'Eclipse, accédez à Fichier, Nouveau, Projet.
    • Dans la fenêtre Nouveau projet, développez Général et sélectionnez Projet ANTLR 4.
    • Cliquez sur Suivant, tapez un nom de projet et cliquez sur Terminer.
    • Le nouveau projet par défaut contient un fichier Hello.g4 et générera automatiquement le programme standard "Hello World".
    • Dans l'explorateur de packages, développez le nouveau dossier de projet pour afficher le fichier g4 et un dossier nommé target (ou le nom que vous lui avez donné à l'étape 5) contenant les fichiers source cibles.

Installation d'ANTLR dans Visual Studio 2015 (à l'aide de Nuget)

  1. Ouvrez Visual Studio 2015, accédez à Outils → Extensions → En ligne et recherchez Antlr. Téléchargez l'extension ANTLR Language Support (créée par Sam Harwell) et redémarrez Visual Studio.
  2. Créez un nouveau projet d'application de console. Faites un clic droit sur la solution → Gérer les paquets Nuget pour la solution → Parcourir (Tab) et recherchez Antlr4 et installez-le. Antlr4 Nuget
  3. Ajoutez un nouvel élément à votre projet en cliquant dessus avec le bouton droit de la souris. Et recherchez les modèles ANTLR4. Modèles Antlr4
  4. À partir de votre fichier ANTLR (se terminant par .g4), accédez à Fichier → Options de sauvegarde avancées et recherchez Unicode (UTF-8 sans signature ) - Codepage 65001 et cliquez sur OK. C'est tout. Antlr Options d'enregistrement avancées

Tester si tout fonctionne

  • Créez un élément de grammaire combinée ANTLR 4 et nommez-le Calculator.g4
  • Copiez et collez le code source de la calculatrice de ce projet Github ici: Calculatrice de Tom Everett
  • Changer la calculatrice grammaticale en calculatrice grammaticale
  • Sur l'Explorateur de solutions → Cliquez sur Afficher tous les fichiers.
    Explorateur de solutions Afficher tous les fichiers
  • Enregistrer et exécuter (Démarrer) le projet
  • Dans l'Explorateur de solutions sous le dossier obj, vous devriez voir les classes cs générées comme le visiteur et le récepteur. Si c'est le cas, vous avez réussi. Vous pouvez maintenant commencer à travailler avec ANTLR dans Visual Studio 2015. Classes générées par ANTLR


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow