Beskrivelse av installasjon og eksempler

Innhold

Installasjon av JFlex og CUP

Installasjon p� Linux

  1. 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
  2. Opprette en katalog for obligen, feks ~/inf5110/oblig
  3. 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 )
  4. 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)

  1. Opprette en katalog for obligen, feks C:\inf5110\oblig
  2. 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 )
  3. �pne Eclipse med workspace C:\inf5110\oblig.
  4. I Package Explorer velg New->Project... Velg Java Project og skriv inn navnet inf5110-oblig1. Eclipse vil advare om at det finnes noe der fra f�r og det er jo ok. Klikk gjennom Wizarden og aksepter det som foresl�s.
  5. 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.

I Eclipse har jeg hatt litt problemer med run-targetene i build.xml, s� det kan v�re en mulighet � h�yreklikke p� parser-klassen eller compiler-klassen (Se eksemplene) og kj�re de slik.

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.

  1. 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.
  2. 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.
  3. Skall til obligen (oblig1).
    Det siste eksemplet er kun et skall til obligen. Det bygges med ant build og kj�res med ant run.
Alle eksemplene og skallet til obligen kan lastes ned her.