ANTLR

ANTLR
Sorts kompilator kompilatorer
Författare Terrence Parr och andra
Utvecklaren Terence Parr [d]
Skrivet i Java
Första upplagan februari 1992
Hårdvaruplattform Programvara för flera plattformar
senaste versionen 4.8.0 ( 21 januari 2020 )
stat under utveckling
Licens BSD
Hemsida antlr.org

ANTLR (från engelskan.  ANother Tool for Language Recognition  - "another language recognition tool") är en generator av top- down - analysatorer för formella språk. ANTLR konverterar en kontextfri grammatik i form av RBNF till ett program i C++ , Java , C# , JavaScript , Go , Swift , Python [1] . Används för att utveckla kompilatorer , tolkar och översättare .

Fördelar

Applikation

ANTLR används ofta i stora kända produkter:

Kort referens till språkelement

(...) rättad (...)* upprepa 0 eller fler gånger (...)+ Upprepa delregel 1 eller flera gånger (...)? rättad, kan saknas {...} semantiska åtgärder (i utdataspråket - t.ex. Java) [...] regelparametrar | alternativ operatör .. räckviddsoperatör ~ förnekelse . vilken karaktär som helst = uppdrag : markör för början av regeln ; regelslutmarkör

Ett exempel på en enkel grammatik

grammatik T ; //namnet på grammatiken, måste matcha namnet på filen // icke-terminalsymboler: msg : 'namn' ID ';' { System.out.println("Hej, "+ $ID .text + "!"); } ; //terminalsymboler ID : 'a' .. 'z' + ; //godtyckligt (men >=1) antal bokstäver WS : ( ' ' | '\n' | '\r' )+ { $channel =HIDDEN; } ; // mellanslag, radbrytning, tab

Se även

Anteckningar

  1. Tabell över språk som stöds (nedlänk) . Hämtad 15 juni 2018. Arkiverad från originalet 29 juli 2018. 

Litteratur

  • The Definitive ANTLR Reference: Building Domain-Specific Languages ​​, ISBN 978-0-9787392-5-6 av Terence Parr. Pragmatisk bokhylla, 2007

Länkar