TIES448 Luento 4
ANTLR4
- Sivusto
- ALL(*)-jäsennys
- LL(1):n yleistys
- PLDI 2011
- OOPSLA 2014
- monia isäntäkieliä
- melko hyvä työkalupaketti tukemassa tekemistä
ANTLR4-dokumentaatio
ANTLR4-asennus
- Lataa antlr-4.7.1-complete.jar ja isäntäkielesi tukikirjastot ANTLRin sivuilta
- Konfiguroi CLASSPATH ja aliakset
- Windows-ohjeet
- bashissa (esim. Ubuntu)
export CLASSPATH=$PWD/antlr-4.7.1-complete.jar:$CLASSPATH
alias antlr4="java -Xmx500M org.antlr.v4.Tool"
alias grun="java org.antlr.v4.gui.TestRig"^C
Hyvä workflow
- Tee esimerkkisyöte lähdekielelläsi
- Laadi selaajaa ja jäsentäjää sen verran, että esimerkkisyötteen pitäisi mennä läpi
- Kokeile kääntyykö antlr4:llä (
antlr4 KIELIOPPI.g4 && javac *.java
) - Kokeile meneekö esimerkkisyöte läpi (
grun KIELIOPPI ALOITUSSYMBOLI ESIMERKKITIEDOSTO
)- Kun ei tule virheilmoituksia, kokeile myös
-gui
-optiolla
- Kun ei tule virheilmoituksia, kokeile myös
- Iteroi kunnes esimerkkisyöte toimii.
- Laadi uusi esimerkkisyöte ja iteroi kunnes se toimii.
- Toista kunnes jäsennin ymmärtää haluamasi kielen.
- Ota ko. esimerkkisyötteet osaksi automatisoitua testijoukkoasi.
Kun kielioppi näyttäisi toimivan...
- ANTRL:n tuottama jäsennin luo syötteestä automaattisesti jäsennyspuun
- solmuluokat ovat nimeltään
...Context
- solmuluokat ovat nimeltään
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.