Fra kildekode til bytecode - Implementering av egne språk for JVMen
08e5722a-2e75-4c6c-8760-e8911dec9672
|
Presentation |
Abstract:
Alternative språk til Java som kjører på VMen er i vinden om dagen. Groovy, Jython og JRuby er eksempler på populære språk som fler og fler eksperimenterer med, og som bransjen er iferd med å ta i bruk. Felles for disse språkene er at kildekoden blir kompilert til Java Bytecode før den kan eksekveres på JVMen.
Målet med dette foredraget er å gi en oversikt over veien fra kildekode til kjørende bytecode. Dette foredraget starter med en rask gjennomgang av kompilatorteknikk, etterfulgt av en gjennomgang av den fullstendige implementasjonen av et enkelt eget-utviklet språk - som kjører på JVMen. Vi vil forklare hvordan vi parser kildekoden og sjekker syntaktisk korrekthet. Neste steg blir å vise hvordan man genererer Java assembly-kode, som vi deretter bruker for generering av eksekverbar bytecode.
Foredraget vil være en teknisk sesjon, med live-demoer av kjernekonseptene. Vi vil runde av foredraget med en kort diskusjon av mulige motiver for å ville utvikle egne språk for VMen.
Outline:
- Kompilatorteori
- Fra kildekode til bytecode
- Lexing
- Bygging av AST
- Semantikk
- Generering av bytecode
- Motivasjon
- Oppsummering
Language:
Norsk
Level:
Intermediate/Advanced
Required Experience:
Deltakerne vil ha en fordel av god forståelse av JVM-plattformen.
Expected Audience:
Utviklere som er nysgjerrige på hvordan språkene til plattformen vi jobber på til daglig fungerer.
-
Kristian NordalKristian Nordal jobber til daglig hos Arktekk, som Java-utvikler med hovedfokus på open source og smidig utvikling. Han er commiter på Codehaus sitt prosjekt for Maven-plugins og har i flere år deltatt i utviklingen av Maven 2-plugins, som for eksempel den første pluginen for Jetty5 og appassembler- pluginen.
-
Trygve LaugstølTrygve Laugstøl er daglig leder i Arktekk og er i tillegg utvikler, arkitekt med mange års erfaring med Java-utvikling. Han har lang erfaring med utvikling og bruk av åpen kildekode som kjerneutvikler av Maven 2 og Continuum. Trygve har jobbet lenge med utvikling av plugins som støtter opp om smidig utvikling og som rådgiver innenfor disse områdene.



Intermediate/Advanced
Core Java