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