Course Compiler Construction and Domain-Specific Languages
Responsible: Andreas Schwenk, M.Sc.
Course
Meets requirements of following modules(MID)
Course Organization
| Version |
| created |
2018-09-18 |
| VID |
1 |
| valid from |
WS 2012/13 |
| valid to |
|
|
|
| Course identifiers |
| Long name |
Compiler Construction and Domain-Specific Languages |
| CID |
F07_CBDSL |
| CEID (exam identifier) |
|
|
| Contact hours per week (SWS) |
| Lecture |
2 |
| Exercise (unsplit) |
1 |
| Exercise (split) |
|
| Lab |
|
| Project |
1 |
| Seminar |
|
| Tutorial(voluntary) |
0 |
|
|
| Total contact hours |
| Lecture |
30 |
| Exercise (unsplit) |
15 |
| Exercise (split) |
|
| Lab |
|
| Project |
15 |
| Seminar |
|
| Tutorial (voluntary) |
0 |
|
|
| Max. capacity |
| Exercise (unsplit) |
|
| Exercise (split) |
|
| Lab |
|
| Project |
30 |
| Seminar |
|
|
Total effort (hours): 150
Instruction language
Study Level
Prerequisites
- Extended knowledge of an imperative programming language
Textbooks, Recommended Reading
- Fowler, Martin: "Domain-specific languages", Pearson Education
- Aho, Alfred V., Ravi Sethi, and Jeffrey D. Ullman: "Compilers, Principles, Techniques", Addison Wesley
- Wirth, Niklaus: "Compiler construction", Addison-Wesley
Instructors
Supporting Scientific Staff
Transcipt Entry
Compiler Construction and Domain-Specific Languages
Assessment
| Type |
| oE |
normal case (except on large numbers of assessments: wE |
| Total effort [hours] |
| oE |
10 |
Frequency: 2-3/year
Course components
Lecture/Exercise
Objectives
Contents
- Formal Languages
- Regular Languages
- Regular Expressions
- Finite State Machines
- Context-Free Languages
- Pushdown Automata
- Backus-Naur-Form
- Deterministic Context-Free Languages
- Chomsky Hierarchy
- Parsing
- Top-Down Parsing
- Bottom-Up Parsing
- Parser Generators
- Compiler Front Ends
- Lexical Analysis
- Syntactic Analysis
- Semantic Analysis
- Intermediate Code Generation
- Compiler Middle Ends
- Compiler Back Ends
- Computer Architectures
- Machine Code Generation
- Register Allocation
- Automatic Parallelization
- Relevant Data Structures
- Abstract Syntax Tree
- Symbol Table
- Embedded Domain-Specific Languages
- External Domain-Specific Languages
- Compiler Correctness
- Fundamentals of Natural Language Processing
Acquired Skills
- Understanding theoretical concepts
- Solving practical problems with toolchains in the context of compiler construction
- GNU Autotools
- GNU Compiler-Collection (GCC)
- Clang
- LLVM Backend
- Flex
- GNU Bison
- Distinghish properties of natural and formal languages
- Design of Domain-Specific Languages
- evaluate expenses and income of domain-specific languages
- interpret underlying domains ontologically
- formulate language documentations
- evaluate expressiveness of languages
- Implementation of Domain-Specific Languages
- apply design patterns
- create language workbenches
- evaluate language definitions for correctness
Additional Component Assessment
| Type |
| fAP |
2-3 electronic tests (20min each), repeatable 1x |
| fPS |
excercise (on course and self study) |
| Contribution to course grade |
| fAP |
prerequesite to fTP |
| fPS |
not rated |
Frequency: 1/year
Project
Objectives
Acquired Skills
- Design and implementation of a new domain-specific language
- formulate requirements
- define test programs
- implement parsers
- integration of frameworks from the target domain, or code-generation respectively
- verification; e.g. supported by Hamcrest
- Presentation of a scientific publication of the courses context
- understanding research-oriented literature
- prepare complex facts didactically
Operational Competences
- Master complex tasks in a team
- Presentation and defence of project results
Additional Component Assessment
| Type |
| fTP |
3 lab experiments |
| oR |
15min presentation of fTP results; 8min presention of paper |
| Contribution to course grade |
| fTP |
Attestation |
| oR |
prerequisite to course exam |
Frequency: 1/year

Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki?
Feedback senden