Beskrivelse av installasjon og eksempler
Innhold
Installasjon av JFlex og CUP
Installasjon p? Linux
-
Dersom du ikke allerede kan kj?re Ant (Test med kommandoen ant),
last ned siste versjon av Ant.
Opprett en katalog for ant, for eksempel ~/install/ant
Pakk ut Ant i katalogen, for eksempel med kommandoen tar xzvf apache-ant-1.7.0-bin.tar.gz.
Du vil da ha en katalog som heter ~/install/ant/apache-ant-1.7.0/bin som blant annet inneholder skriptet ant. Katalogen legges til path-variablen med export PATH=$PATH:~/install/ant/apache-ant-1.7.0/bin. Denne linjen kan godt legges inn i login-skriptet ditt. Test Ant med kommandoen ant. Du b?r f? meldingen
Buildfile: build.xml does not exist!
Build failed - Opprette en katalog for obligen, feks ~/inf5110/oblig
- Last ned eksemplene og kodeskallet i inf5110-oblig1.zip . Pakk den ut i katalogen (~/inf5110/oblig), for eksempel med kommandoen unzip inf5110-oblig1.zip. I katalogen ~/inf5110/oblig/INF5110-Oblig1/lib vil du n? finne pakkene med JFlex og CUP (De er lastet ned fra http://www2.cs.tum.edu/projects/cup/java-cup-11a.jar og http://jflex.de/jflex-1.4.1.zip eller http://jflex.de/jflex-1.4.1.tar.gz )
- Test at ant virker ved ? g? til katalogen ~/inf5110/oblig/inf5110-oblig1 og kj?re kommandoen ant. Menyen med targets skal vises.
Installasjon med Eclipse (Her: P? Windows)
- Opprette en katalog for obligen, feks C:\inf5110\oblig
- Last ned eksemplene og kodeskallet i inf5110-oblig1.zip . Pakk den ut i katalogen (C:\inf5110\oblig). I katalogen C:\inf5110\oblig\INF5110-Oblig1\lib vil du n? finne pakkene med JFlex og CUP (De er lastet ned fra http://www2.cs.tum.edu/projects/cup/java-cup-11a.jar og http://jflex.de/jflex-1.4.1.zip eller http://jflex.de/jflex-1.4.1.tar.gz )
- ?pne Eclipse med workspace C:\inf5110\oblig.
- I Package Explorer velg Import->Existing Projects into Workspace. Velg INF5110-Oblig1 som root directory og velg s? prosjektet. Velg finish.
- Eclipse er klar og Ant kan kj?res ved ? h?yreklikke p? build.xml. Det vil vises noen feil i koden (Merket med r?de kryss), men det er greit, fordi det skyldes at dere ikke har generert lekseren og parseren enn?.
Kompilering og kj?ring
Kompilering med Ant
Kompilering med Ant kan foreg? ved enten ? bruke Eclipse og h?yreklikke p? build.xml og velge targets, eller ved ? skrive ant <target> p? kommandolinjen.
Kompilering p? kommandolinjen
Dersom CLASSPATH er satt til ? inkludere JFlex.jar kan JFlex greit kj?res fra kommandolinjen med java JFlex.Main <options> <inputfiles>.
CUP kj?res med java -jar java-cup-11.jar <options> <inputfiles>.
Eksemplene
Det er tre eksempler som er inludert i filen inf5110-oblig1.zip og gramatikkene for de ligger under inf5110-oblig1/grammars.
- Expression-Eval.
Dette eksemplet regner ut verdien av utrykk som skrives inn p? kommandolinjen. Utrykket m? avsluttes med semikolon. Dette eksemplet er laget ved bruk av en flertydig grammatikk og presedensregler. Eksemplet bygges med ant compile-example-eval og kj?res med ant run-example-eval. - Expression-Par.
Dette eksemplet lager et abstrakt syntakstre av utrykk som leses fra en fil. Filnavnet angis p? kommandolinjen. Det aksepterer kun addisjon og multiplikasjon og det leser inn ett uttrykk pr linje. Dette eksemplet er laget ved bruk av en entydig grammatikk uten presedensregler. Eksemplet bygges med ant compile-example-par og kj?res med ant run-example-par. - Skall til obligen (oblig1).
Det siste eksemplet er kun et skall til obligen. Det bygges med ant build og kj?res med ant run.