Arvutiteaduse instituut
  1. Kursused
  2. 2020/21 kevad
  3. Automaadid, keeled ja translaatorid (LTAT.03.006)
EN
Logi sisse

Automaadid, keeled ja translaatorid 2020/21 kevad

  • Üldinfo
    • Õppekorraldus
    • Reeglid
    • Töövahendid
    • Projekt
  • Eksami näidised
  • Videote loetelu
  • Kava
    • 1. Soojendus
    • 2. Regulaaravaldised
    • 3. Olekumasinad
    • 4. Avaldise struktuur
    • 5. Grammatikad ja lekser
    • 6. Käsitsi parsimine
    • 7. ANTLRiga töötamine
    • 8. Interpretaator
    • 9. Kompilaator
    • 10. Edasi!
  • Bitbucket
  • Moodle
  • Fleep!
  • Zoom!

Töövahendid

Juhend

Alguses

  1. Installeeri (või uuenda) vajalik tarkvara:
    1. Java SE JDK versioon 11 või uuem.
      • Moodle'is on kasutusel versioon 15, seega võite kasutada oma kodutööde lahendustes uuemaid keelelaiendusi.
    2. Git.
    3. IntelliJ IDEA versioon 2020.3 või uuem.
      • Piisab Community edition-ist, kuid ülikooli emailiga saab tasuta ka Ultimate edition-it kasutada.
  2. Lae alla kursuse repositoorium:
    1. Ava IntelliJ ja vali Project from Version Control (menüüs File → New → …).
    2. Täida lahtrid:
      • Version control: Git
      • URL: https://bitbucket.org/plas/akt2021/
      • Directory: vali ise
    3. Vajuta Clone.
  3. Kontrolli, kas kõik töötab:
    1. Ava näidisfail src/main/java/week1/HelloJava8.java.
    2. Käivita selle main meetod, klikkides mõnel rohelisel Run kolmnurgal või shortcut-iga Ctrl+Shift+F10.
    3. Kui kõik töötab, siis trükitakse väljundaknasse 42.

Regulaarselt

  1. Edaspidi kursuse repositooriumi uuenduste alla laadimiseks vali menüüst Git → Update Project… või shortcut-iga Ctrl+T.
    • Mõningatel nädalatel lisame oma projektile täiendavaid sõltuvusi. Nende sünkroniseerimiseks ava build.gradle fail ja vajuta üleval paremal nuppu Load Gradle changes.

Kursuse repositoorium

Kursuse praktilise poole (programmeerimisülesanded) jaoks on repositoorium: https://bitbucket.org/plas/akt2021/. Sinna hakkavad jooksvalt ilmuma praktikumide, kodutööde ja eksamite materjalid, millel on kaasas ka automaattestid. Samuti avaldame selle repositooriumi sols/ kaustas möödunud praktikumide ja kodutööde näidislahendused.

Seega iganädalaselt tuleb repositooriumist uuendused alla laadida (vt ülal juhendi viimast sammu). Oma lahendused tuleb kirjutada etteantud failidesse etteantud kohtadesse. Oma lahenduste testimiseks saab käivitada vastavaid automaatteste src/test/java/ kaustas.

Ära nimeta ümber ega liiguta etteantud klasse ja meetodeid! Nõnda tekib probleeme kompileerimisega, automaattestide käivitamisega ja Moodle'isse esitamisega.

Soovitatav on oma lahendused lokaalselt commit-ida, kuid kursuse repositooriumisse neid üles laadida (push-ida) loomulikult ei saa. Kodutööd ja eksamid tuleb siiski esitada Moodle'isse. Sellegipoolest võid luua ka oma privaatse repositooriumi (nt Bitbucket-is või GitHub-is) kuhu oma lahendusi üles laadida.

Kuna ülesanded on iseseisvaks lahendamiseks, siis ära loo avalikku repositooriumit ega jaga seda teistega.


Moodle'isse esitamise probleemid

Testid lähevad lokaalselt läbi, aga Moodle'is saan 0 punkti:

Kontrolli, kas töö Moodle'is kompileerus. Seda saad kontrollida redigeerimisaknas parempoolsest paneelist:

Kompileerimisviga võib tulla näiteks, kui oled unustanud faili algusesse mõne impordi, mida tegelikult ei kasuta. Või vastupidi, sinu kodutöö fail impordib mõnda klassi, mida sa failina kaasa pannud ei ole. Sel juhul peaksid vastava faili koos kodutööga esitama.

  • 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.
Courses’i keskkonna kasutustingimused