ANTLR

ANTLR, sigle de ANother Tool for Language Recognition, est un framework libre de construction de compilateurs utilisant une analyse LL(*), créé par Terence Parr à l'Université de San Francisco.

ANTLR

Informations
Développé par Terence Parr (en)
Dernière version 4.8 ()
Dépôt github.com/antlr/antlr4
Assurance qualité Intégration continue
Écrit en Java
Environnement Multiplate-forme
Type Compilateur de compilateur
Licence Licence BSD
Site web www.antlr.org

Description

ANTLR prend en entrée une grammaire définissant un langage et produit le code reconnaissant ce langage. La dernière[Quand ?] version d'ANTLR permet de générer du code pour les langages Java, C#, Python2, Python3, JavaScript, C++, Go, Swift et PHP.

Dans sa dernière version, ANTLR peut supporter des grammaires utilisant de la récursivité gauche directe, mais pas indirecte.

ANTLR permet de générer des analyseurs lexicaux, syntaxiques ou des analyseurs lexicaux et syntaxiques combinés. Un analyseur syntaxique peut créer automatiquement un arbre syntaxique abstrait qui peut alors à son tour être traité par un analyseur d’arbre. ANTLR utilise une notation identique pour définir les différents types d’analyseurs, qu’ils soient lexicaux, syntaxiques, ou d’arbre. Des actions peuvent être assignées aux branches de l'arbre syntaxique abstrait ainsi obtenu. Ces actions peuvent être directement insérées dans la spécification de la grammaire utilisée, ou utilisés de façon découplée à travers un système de traversée d'arbres fourni par ANTLR.

Les grammaires ANTLR sont des sous-classes de Lexer, Parser, TreeParser

Exemples d'utilisation de ANTLR

  • XIC - Plateforme d'Intermediation de Xcalia basée sur JDO, SDO et EJB.
  • PromptSQL - Logiciel offrant la complétion automatique pour le SQL à plusieurs éditeurs SQL de Microsoft.
  • Groovy - Langage de programmation fonctionnant sur la plateforme Java.
  • Jython - Langage de programmation inspiré de Python, fonctionnant sur la plateforme Java.
  • Portail des logiciels libres
  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.