ANTLR-i käivitamine parseri genereerimiseks
Variant 1. Maven
NB! Mavenit kasutades ei pea antlr-runtime käsitsi installeerima. (Õiged ANTLRi versioonid tõmbab ise oma cache'i ja kasutab selle sama library kõikide teie ANTLR projektide jaoks.)
- Impordi maven projekt, näiteks aktk_ast.
- Eclipse: Parem-klõps pom.xml faili peal ja vali "Run As" -> "Maven Test".
- IntelliJ: "Tool" -> "View Tool Windows" -> "Maven Project" ja sealt "Lifecycle" -> "Compile".
Variant 2. IntelliJ plugina abil
- Eeldan, et fail AKTK.g4 asub kaustas src.
- Tee sellel failil paremklõps ja vali Generate ANTLR recognizer. Seepeale peaks tekkima uus lähtefailide kaust nimega gen, kus on mõned java failid ja kaks faili laiendiga 'token'.
- Kui enne seda teha paremklõps grammatikal ja valida Configure ANTLR, siis saab määrata, millisesse kausta genereeritud failid satuvad, millistesse Java pakettidesse klassid panna jne.
- Peale seda sammu kontrolli, kas IntelliJ käsitleb valitud kausta koodikaustana. Vajadusel tee kaustal paremklõps ja vali Mark directory as => Generated sources root.
Variant 3. Eclipse'i plugina abil
- Eeldan, et fail AKTK.g4 asub kaustas src.
- Tee sellel failil paremklõps ja vali Run as => Generate ANTLR recognizer. Seepeale genereerib plugin parseri vaikeseadetega -- tõenäoliselt satub see kausta target. Paraku vaikeseaded meile ei sobi. Seetõttu võib selle tekitatud kausta ära kustutada. (Kui see kaust tuleb vägisi tagasi, siis mine Windows => Preferences => ANTLR 4 => Compiler ja võta ära linnuke valikust "Compiler is activated".) See punkt oli vajalik vaid selleks, et tekiks uus "External tool configuration" -- pluginal on mingi bug, mis ei lase seda kohe teha.
- Tee uuesti grammatika failil paremklõps ja vali nüüd Run as => External tools configuration ...
- Vali jaotuse ANTLR alt ANTLR.g4 ja muuda paremal oleval Arguments kastikese sisu järgnevaks:
-no-listener -visitor -encoding UTF-8 -o src/antlrgen -package antlrgen
ja klõpsa Run. - Nüüd peaks src alla tekkima uus pakett nimega antlrgen ja selle alla 4 java faili ja 2 fail laiendiga 'token'. Kui ANTLR'i runtime-teek on antud projekti jaoks juba eelnevalt paika seatud, siis peaks Eclipse need kohe ka ära kompileerima.
Variant 4. Käsureal
Käsureal parseri genereerimiseks tuleb ANTLR-i lehelt alla laadida Complete ANTLR 4.5 Java binaries jar (või uuem versioon). Järnevas jutus ma eeldan, et tegmist on Windowsiga ja et see fail laeti alla kausta c:\antlr4. Eeldan ka, et mu grammatika fail AKTK.g4 asub projekti src kaustas.
Nüüd avan käsurea ning liigun enda projekti src kausta. Ma tahan, et ANTLR-i poolt genereeritud klassid asuksid paketis antlrgen
. Sellistel tingimustel parseri genereerimiseks annan järgmise käsu:
java -cp c:\antlr4\antlr-4.5-complete.jar org.antlr.v4.Tool -no-listener -visitor -o antlrgen -package antlrgen -encoding UTF-8 AKTK.g4
Seepeale tekivad minu src kausta alamkausta antlrgen 4 java faili ja 2 fail laiendiga 'token' (Eclipse'is võib olla vajalik projekti sisu värskendada -- klõpsa projekti nimel ja vajuta F5). Kui ANTLR'i runtime-teek on antud projekti jaoks juba eelnevalt paika seatud, siis peaks IDE need failid kohe ka ära kompileerima.
Kellel huvi käsurea parameetreid ise timmida, saab täpsemat infot siit: https://theantlrguy.atlassian.net/wiki/display/ANTLR4/ANTLR+Tool+Command+Line+Options
Variant 5. Spetsiaalse Windowsi programmiga
Nüüd on olemas üks spetsiaalselt AKT jaoks kirjutud graafiline programm ANTLRi käivitamiseks. Mõeldud neile, kellel IDE plugina kaudu genereerimine ei õnnestunud ja kelle jaoks käsurida on liiga hirmutav.
NB! Õige programmeerija käsurida ei karda, seega kasuta seda varianti ainult viimases hädas!
- Lae alla Graphical_ANTLR_4_Tool-2.0.exe (40MB, nii suur seepärast, et see sisaldab endas tervet Java 8 runtime'i ja tervet ANTLR-it).
- Saadud exe on installer, mis paigaldab programmi sinu kodukausta alla (nt. C:\Users\Aivar\AppData\Local\Graphical ANTLR 4 Tool).
- Peale installimist saad vahendi käivitada otsides Start-menüüst Graphical ANTLR 4 Tool.
- Avanenud aknas tuleb näidata vähemalt grammatika fail ja kaust kuhu sa soovid genereeritud parseri faile. Kui sa tahad parserit eraldi Java package'isse, siis tuleb määrata ka package'i nimi:

Peale parseri genereerimist võid selle programmi uninstallida. Mingit prügi see endast maha ei jäta.