Sök…


Anmärkningar

ANTLR (ANother Tool for Language Recognition) är en kraftfull analysergenerator för läsning, bearbetning, exekvering eller översättning av strukturerad text eller binära filer. Det används ofta för att bygga språk, verktyg och ramverk. Från en grammatik genererar ANTLR en tolkare som kan bygga och gå parse träd.

Antlr-versioner
Antlr separeras i två stora delar, grammatiken (grammatikfiler) och de genererade kodfilerna, som härrör från grammatiken baserat på målspråket. Antlr-versionerna är i formatet V1.V2.V3:

  • V1: Förändring i V1 innebär att ny syntax av funktioner introducerades i grammatikfiler
  • V2: Förändring i V2 innebär att nya funktioner eller större korrigeringar introducerades i de genererade filerna (t.ex. tillägg av nya funktioner)
  • V3: står för bugfixar eller mindre förbättringar

Runtime-bibliotek och mål för kodgenerering
Antlr-verktyget är skrivet i Java, men det kan generera parsers och lexers på olika språk. För att köra parser och lexer behöver du också ha runtime-biblioteket med antlr tillsammans med parser och lexer-kod. Målspråket som stöds (och runtime-bibliotek) är följande:

  • Java

  • C #

  • Python (2 och 3)

  • JavaScript

versioner

Version Utgivningsdatum
2,0 1997-05-01
3,0 2011-01-19
4,0 2013/01/21
4,1 2013/07/01
4,2 2014/02/05
4.2.1 2014/03/25
4.2.2 2014/04/07
4,3 2014/06/19
4,4 2014/07/16
4,5 2015/01/23
4.5.1 2016/07/16
4.5.2 2016/01/30
4.5.3 2016/03/31
4,6 2016/12/15
4,7 2017/03/30

Hej världen

En enkel hejgrammatik kan hittas här :

// define a grammar called Hello
grammar Hello;
r   : 'hello' ID;
ID  : [a-z]+ ;
WS  : [ \t\r\n]+ -> skip ;

För att bygga detta .g4-prov kan du köra följande kommando från din operativsystem terminal / kommandorad:

Java -jar antlr-4.5.3-complete.jar Hello.g4

//OR if you have setup an alias or use the recommended batch file

antlr4 Hello.g4

Att bygga detta exempel skulle resultera i följande utgång i filkatalogen Hello.g4:

  1. Hello.tokens
  2. HelloBaseListener.java
  3. HelloLexer.java
  4. HelloLexer.tokens
  5. HelloListener.java
  6. HelloParser.java

När du använder dessa filer i ditt eget projekt ska du ta med ANTLR-jarfilen. Kör följande kommando för att sammanställa alla dessa filer med Java i samma operatörskatalog eller per sökväg:

javac *.java


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow