Software Language Engineering

Faculteit Science and Engineering
Jaar 2019/20
Vakcode WBCS18001
Vaknaam Software Language Engineering
Niveau(s) bachelor
Voertaal Engels
Periode semester I b
ECTS 5
Rooster rooster.rug.nl

Uitgebreide vaknaam Software Language Engineering
Leerdoelen At the end of the course, the student is able to:
- Explain the basic concepts of software language engineering (such as abstract syntax, meta model, interpreter, compiler, type checking etc.)
- Construct simple domain-specific languages using state-of-the-art language engineering technology.
- Organize the design of domain-specific language implementations in modules, phases, and/or components.
- Discuss the value and role of software language engineering in the larger software engineering context.
- Design both concrete and abstract syntax of simple software languages.
- Clarify the basics of programming language theory, including syntax analysis, operational semantics and type systems.
Omschrijving Software Language Engineering (SLE) is concerned with the principled techniques and concepts for the construction of software languages. Software languages come in many shapes and sizes, including programming languages, modeling languages, data format languages, specification languages etc. In this course students will get acquainted with the basic techniques and concepts of language engineering, and acquire the basic skills to define the syntax and semantics of software languages, as well as know the relevant tools and techniques for implementing various kinds of language processors. The course consists of a series of lectures based on the book on SLE by Ralf Lämmel. During the course students will develop a simple domain-specific language (DSL) using the metaprogramming language Rascal, exercising both foundational and practical aspects of SLE. The final exam will test individual knowledge regarding the key concepts of SLE.
Uren per week
Onderwijsvorm Hoorcollege (LC), Opdracht (ASM)
(Lab exercises, using QL questionnaire language (or other DSL; to be decided) implemented in Rascal)
Toetsvorm Opdracht (AST), Schriftelijk tentamen (WE)
Vaksoort bachelor
Coördinator prof. dr. T. van der Storm
Docent(en) prof. dr. T. van der Storm
Entreevoorwaarden
Opmerkingen
Opgenomen in
Opleiding Jaar Periode Type
BSc Computing Science  (Specializing Minor Computing Science) 3 semester I b keuze
BSc Courses for Exchange Students: Artificial Intelligence & Computing Science - semester I b Computing Science