2015-05-08 32 views
13

Próbuję zainstalować ANTLR 4 IDE w Eclipse Luna (4.4). Zainstalowałem go z Marketplace, ale nie mam pojęcia, jak utworzyć projekt, który zawiera w sobie ANTLR 4 Lexer/Parser.Problemy z konfiguracją ANTLR 4 IDE w Eclipse Luna (4.4)

Kiedy idę do tworzenia nowego projektu nie widzę żadnych opcji dla ANTLR 4. Próbowałem stworzyć plik .g4 i otwiera się w edytorze, ale po zapisaniu nic nie robi.

Odpowiedz

27

Rozglądałem się po Internecie i znalazłem garść zasobów, które skleciłem razem i znalazłem rozwiązanie metodą prób i błędów. Poniżej znajduje się przewodnik, którego użyłem na kilku moich maszynach, aby uzyskać konfigurację ANTLR 4 IDE w środowisku Eclipse. Pomyślałem powinienem to zrobić tutaj i ratować innych kłopotów z Google szukając godzin (miejmy nadzieję)

wstępne

  • Eclipse 4.4 Luna Xtext Kompletna SDK (musi być w wersji 2.7.3)
  • Eclipse fasetkowy ramowa Project (Testowane 3.4.0) Eclipse fasetkowy
  • Projekt ramowa JDT Enablement (Testowane 3.4.0) ANTLR 4 SDK
  • kopia antlr-4.x-complete.jar (4,5 w czasie pisania g)

Konfiguracja

  1. Instalacja Eclipse
    1. Pobierz go z https://www.eclipse.org/downloads/
  2. Install XText 2.7.3
    1. Przejdź do Help > Install New Software...
    2. Wprowadź http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ w Work With textbox
    3. naciśnij Enter i poczekaj na załadowanie listy (to zajmie kilka chwil)
    4. Rozwiń węzeł Xtext i sprawdzić Xtext Complete SDK (upewnij się, że wersja 2.7.3x) ​​
    5. Kliknij Next, zgodzić się na EULA, i kliknij przycisk Zakończ
    6. Niech wykończenie instalatora i uruchom ponownie Eclipse
  3. Install obliczach ramy projektu
    1. Przejdź do Help > Install New Software...
    2. Wprowadź http://download.eclipse.org/releases/luna w Work With textbox
    3. Hit Wejdź i poczekaj na załadowanie listy (zajmie to kilka chwil)
    4. W polu filtra wpisać Facet
    5. Wybierz Eclipse Faceted Project Framework i Eclipse Faceted Project Framework JDT Enablement
    6. Kliknij Next, zgodzić się na EULA, i kliknij przycisk Zakończ
    7. Niech wykończenie instalatora i uruchom ponownie Eclipse
  4. Install ANTLR 4 IDE
    1. idź do Help > Eclipse Marketplace...
    2. Szukaj antlr
    3. Wybierz ANTLR 4 IDE (upewnij się, że to ANTLR 4 IDE nie ANTLR IDE)
    4. Kliknij Zainstaluj
    5. Niech wykończenie instalator klikając OK, jeśli to poprosi i ponownie Eclipse
  5. otrzymać kopię antlr-4. x-complete.jar
    1. Pobierz plik z here
    2. zapisać go gdzieś będziesz pamiętać

Tworzenie Planu ANTRL 4 projektu

znalazłem większość tych informacji here, reszta odczytywanie błędów i zgadywanie

  1. idź do File > New Project > Project
  2. Rozwiń General Tab i wybierz ANTLR 4 Project (jeśli nie widzisz tego patrz krok 4 z Setup)
  3. Kliknij Next, dać projektowi nazwę i kliknij Finish
  4. Kiedy projekt jest kompletny projekt prawym przyciskiem myszy i kliknij Properties
  5. Przejdź do Project Facets i kliknij Convert to faceted form... (jeśli nie widzisz tego patrz krok 3 z konfiguracji)
  6. Sprawdź aspekt Java projektu i kliknij Apply (jeśli nie widzisz tego patrz krok 3 z Setup)
  7. Kliknij OK, niech rozwiązanie odbudować, otwórz właściwości ponownie
  8. Przejdź do Java Build Path kliknij kartę
  9. Kliknij Add Folder... i wyboru SourceProject > target > generated-sources > antlr4, kliknij OK
  10. Kliknij kartę
  11. Add External JARs...Libraries, znajdź swój egzemplarz antlr-4.x-complete.jar, kliknij Open
  12. Idź do ANTLR 4 > Tool, kliknij Apply czy pop-up pojawia
  13. Sprawdź Enable project specific settings
  14. Kliknij Add, znajdź swój egzemplarz antlr-4.x-complete.jar, kliknij Open
  15. Sprawdź 4.x
  16. Kliknij Apply, kliknij Yes odbudować, kliknij OK do opuszczenia właściwości

Test

Utwórz nową klasę za pomocą następującego kodu i spróbuj uruchomić. W konsoli napisać Hello there i Ctrl + Z wysłać EOF do strumienia wejściowego

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 
    } 
} 

Notatki

  1. Jeśli widzisz błąd podczas próby, aby przejść do ANTLR 4 > Tool sprawdzić swoje Wersja Xtext, 2.8.0 powoduje błąd w oknie narzędzia
  2. w kroku 8, jeśli zmieniliśmy ANTLR katalogów Generuje za źródła wykorzystać ten katalog
  3. Jeśli zauważysz, że wersja antlr dodanych do ANTLR 4 > Tool > Distributions znika wydaje być ok

    • Sprawdź dane wyjściowe kompilacji, aby zobaczyć, jakiego narzędzia używasz. Powinno nadal używać dodanego JARu, nawet jeśli zniknie. To właśnie kopalnia wygląda następująco:

    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

użyciu najnowszej XText (2.8.2) nie spowoduje błąd. – CoronA

+0

To jest to, co czytam, ale jestem prawie pewien, że miałem 2.8.2 i to powodowało problemy w menu ustawień, ale działało wszędzie. –

+0

Miałem 2.8.0 i nie, zaktualizowałem do wersji 2.8.2 i działało. – CoronA