Ricerca…


Installazione e configurazione

Come installare ANTLR in Eclipse

(Ultima prova su Indigo e ANTLR IDE 2.1.2)

  1. Installa Eclipse.
  2. Scarica il vaso binari completo ANTLR che include ANTLR v2. Estrai in una directory temporanea. Copia la cartella antlr-nn in una posizione permanente appropriata, ad esempio la stessa cartella in cui è installato Eclipse.
  3. Aggiungi sito di aggiornamento IDE ANTLR a Eclipse.
    • In Eclipse, fare clic su Guida e selezionare Installa nuovo software.
    • Fai clic sul pulsante Aggiungi ....
    • Nella finestra Aggiungi repository, per Tipo di posizione http://antlrv3ide.sourceforge.net/updates, digita qualcosa come ANTLR IDE per Nome e fai clic su OK per tornare alla finestra Software disponibile.
    • Seleziona la casella per ANTLR IDE vn.nn e fai clic su fino a quando non viene installato. Probabilmente riavvierà Eclipse.
  4. Configura l'ID ANTLR.
    • Nella finestra principale di Eclipse, fai clic su Finestra quindi su Preferenze.
    • Nel riquadro sinistro, espandere ANTLR e selezionare Builder.
    • Nel riquadro destro, fare clic sul pulsante Aggiungi ....
    • Nella finestra Aggiungi pacchetto ANTLR, fare clic su Directory ... e accedere al percorso della cartella antlr-nn e fare clic su OK.
    • Fare clic su OK per chiudere la finestra Aggiungi pacchetto ANTLR.
    • Selezionare Generatore di codice nel riquadro di sinistra e fare clic sulla cartella relativa al progetto nel riquadro di destra. Digita il nome di una cartella. Esempi: antlr-java o antlr-generated.
    • Seleziona altri parametri di configurazione ma NON controlla -nfa o -dfa nella sezione Generale nella finestra Edificio. Se selezionato, ciò causerà errori ANTLR che impediscono la generazione di file java nella cartella di output.
    • Fare clic su OK per chiudere la finestra delle preferenze.
  5. Creare un nuovo progetto Java e abilitare il supporto ANTLR.
    • Dalla finestra principale di Eclipse, vai su File, Nuovo, Progetto Java. Fare clic su Avanti, digitare un nome per il progetto e fare clic su Fine.
    • Per abilitare il supporto ANTLR per il progetto, nella finestra Esplora pacchetto (riquadro sinistro) fare clic con il pulsante destro del mouse sul progetto appena creato e selezionare Configura, Converti in progetto ANTLR.
    • Aggiungere il file jar completo di ANTLR al progetto: fare clic con il pulsante destro del mouse sul progetto e selezionare Proprietà, Percorso build Java, fare clic su Aggiungi JAR esterni ..., accedere al file jar ANTLR, selezionarlo e fare clic su OK. Fare clic su OK per chiudere la finestra Proprietà del progetto.
  6. Creare una grammatica ANTLR.
    • Creare una nuova grammatica ANTLR: fare clic con il tasto destro del mouse sulla cartella src del progetto, quindi su File, Nuovo, Altro, espandere ANTLR e selezionare Combined Grammar. Fare clic su Avanti, digitare il nome della grammatica, selezionare un'opzione Lingua e fare clic su Fine.
    • Viene creato un file ".g" con le opzioni selezionate e una regola vuota. Aggiungi le opzioni language = Java, @header, @lexer :: header e @members in cima (vedi esempio). Il completamento automatico è il modo più semplice per aggiungerli (premere CTRL-spazio per visualizzare l'elenco di completamento automatico).
  7. Salva la grammatica.
    • Una volta salvato, una cartella contenente il codice Java generato per la grammatica dovrebbe apparire in Esplora progetti. In caso contrario, assicurati che le opzioni -nfa o -dfa non siano selezionate in Preferenze ANTLR sotto Generale nella finestra Edificio (Passaggio 4g). [Confermare se necessario: controllare i punti variabili di ambiente CLASSPATH su Java7 che corrisponde all'installazione Eclipse (32 o 64 bit) e alla variabile d'ambiente Percorso Windows con SDK Java7.]
    • Per evitare errori di tipo "non possono essere risolti in un tipo", fare clic con il pulsante destro del mouse sulla cartella contenente il codice Java generato, quindi creare il percorso, utilizzare come cartella di origine.

GRAMMATICA COMBINATA CAMPIONE

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow