Leerresultaten

The student will be able to :

  • recognize problems that can be analyzed using regular expressions, context-free grammars, attribute grammars ;
  • formalize the problem and use software tools to execute this formalization (e.g. build a small compiler).

Doelstellingen

Learn the main theories and tools for language engineering, compilation, interpretation

Inhoud

Syntax

  1. Regular expressions and finite state automata
  2. Context-free languages, grammars; LL, LR, and LALR parsers

Semantics

  1. Static semantics: type checking, attributed grammars.
  2. Code generation
  3. Denotational semantics (Scott's domains, abstract interpretation)
  4. Structured operational semantics.

 

Inhoudsopgave

See content.

Evaluatiemethode

70% Written exam 

30% The evaluation of the project is done through automatic testing, a report, an individual exam.

Bronnen, referenties en ondersteunend materiaal

  1. Aho, Sethi, Ullman: "Compilers: Principles, Techniques, and Tools" Addison Wesley (ISBN 9780201100884)
  2. R. Wilhelm, D. Maurer: "Compiler Design" Addison-Wesley
  3. Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, Koen G. Langendoen, "Modern Compiler Design", John Wiley & Sons
  4. John LevineTony Mason & Doug Brown « lex & yacc », ISBN 1-56592-000-7, 366 pages.
  5. M. Hennessy: "The semantics of programming languages: an elementary introduction using structural operational semantics", Wiley, 1990.
  6. G. Winskel: "The Formal Semantics of Programming Languages: An Introduction.", MIT Press, 1993.
  7. T. Parr: "The Definitive ANTLR Reference", The Pragmatic Bookshelf, 2013.

Taal van de instructie

French