ANTLR

logiciel informatique
ANTLR

Informations
Développé par Terence Parr (en)Voir et modifier les données sur Wikidata
Dernière version 4.8 ()
Dépôt github.com/antlr/antlr4Voir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en Java
Environnement Multiplate-forme
Type Compilateur de compilateurVoir et modifier les données sur Wikidata
Licence Licence BSD
Site web www.antlr.org

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.

Description modifier

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 modifier