Learning outcomes
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).
Objectives
Learn the main theories and tools for language engineering, compilation, interpretation
Content
Syntax
-
Regular expressions and finite state automata
-
Context-free languages, grammars; LL, LR, and LALR parsers
Semantics
-
Static semantics: type checking, attributed grammars.
-
Code generation
-
Denotational semantics (Scott's domains, abstract interpretation)
-
Structured operational semantics.
Table of contents
Syntax
-
Regular expressions and finite state automata
-
Context-free languages, grammars; LL, LR, and LALR parsers
Semantics
-
Static semantics: type checking, attributed grammars.
-
Code generation
-
Denotational semantics (Scott's domains, abstract interpretation)
-
Structured operational semantics.
Exercises description
The book for exercises (in French) is :
Théorie des Langages de Programmation : Syntaxe et Sémantique
Eléments Théoriques et Exercices - 163 pages
Michaël Marcozzi
(c) Presses universitaires de Namur, 2014, D/2014/1881/3, ISBN 978-2-87037-813-7
Teaching methods
The lectures focus on the underlying theoretical bases. The exercises will apply the theory to simple examples.
Alarge assigment aims at compiling a simple language.
Evaluations
60% Written exam
40% The evaluation of the project is done through automatic testing, a report, an individual exam.
Recommended readings
-
Aho, Sethi, Ullman: "Compilers: Principles, Techniques, and Tools" Addison Wesley (ISBN 9780201100884)
-
R. Wilhelm, D. Maurer: "Compiler Design" Addison-Wesley
-
Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, Koen G. Langendoen, "Modern Compiler Design", John Wiley & Sons
-
John Levine, Tony Mason & Doug Brown « lex & yacc », ISBN 1-56592-000-7, 366 pages.
-
M. Hennessy: "The semantics of programming languages: an elementary introduction using structural operational semantics", Wiley, 1990.
-
G. Winskel: "The Formal Semantics of Programming Languages: An Introduction.", MIT Press, 1993.
-
T. Parr: "The Definitive ANTLR Reference", The Pragmatic Bookshelf, 2013.
Language of instruction
French / Français
Location for course
NAMUR
Organizer
Faculté d'informatique
rue Grandgagnage 21
5000 NAMUR
P. 081725252
F. 081724967
secretariat.info@unamur.be
Degree of Reference
Undergraduate Degree