2015-05-08 10 views

risposta

27

Mi sono guardato intorno su Internet e ho trovato una manciata di risorse che ho messo insieme e ho trovato una soluzione per tentativi ed errori. Di seguito è riportata una guida che ho utilizzato su alcune delle mie macchine per ottenere l'installazione IDE ANTLR 4 in Eclipse. Ho pensato che avrei dovuto condividere qui e salvare gli altri la fatica di Google alla ricerca di ore (si spera)

Prerequisiti

  • Eclipse 4.4 Luna xtext SDK completo (deve essere la versione 2.7.3)
  • Eclipse sfaccettato progetto quadro (Testato con 3.4.0) Eclipse sfaccettato
  • Progetto quadro JDT Enablement (Testato con 3.4.0) ANTLR 4 SDK Un
  • Una copia della ANTLR-4.x-complete.jar (4.5 al momento della scrittura g)

Setup

  1. installare Eclipse
    1. scaricarlo da https://www.eclipse.org/downloads/
  2. Installare xtext 2.7.3
    1. Vai Help > Install New Software...
    2. Inserire http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ nel Work With testo
    3. premere invio ed attendere che l'elenco per caricare (questo richiederà alcuni istanti)
    4. Espandere il nodo Xtext e controllare Xtext Complete SDK (assicurare la versione è 2.7.3x) ​​
    5. Clicca Next, accettare il contratto di licenza e fare clic su Fine
    6. attendere il completamento di installazione e riavviare Eclipse
  3. Installare sfaccettato progetto quadro
    1. Vai Help > Install New Software...
    2. Inserisci http://download.eclipse.org/releases/luna nel Work With casella di testo
    3. Invio Immettere e attendere il caricamento dell'elenco (l'operazione richiederà alcuni minuti)
    4. Nella casella di testo del filtro immettere Facet
    5. Selezionare Eclipse Faceted Project Framework e Eclipse Faceted Project Framework JDT Enablement
    6. Clicca Next, accettare il contratto di licenza e fare clic su Fine
    7. Lascia la finitura di installazione e riavviare Eclipse
  4. Installare ANTLR 4 IDE
    1. Vai Help > Eclipse Marketplace...
    2. Cerca antlr
    3. Scegli ANTLR 4 IDE (assicurarsi che sia ANTLR 4 IDE non ANTLR IDE)
    4. Fare clic su Installa
    5. attendere il completamento di installazione facendo clic su OK se viene richiesto e riavviare Eclipse
  5. ottenere una copia del ANTLR-4. x-completo.JAR
    1. scaricare il file da here
    2. Salva da qualche parte si ricorderà

Creazione di un ANTRL 4 Progetto

ho trovato la maggior parte di queste informazioni here, il resto Stavo leggendo errori e indovinando

  1. Vai File > New Project > Project
  2. Espandere la General Tab selezionare ANTLR 4 Project (se non vedi questa vedere fase 4 del programma di installazione)
  3. Clicca Next, dare un nome al progetto e fare clic su Finish
  4. Una volta che il progetto è completo fare clic destro del progetto e fare clic Properties
  5. Vai a Project Facets e cliccare Convert to faceted form... (se non vedi questa vedere il punto 3 del programma di installazione)
  6. Controllare la sfaccettatura Java progetto e fare clic su Apply (se non vedi questa vedere il punto 3 del programma di installazione)
  7. Clicca OK, lascia che la soluzione di ricostruire, aprire le proprietà di nuovo
  8. Vai a Java Build Path, fare clic sulla scheda
  9. Clicca Add Folder... e controllo SourceProject > target > generated-sources > antlr4, fare clic su OK
  10. Fare clic sulla scheda
  11. Add External JARs...Libraries, trovare la vostra copia di antlr-4.x-complete.jar, fare clic su Open
  12. Vai a ANTLR 4 > Tool, clicca Apply se un pop-up appare
  13. check Enable project specific settings
  14. Clicca Add, trovare la vostra copia di antlr-4.x-complete.jar, clicca Open
  15. check 4.x
  16. Clicca Apply, clicca Yes di ricostruire, fare clic su OK per uscire dalle proprietà

Test

Creare una nuova classe con il seguente codice e provare a eseguire. Nella console scrivere Hello there e Ctrl + z per inviare EOF al flusso di input

import org.antlr.v4.runtime.*; 
import org.antlr.v4.runtime.tree.*; 
public class HelloRunner 
{ 
    public static void main(String[] args) throws Exception 
    { 

     ANTLRInputStream input = new ANTLRInputStream(System.in); 

     HelloLexer lexer = new HelloLexer(input); 

     CommonTokenStream tokens = new CommonTokenStream(lexer); 

     HelloParser parser = new HelloParser(tokens); 
     ParseTree tree = parser.r(); // begin parsing at rule 'r' 
     System.out.println(tree.toStringTree(parser)); // print LISP-style tree 
    } 
} 

Note

  1. Se viene visualizzato un errore quando si tenta di andare in ANTLR 4 > Tool controllare il vostro Versione di Xtext, 2.8.0 causa un errore nella finestra degli strumenti
  2. Al punto 8, se avete modificato l'ANTLR directory genera di fonti usano quella directory
  3. Se si nota che la versione di ANTLR che hai aggiunto a ANTLR 4 > Tool > Distributions scompare questo sembra per essere ok

    • Controlla il tuo output di build per vedere quale strumento sta usando, dovrebbe comunque usare il JAR che hai aggiunto anche se scompare. Questo è ciò che il mio appare come:

    ANTLR Tool v4.5 (C:\JavaLib\antlr-4.5-complete.jar) Hello.g4 -o C:\Users\username\workspace\project\target\generated-sources\antlr4 -listener -no-visitor -encoding UTF-8

+0

utilizzando la più recente xtext (2.8.2) non causa un errore. – CoronA

+0

Questo è quello che ho letto ma sono abbastanza sicuro di avere 2.8.2 e ha causato problemi nel menu delle impostazioni, ma ha funzionato ovunque altrove –

+0

ho avuto 2.8.0 e non è riuscito, aggiornato alla 2.8.2 e ha funzionato. – CoronA