This is an English translation of the module. In case of discrepancy between the translation and the Danish version, the Danish version of the module is valid.
That the student learns how to design and implement a programming language and how this process can be supported by formal definitions of the language's syntax and semantics and techniques and methods for translator and / or interpreter construction.
All software is written in a programming language and is translated or interpreted in order to be executed. Design, description and construction of Programming languages, translators, interpreters and similar tools are therefore central topics in computer science.
Therefore, the project work focuses on ensuring that the students understand important underlying concepts in the world of programming languages, why these concepts have arisen and how they are formally described and represented in an implementation. Understanding these topics is fundamental in understanding new and existing programming languages and their applications.
Furthermore, many techniques and tools, originally developed for languages and translators, are also used in other contexts in program development.
The project is based on an analysis of a computer science problem, the solution of which can naturally be described in the form of a design of a specific programming language. The project includes a formal definition of relevant parts of this programming language. The focus of the project is the construction of a robust translator / interpreter for key parts of the language
Digital support for competence development within configuration management
The student is expected to spend 27.5 hours per ECTS, which for this activity means 412.5 hours.
|Name of exam||Design, Definition and Implementation of Programming Languages|
|Type of exam|
Oral exam based on a project
|Assessment||7-point grading scale|
|Type of grading||External examination|
|Criteria of assessment||The criteria of assessment are stated in the Examination Policies and Procedures|
Contact: Study Board for Computer Science via firstname.lastname@example.org or 9940 8854
|Danish title||Design, definition og implementation af programmeringssprog|
|Language of instruction||Danish and English|
|Location of the lecture||Campus Aalborg|
|Responsible for the module|
|Study Board||Study Board of Computer Science|
|Department||Department of Computer Science|
|Faculty||The Technical Faculty of IT and Design|