Informations générales
Number of hours
- Lectures -
- Projects 55.0
- Tutorials -
- Internship -
- Laboratory works -
- Written tests -
ECTSECTS
4.0
Goal(s)
The objective of this project is to illustrate some aspects of software engineering through the development, in Java, of an application of a significant size, namely a compiler for an object-oriented language..
The main areas of focus are primarily compliance with specifications, software design, validation techniques and the implementation of a quality assurance process.
The chosen theme allows us to both fulfill the above objectives by starting from a well-formalized set of specifications, and to better understand the concepts underlying programming languages.
In addition to software engineering aspects, this project provides an opportunity to explore project and team management.
Responsible(s)
Raquel ARAUJO DE OLIVEIRA, Catherine ORIAT
Content(s)
The project begins with an intensive week dedicated to the study of the specifications (language definition, static and dynamic semantics, target machine), the presentation of the technical aspects, and the outline of the expected documentation and methodology. Follow-up sessions then take place on various topics: the chosen software architecture, testing techniques and objectives, and code acceptance. These sessions help students with both technical aspects and planning and organization.
An "extension" component allows the students to explore a topic of their choice in greater depth (for example, creating a trigonometric function library, generating Java bytecode or ARM code, or extending the considered language).
PrerequisitesLanguage theory (e.g. 3MMTL), object-oriented programming (e.g. 4MMPOO), knowledge of an assembly language, programming practice.
Test
Evaluation : Projet (évaluation en continu et sur le rendu) + soutenance
Calendar
The course exists in the following branches:
- Curriculum - Core curriculum - Semester 7
Additional Information
Course ID : 4MMPGL
Course language(s): 
The course is attached to the following structures:
- Team Programming and Software
You can find this course among all other courses.
Bibliography
Compilers: Principles, Techniques and Tools de Aho, Lam, Sethi & Ullman (1988/2007)
The Definitive ANTLR 4 Reference - Terence Parr (2013)