IDE d'ANTLR - Installation et utilisation de base d'ANTLRWorks2

1. Une brève introduction à ANTLRWorks2

① Introduction du site Web officiel d'ANTLR à ANTLRWorks2

ANTLRWorks 2. Cet IDE est un éditeur sophistiqué pour les grammaires ANTLR v3/v4 ainsi que les modèles StringTemplate.
Il peut exécuter les outils ANTLR pour générer des outils de reconnaissance et TestRig (exécuté sur la ligne de commande) pour tester les grammaires.
Pour intégrer les modules de reconnaissance générés par ANTLR dans votre application, vous avez également besoin d'au moins la bibliothèque d'exécution.

② L'introduction du site officiel d'ANTLRWorks 2
  • ANTLRWorks 2 a été développé par Tunnel Vision Labs en utilisant plusieurs nouvelles technologies, résultant en une réécriture complète de l'outil de grammaire précédent. Notre cadre de base pour le développement NetBeans® a été créé à l'origine pour ce projet, mais il est facilement extensible à d'autres langages et constitue le point de départ de toutes nos applications basées sur NetBeans.
  • Prise en charge d'ANTLR - carte de code source. Lors de la modification d'un fichier de grammaire ANTLR, la fenêtre Syntax Graph affiche une représentation visuelle des règles actuelles. Cette fonctionnalité fournit une représentation naturelle des éléments syntaxiques et est un exemple de fourniture de fonctionnalités personnalisées pour améliorer les fonctionnalités spécifiques à la langue. De plus, double-cliquer sur un élément dans une carte source sautera immédiatement au code source associé. Le diagramme de syntaxe d'ANTLR est présenté dans la figure :
    insérez la description de l'image ici
  • Fonctionnalité des conseils de l'éditeur d'ANTLRWorks 2 : ANTLRWorks 2 fournit des conseils de l'éditeur pour avertir les développeurs des erreurs potentielles de grammaire ou des problèmes de performances qui ne sont pas actuellement détectés par le compilateur de grammaire. Étant donné que ce type d'analyse statique est unique à chaque langage, nous travaillons avec les créateurs et les utilisateurs de langages pour fournir des capacités d'analyse les plus susceptibles de détecter le code problématique au début du cycle de développement. Les capacités d'analyse actuelles des grammaires dans ANTLRWorks incluent les éléments suivants :
(1)ANTLR 4工具报告的错误和警告在编辑器中“实时”显示 
(2)识别解析器中的隐式标记定义(可能的错误)
(3)因子标签超出集合(性能提示)
(4)组集元素(性能提示)
  • antlrworks : ide spécialement utilisé pour développer antlr, (différentes versions d'antlrworks) intègre une certaine version d'antlr à l'intérieur. En d'autres termes, même si vous téléchargez antlr-xx-complete.jar et que vous l'ajoutez au CLASSPATH, cela n'a rien à voir avec antlr à l'intérieur d'antlrworks. Autrement dit, antlrworks utilise une certaine version d'antlr intégrée en interne.

Lien de référence :
Outils de développement ANTLR (site officiel de l'ANTLR)
ANTLRWorks 2

2. Téléchargement d'ANTLRWorks2

  • Entrez sur le site officiel d'ANTLRWorks2 et cliquez pour télécharger ANTLRWorks2 V2.1 dans le coin supérieur droit .
    insérez la description de l'image ici
  • Cette version est sortie le 28 août 2013 et est intégrée en interne ANTLR 4.1.
    insérez la description de l'image ici
  • Décompressez le package d'installation téléchargé 2013-07-21-antlrworks-2.1.zip, entrez le répertoire bin sous le répertoire de décompression, le mien est C:\Users\lucy\Downloads\antlrworks2\bin, cliquez antlrworks2.exepour exécuter antlrworks2.
    insérez la description de l'image ici

3. Utilisation simple d'ANTLRWorks2

① Créer un nouveau fichier *.g4
  • Cliquez sur 新建le bouton dans le coin supérieur gauche et la fenêtre "Nouveau fichier" apparaîtra :
    insérez la description de l'image ici
  • La valeur par défaut est ANLTR 4 Combined Grammarcorrecte, cliquez sur Nextle bouton pour accéder à la page suivante, entrez votre propre nom de fichier et enregistrez le chemin :
    insérez la description de l'image ici
  • Cliquez sur "Terminer" pour terminer la création du fichier :
    insérez la description de l'image ici
② Fonction de diagramme de syntaxe d'ANTLRWorks2
  • Définissez des nombres, composés de 0 à 9 (c'est-à-dire analyseur lexical - Lexer), qui peuvent être répétés une ou plusieurs fois :
grammar Cpp;
	NUM:[0-9]+;

Placez la souris sur NUM:[0-9]+;la ligne pour afficher le diagramme de syntaxe correspondant :
insérez la description de l'image ici

  • Définir les opérateurs (c'est-à-dire l'analyseur lexical - Lexer), y compris l'addition, la soustraction, la multiplication et la division, ne pouvant apparaître qu'une seule fois :
grammar Cpp;
    NUM:[0-9]+;
    OPERATOR: '-'|'*'|'/';

Placez la souris sur OPRATOR:'+'|'-'|'*'|'/';la ligne pour afficher le diagramme de syntaxe correspondant :
insérez la description de l'image ici

  • Définissez une expression (c'est-à-dire un analyseur, Parser) :
grammar Cpp;
   PROG: exp;
   exp: NUM OPERATOR NUM;
   NUM:[0-9]+;
   OPERATOR: '-'|'*'|'/';

Placez la souris sur exp: NUM OPERATOR NUM;la ligne pour afficher le diagramme de syntaxe correspondant :
exp : NUM opérateur NUM ;

  • Visualisation de la définition de la grammaire :
    insérez la description de l'image ici
    PS : je l'ai découvert au fil de mon exploration : je ne sais pas si c'est un problème de version, ANLTR 4 Combined Grammarles fichiers générés utilisés en V2.1 sont différents de certains blogs de référence, et ne s'affichent qu'en V2.1 Parser Rules. Si vous utilisez ANLTR 4 Lexer Grammarou ANLTR 4 Parser Grammargénérez des fichiers, Parser Ruleset Lexer Rulessont tous deux affichés. Cependant, ANLTR 4 Lexer Grammaril y aura un message d'erreur lors de la définition de la règle d'analyseur dans , et ANLTR 4 Parser Grammaril y aura un message d'erreur lors de la définition de la règle Lexer dans .
③ Analyse grammaticale
  • Cliquez Run-->Run in TestRigpour faire apparaître la fenêtre suivante. Dans la nouvelle fenêtre, entrez le fichier à analyser, qui contient le contenu à analyser ; choisissez l'analyseur à utiliser pour l'analyse, et enfin cliquez sur Finish.
    insérez la description de l'image ici
  • Le contenu de hello.txt est 101+2689, et l'arborescence syntaxique analysée (affichée sous la forme d'une fenêtre contextuelle) est la suivante. La commande correspondante est
    grun Cpp r -gui
    insérez la description de l'image ici
  • Le message affiché sur le terminal TestRig est le suivant, et la commande correspondante est grun Cpp r -tree:

insérez la description de l'image ici

④ Un petit résumé de grammaire
  • Utilisez 大写字母des paires lexerpour nommer, utilisez 小写字母des paires parserpour nommer.
  • Utilisez *la représentation 0-N次重复, utilisez +la représentation 1-N次重复.

Lien de référence :
vidéo YouTube - ANTLRWorks (tutoriel d'installation et d'utilisation)
[Résumé] Expérience de développement et précautions d'utilisation d'ANTLR et ANTLRWorks
[Record] Essayez d'utiliser ANTLRWorks 2.0 pour développer
la configuration de l'environnement de développement ANTLR Antlr 4.0 et AntlrWorks

Je suppose que tu aimes

Origine blog.csdn.net/u014454538/article/details/86351781
conseillé
Classement