lunduniversity.lu.se

Forskar­utbildnings­kurser

Faculty of Engineering | Lund University

Detaljer för kursplan för kurs EDAN65F giltig från och med Autumn 2017

Utskriftsvänlig visning

Allmänt
Syfte
  • The fundamental theories and methods used in Compiler Construction are central to the discipline of Computer Science, and widely applicable in both research and software construction.

    The course aims to give knowledge of the principal structure of a compiler and about the basic theories and methods used to implement the different parts of the compiler. It should give an understanding for how the theories and the methods can be used in related areas like translation between different source languages, analysis of program properties, interpretation, and analysis of other artificial languages. The course also includes how advanced object-oriented techniques, such as design patterns and aspect-oriented programming can be applied to compiler construction.
Innehåll
  • The architecture of a compiler. The definition of programming languages: regular expressions, context-free grammars, abstract grammars, attribute grammars. Methods: scanning, parsing, static-semantic analysis, code generation. Runtime systems: memory allocation, automatic memory management (garbage collection). Tools: Scanner-generators, parser-generators, abstract syntax-tree generators, generatorer för attributevaluering. Design patterns (visitor, interpreter). Application areas for compiler construction.
Kunskap och förståelse
  • För godkänd kurs skall doktoranden
  • understand formalisms for syntactic descriptions: regular expressions, context-free grammars, and abstract grammars.
    understand formalisms for program analysis: attribute grammars
    be able to describe compiler phases, runtime systems, and different kinds of internal representations.
Färdighet och förmåga
  • För godkänd kurs skall doktoranden
  • be able to implement parsers for programming languages with parser-generators
    be able to implement semantic analysis and code generation using attribute grammars and imperative programming
    be able to implement runtime systems by interpretation
Värderingsförmåga och förhållningssätt
  • För godkänd kurs skall doktoranden
  • demonstrate ability to critically evaluate different compilation methods and their applications to different areas.
Undervisningsformer
  • Föreläsningar
  • Laborationer
Examinationsformer
  • Skriftlig tentamen
  • Underkänd, godkänd
Förkunskapskrav
  • EDAA01 Programming - Second Course
Förutsatta förkunskaper
Urvalskriterier
Litteratur
  • Appel, A.: Modern Compiler Implementation in Java. Cambridge University Press, 2002. ISBN 052182060X.
Övrig information
Kurskod
  • EDAN65F
Administrativ information
  •  -03-22
  • Professor Thomas Johansson

Alla publicerade kurstillfällen för kursplanen

Inga matchande kurstillfällen hittades.

0 kurstillfällen.


Utskriftsvänlig visning