Sök…


Anmärkningar

ANTLR v4 är ett kraftfullt verktyg som används för att bygga nya programmeringsspråk och bearbeta / översätta strukturerad text eller binära filer. ANTLR använder en grammatik som du skapar för att generera en parser som kan bygga och korsa ett parse-träd (eller abstrakt syntaxträd, AST). Tolkaren består av utdatafiler på ett målspråk som du anger. ANTLR v4 stöder flera mål inklusive: Java, C #, JavaScript, Python2 och Python3. Stöd för C ++ arbetas med. För att arbeta i GUI-IDE: er finns plug-ins för Visual Studio, Intellij, NetBeans och Eclipse.

För allmän information, besök ANTLR-webbplatsen . För att få allvar med ANTLR, kolla in den starkt rekommenderade boken skriven av Terrence Parr (killen som skapade ANTLR) The Definitive ANTLR 4 Reference .


Viktig versioninformation

Installera för användning av kommandorader

ANTLR distribueras som en Java Jar-fil Det kan laddas ner här . Eftersom ANTLR är kompilerat som en jarfil krävs därefter Java runtime-miljö för att fungera, om du inte har det kan det laddas ner här .

När ANTLR JAR-filen har laddats ner kan du köra ANTLR från kommandoraden på samma sätt som alla andra JAR-filer:

Java -jar antlr-4.5.3-complete.jar

(Förutsatt att du arbetar i samma katalog som antlr-4.5.3-complete.jar-filen).

Detta bör ge ut något liknande det här:

ANTLR Parser Generator  Version 4.5.3
 -o ___              specify output directory where all output is generated
 -lib ___            specify location of grammars, tokens files
 -atn                generate rule augmented transition network diagrams
 -encoding ___       specify grammar file encoding; e.g., euc-jp
 -message-format ___ specify output style for messages in antlr, gnu, vs2005
 -long-messages      show exception details when available for errors and warnings
 -listener           generate parse tree listener (default)
 -no-listener        don't generate parse tree listener
 -visitor            generate parse tree visitor
 -no-visitor         don't generate parse tree visitor (default)
 -package ___        specify a package/namespace for the generated code
 -depend             generate file dependencies
 -D<option>=value    set/override a grammar-level option
 -Werror             treat warnings as errors
 -XdbgST             launch StringTemplate visualizer on generated code
 -XdbgSTWait         wait for STViz to close before continuing
 -Xforce-atn         use the ATN simulator for all predictions
 -Xlog               dump lots of logging info to antlr-timestamp.log

andra rekommenderade åtgärder för installation inkluderar:

     1. Add antlr4-complete.jar to CLASSPATH, either: Permanently: 
Using System Properties dialog > Environment variables > Create or append to CLASSPATH variable Temporarily, at command line: SET CLASSPATH=.;C:\Javalib\antlr4-complete.jar;%CLASSPATH% 
     3.Create batch commands for ANTLR Tool, TestRig in dir in PATH
         antlr4.bat: java org.antlr.v4.Tool %*
         grun.bat:   java org.antlr.v4.gui.TestRig %*

Efter installationen kan du bygga ett program med din .g4-grammatikfil:

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

Du kan också bygga en applikation på andra språk med parametern -Språk. Till exempel för att generera C # -filer skulle du göra något liknande:

java -jar antlr-4.5.3-complete.jar yourGrammar.g4 -Dlanguage=CSharp

Se här för en fullständig lista över förberedda grammatik för vanliga programmeringsspråk.

Installera med hjälp av Build Automation-verktyg

Ladda ner den senaste versionen av ANTLR och extrahera den till en mapp.

Du kan också använda Maven, Gradle eller annat build-verktyg för att bero på dess körtid (klasserna som de genererade grammatiken använder): org.antlr:antlr4-runtime .

För att automatiskt - som en del av byggprocessen - generera parser i ett maven-projekt använder du Maven-plugin : org.antlr:antlr4 .

Installera i Eclipse och bygg Hello World

(Testat med ANTLR 4.5.3, Eclipse Neon, ANTLR 4 IDE 0.3.5 och Java 1.8)

  1. Ladda ner den senaste ANTLR . Se till att få den kompletta ANTLR Java-binärbehållaren. Spara på valfri plats, till exempel mappen där andra Java-bibliotek är lagrade. Det spelar ingen roll var, kom bara ihåg platsen.
  1. Installera ANTLR IDE i Eclipse.

    • Från Eclipse-menyn klickar du på Hjälp och väljer Eclipse Marketplace.
    • Skriv antlr i rutan Sök: och klicka på Gå.
    • Klicka på Installera för ANTLR 4 IDE.
    • Klicka på Slutför i fönstret Bekräfta valda funktioner.
    • Om ett säkerhetsvarningsfönster dyker upp klickar du på OK.
    • Starta om Eclipse.
  2. Jobba runt för felet "Det gick inte att skapa injektor ...".

    • Vid åtkomst till ANTLR 4-inställningar i Eclipse eller när miljövariabeln HOME inte är inställd, uppstår följande fel: Det gick inte att skapa injektor för com.github.jknack.antlr-4ide.Antlr4 för com.github.jknack.antlr-4ide.Antlr4 .
    • Se till att miljövariabeln HOME är inställd. Om inte, ställ in det som lämpligt för ditt system.
    • Ladda ner Xtext 2.7.3 till samma plats som antlr-nnn-complete.jar.
    • Klicka på Hjälp i Eclipse och välj Installera ny programvara.
    • Klicka på Lägg till ... för att komma till fönstret Lägg till arkiv.
    • Skriv ett namn, till exempel xtext 2.7.3, klicka sedan på Arkiv ..., naviger till filen Xtext 2.7.3 och välj den och klicka sedan på OK.
    • Klicka på Välj alla i installationsfönstret och klicka sedan på Nästa> två gånger, acceptera licensavtalet. och klicka på Slutför.
    • Starta om Eclipse.
  3. Berätta för Eclipse / Java var ANTLR är.

    • Klicka på Fönster i Eclipse och välj Inställningar.
    • Expandera Java och Build Path i den vänstra rutan och välj sedan Classpath-variabler.
    • I den högra rutan klickar du på Ny ..., anger ett namn och klickar på Arkiv ... och bläddrar till din plats för antlr-nnn-complete.jar. Klicka på OK för att komma tillbaka till fönstret Classpath Variables.
    • Klicka på OK för att avsluta Inställningar.
  4. (Valfritt) Konfigurera den ANTLR IDE-genererade källkatalogen.

    • Klicka på Fönster i Eclipse-huvudfönstret och sedan på Inställningar.
    • Expandera ANTLR 4 i den vänstra rutan och välj Verktyg.
    • Ändra katalogen om du vill under Alternativ. Till exempel är java mitt målspråk så jag använder ./antlr-java.
    • Klicka på OK för att stänga inställningsfönstret.
  5. Skapa ett ANTLR 4-projekt.

    • Från Eclipse-huvudfönstret, gå till File, New, Project.
    • I fönstret Nytt projekt utvidgar du Allmänt och väljer ANTLR 4-projekt.
    • Klicka på Nästa, skriv ett projektnamn och klicka på Slutför.
    • Det nya standardprojektet innehåller en Hello.g4-fil och kommer automatiskt att bygga standardprogrammet "Hello World".
    • Expandera den nya projektmappen i paketutforskaren för att se g4-filen och en mapp med namnet mål (eller namnet du gav den i steg 5) som innehåller målkällfilerna.

Installera ANTLR i Visual Studio 2015 (med Nuget)

  1. Öppna Visual Studio 2015, navigera till Verktyg → Tillägg → Online och sök efter Antlr. Ladda ner tillägget ANTLR Language Support (Skapat av Sam Harwell) och starta om Visual Studio.
  2. Skapa nytt konsolapplikationsprojekt. Högerklicka på Lösningen → Hantera Nuget-paket för lösning → Bläddra (Tab) och sök efter Antlr4 och installera det. Antlr4 Nuget
  3. Lägg till en ny artikel i ditt projekt genom att högerklicka på det. Och leta efter ANTLR4-mallar. Antlr4-mallar
  4. Gå till File → Advance Save Options och sök efter Unicode (UTF-8 utan signatur ) - Codepage 65001 och klicka på OK från din ANTLR-fil (som slutar .g4). Det är allt. Antlr Avancerade spara alternativ

Testa om allt fungerar

  • Skapa ett ANTLR 4 Combined Grammar-objekt och namnge det Calculator.g4
  • Kopiera och klistra in kalkylatorns källkod från detta Github-projekt här: Kalkylator av Tom Everett
  • Byt grammatikräknare till grammatikräknare
  • I Solution Explorer → Klicka på Visa alla filer.
    Lösning Explorer Visa alla filer
  • Spara och kör (starta) projektet
  • I Solution Explorer under obj-mappen bör du se cs-klasser genererade som besökaren och lyssnaren. Om detta är fallet lyckades du. Nu kan du börja arbeta med ANTLR i Visual Studio 2015. ANTLR genererade klasser


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