Sök…


Installation och installation

Hur man installerar ANTLR i Eclipse

(Senast testad på Indigo och ANTLR IDE 2.1.2)

  1. Installera Eclipse.
  2. Ladda ner ANTLR kompletta binärbehållare som innehåller ANTLR v2. Extrahera till en temporär katalog. Kopiera antlr-nn-mappen till en lämplig permanent plats, till exempel samma mapp som Eclipse är installerad i.
  3. Lägg till ANTLR IDE-uppdateringswebbplatsen till Eclipse.
    • Klicka på Hjälp i Eclipse och välj Installera ny programvara.
    • Klicka på Lägg till ... -knappen.
    • I fönstret Lägg till arkiv, för platstyp http://antlrv3ide.sourceforge.net/updates och skriv något som ANTLR IDE för namnet och klicka på OK för att komma tillbaka till fönstret Tillgänglig programvara.
    • Markera rutan för ANTLR IDE vn.nn och klicka igenom tills den är installerad. Eclipse kommer förmodligen att starta om.
  4. Konfigurera ANTLR IDE.
    • Klicka på Fönster i Eclipse-huvudfönstret och sedan på Inställningar.
    • Expandera ANTLR i den vänstra rutan och välj Builder.
    • Klicka på Lägg till ... i den högra rutan.
    • I fönstret Lägg till ANTLR-paket klickar du på Katalog ... och navigerar till platsen för antlr-nn-mappen och klickar på OK.
    • Klicka på OK för att stänga fönstret Lägg till ANTLR-paket.
    • Välj kodgenerator i den vänstra rutan och klicka på Projekt relativ mapp i den högra rutan. Skriv ett mappnamn. Exempel: antlr-java eller antlr-genererad.
    • Välj andra konfigurationsparametrar, men kontrollera INTE –nfa eller –dfa i under Allmänt i fönstret Byggnad. Om markerat kommer dessa att orsaka ANTLR-fel som förhindrar att java-filer genereras i utmatningsmappen.
    • Klicka på OK för att stänga inställningsfönstret.
  5. Skapa ett nytt Java-projekt och aktivera ANTLR-stöd.
    • Från Eclipse-huvudfönstret, gå till File, New, Java Project. Klicka på Nästa, skriv ett projektnamn och klicka på Slutför.
    • För att aktivera ANTLR-stöd för projektet högerklickar du i projektfönsterfönstret (vänster rutan) på det projekt som just skapades och välj Konfigurera, Konvertera till ANTLR-projekt.
    • Lägg till den kompletta ANTLR-burkfilen till projektet: högerklicka på projektet och välj Egenskaper, Java Build Path, klicka på Lägg till externa JAR: er, bläddra till ANTLR-burkfilen, välj den och klicka på OK. Klicka på OK för att stänga projektfönstret Egenskaper.
  6. Skapa en ANTLR-grammatik.
    • Skapa en ny ANTLR-grammatik: högerklicka på projektets mapp src, sedan File, New, Other, expand ANTLR och välj Combined Grammar. Klicka på Nästa, skriv grammatiknamn, välj ett språkalternativ och klicka på Slutför.
    • En ".g" -fil skapas med de valda alternativen och en tom regel. Lägg till alternativspråket = Java, @header, @lexer :: header och @members uttalanden högst upp (se exempel). Auto-färdigställande är det enklaste sättet att lägga till dessa (tryck på CTRL-utrymme för att få fram automatisk kompletteringslista).
  7. Spara grammatiken.
    • När den sparas ska en mapp som innehåller genererad Java-kod för grammatiken visas i Project Explorer. Om det inte gör det, se till att alternativen –nfa eller –dfa inte är markerade i ANTLR-inställningarna under Allmänt i fönstret Byggnad (steg 4g). [Bekräfta om dessa behövs: kolla CLASSPATH-miljövariabelpunkterna till Java7 som matchar din Eclipse-installation (32 eller 64 bitar) och Windows Path-miljövariabeln hade Java7 SDK.]
    • För att undvika att "inte kan lösas till en typ" Java-fel högerklickar du på mappen som innehåller genererad Java-kod, sedan Build Path, Use som en källmapp.

PROV KOMBINERAD GRAMMAR

grammar test; //must match filename.g

options {
    language = Java;
}

@header { //parser
    package pkgName; //optional
    import java.<whatever you need>.*;
}

@members { //parser
    // java code here
}

@lexer::header { //lexer
    package pkgName; //optional
    import java.<whatever you need>.*;
}

@lexer::members {
    // java code here
}
/*------------------------------------------------------------------
 * PARSER RULES (convention is all lowercase)
 *------------------------------------------------------------------*/
parserule: LEXRULE;

/*------------------------------------------------------------------
 * LEXER RULES (convention is all uppercase)
 *------------------------------------------------------------------*/
LEXRULE: 'a'..'z';


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