ANTLR

ANTLR
Tip de compilatoare compilatoare
Autor Terrence Parr și alții
Dezvoltator Terence Parr [d]
Scris in Java
Prima editie februarie 1992
Platformă hardware Software multiplatformă
ultima versiune 4.8.0 ( 21 ianuarie 2020 )
Stat în curs de dezvoltare
Licență BSD
Site-ul web antlr.org

ANTLR (din engleză.  ANother Tool for Language Recognition  - „un alt instrument de recunoaștere a limbii”) este un generator de analizoare de sus în jos pentru limbi formale. ANTLR convertește o gramatică fără context sub formă de RBNF într-un program în C++ , Java , C# , JavaScript , Go , Swift , Python [1] . Folosit pentru a dezvolta compilatoare , interpreți și traducători .

Beneficii

Aplicație

ANTLR este utilizat pe scară largă în produsele cunoscute mari:

Scurtă referire la elementele de limbă

(...) corectat (...)* repetați ajustat de 0 sau de mai multe ori (...)+ Repetați subregula de 1 sau de mai multe ori (...)? corectat, poate lipsi {...} acțiuni semantice (în limbajul de ieșire - de exemplu, Java) [...] parametrii regulii | operator alternativ .. operator de rază ~ negare . orice personaj = sarcina : marcatorul începutului regulii ; marcator de sfârşit al regulii

Un exemplu de gramatică simplă

gramatica T ; //numele gramaticii, trebuie să se potrivească cu numele fișierului // simboluri non-terminale: msg : „nume” ID „;” { System.out.println("Bună ziua, "+ $ID .text + "!"); } ; //simboluri terminale ID : 'a' .. 'z' + ; //număr arbitrar (dar >=1) de litere WS : ( ' ' | '\n' | '\r' )+ ​​​​{ $canal =HIDDEN; } ; // spațiu, întrerupere de linie, tab

Vezi și

Note

  1. Tabelul limbilor acceptate (downlink) . Consultat la 15 iunie 2018. Arhivat din original la 29 iulie 2018. 

Literatură

  • The Definitive ANTLR Reference: Building Domain-Specific Languages ​​, ISBN 978-0-9787392-5-6 de Terence Parr. Raft pragmatic, 2007

Link -uri