Arvutiteaduse instituut
  1. Kursused
  2. 2014/15 kevad
  3. Automaadid, keeled ja translaatorid (MTAT.05.085)
EN
Logi sisse

Automaadid, keeled ja translaatorid 2014/15 kevad

  • Pealeht
  • Moodle
  • Bitbucket
  • Projekt
  • Viited
  • Materjalid

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

  1. Eeldan, et fail AKTK.g4 asub kaustas src.
  2. 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.
  3. Tee uuesti grammatika failil paremklõps ja vali nüüd Run as => External tools configuration ...
  4. 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.
  5. 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.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
euroopa sotsiaalfondi logo