https://github.com/compiler-campusminden/cb-vorlesung-bachelor-w25

Lecture "Compilerbau" (B.Sc.) (Winter 2025/26)

https://github.com/compiler-campusminden/cb-vorlesung-bachelor-w25

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (2.7%) to scientific vocabulary

Keywords

antlr code-generation compiler-construction hacktoberfest interpreter llvm-ir oer open-educational-resources teaching-materials teaching-website
Last synced: 4 months ago · JSON representation ·

Repository

Lecture "Compilerbau" (B.Sc.) (Winter 2025/26)

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
antlr code-generation compiler-construction hacktoberfest interpreter llvm-ir oer open-educational-resources teaching-materials teaching-website
Created 5 months ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

readme.md

IFM 3.1: Compilerbau (Winter 2025/26)

Kursbeschreibung

Der Compiler ist das wichtigste Werkzeug in der Informatik. In der Königsdisziplin der Informatik schließt sich der Kreis, hier kommen die unterschiedlichen Algorithmen und Datenstrukturen und Programmiersprachenkonzepte zur Anwendung.

In diesem Modul geht es um ein grundlegendes Verständnis für die wichtigsten Konzepte im Compilerbau. Wir schauen uns dazu relevante aktuelle Tools und Frameworks an und setzen diese bei der Erstellung eines kleinen Compiler-Frontends für C++ ein.

Überblick Modulinhalte

  1. Lexikalische Analyse: Scanner/Lexer
    • Reguläre Sprachen
    • Generierung mit ANTLR
  2. Syntaxanalyse: Parser
    • Kontextfreie Grammatiken (CFG)
    • LL-Parser (Top-Down-Parser)
    • Generierung mit ANTLR
  3. Semantische Analyse: Symboltabellen
    • Namen und Scopes
    • Typen, Klassen, Polymorphie
  4. Interpreter: AST-Traversierung
  5. C++ als zu verarbeitende Programmiersprache

Team

Kursformat

| Vorlesung (2 SWS) | Praktikum (2 SWS) | |:-----------------------------|:----------------------------------------| | Do, 15:45 - 17:15 Uhr (Zoom) | G1: Mi, 09:45 - 11:15 Uhr (Zoom) | | | G2: Mi, 11:30 - 13:00 Uhr (Zoom) | | | G3: Mi, 09:45 - 11:15 Uhr (Präsenz B40) | | | G4: Mi, 11:30 - 13:00 Uhr (Präsenz B40) |

Durchführung der Vorlesung als Flipped Classroom (Carsten) bzw. als reguläre Vorlesung (BC). Zugangsdaten Zoom siehe ILIAS.

Fahrplan

Hier finden Sie einen abonnierbaren Google Kalender mit allen Terminen der Veranstaltung zum Einbinden in Ihre Kalender-App.

Abgabe der Post Mortems jeweils Mittwoch bis 09:00 Uhr im ILIAS. Vorstellung der Lösung im jeweiligen Praktikum in der Abgabewoche.

| Woche | Vorlesung: Selbststudium (Vorbereitung) | Vorlesung: Gemeinsame Sitzung | Praktikum | Edmonton/Minden-Meetings | |:---|:---|:---|:---|:---| | W01 / KW41 | Überblick | Sprachen | Anwendungen | Orga (Zoom) | | | | W02 / KW42 | | Reguläre Sprachen 1 | | | | W03 / KW43 | | Reguläre Sprachen 2 || CFG | B01 Reguläre Sprachen | | | W04 / KW44 | Lexer mit ANTLR | Parser mit ANTLR | B02 CFG | | | W05 / KW45 | | LL-Parser | B03 ANTLR | Mo, 03.11., 18:00 - 19:00 Uhr (online): Edmonton/Minden: ANTLR + Live-Coding | | W06 / KW46 | Lexer (Implementierung) | LL-Parser (Implementierung) | | | | W07 / KW47 | Symboltabellen: Überblick | Scopes | Funktionen | Klassen | B04 LL hand coded | | | W08 / KW48 | AST-basierte Interpreter 1 | AST-basierte Interpreter 2 | B05 Semantische Analyse | | | W09 / KW49 | C++ I: Basics | Pointer & Referenzen | | Mo, 01.12., 18:00 - 19:00 Uhr (online): Edmonton/Minden: Minden Presentations | | W10 / KW50 | C++ II: Klassen | Big Three | Operatoren | Vererbung & Polymorphie | B06 Interpreter | Mo, 08.12., 18:00 - 19:00 Uhr (online): Edmonton/Minden: Edmonton Presentations | | W11 / KW51 | | Sprechstunde | B07 C++ | | | - / KW52 | | Weihnachtspause | | | | - / KW01 | | Weihnachtspause | | | | W12 / KW02 | | Sprechstunde | Freies Arbeiten B08 | | | W13 / KW03 | | Sprechstunde | Freies Arbeiten B08 | | | W14 / KW04 | Prüfungsvorbereitung | Rückblick (Zoom) | B08 Mini-Projekt | |

Prüfungsform, Note und Credits

(Digitale) Klausur plus Studienleistung, 5 ECTS

  • Studienleistung: “Portfolio”

Kriterien je Team (3 Personen):

  1. Aktive Teilnahme an mind. zwei der drei Edmonton/Minden-Termine
  2. Mind. vier der sieben Übungsblätter B01..B07 erfolgreich bearbeitet[^1]
  3. Mini-Projekt (B08) erfolgreich bearbeitet
  4. Vortrag über Mini-Projekt (B08) am Semesterende (W14), pro Team 15 Minuten

Je Kriterium: Abgabe eines Post Mortem[^2] im ILIAS (jede Person individuell)

  • Gesamtnote: (Digitale) Klausur im B40 (90 Minuten)

Materialien

  1. Compilers: Principles, Techniques, and Tools. Aho, A. V. und Lam, M. S. und Sethi, R. und Ullman, J. D. and Bansal, S., Pearson India, 2023. ISBN 978-9-3570-5488-1. Online über die O’Reilly-Lernplattform.
  2. Crafting Interpreters. Nystrom, R., Genever Benning, 2021. ISBN 978-0-9905829-3-9. Online.
  3. The Definitive ANTLR 4 Reference. Parr, T., Pragmatic Bookshelf, 2014. ISBN 978-1-9343-5699-9. Online über die O’Reilly-Lernplattform.
  4. “Writing a C Compiler”. Sandler, N., No Starch Press, 2024. ISBN 978-1-0981-8222-9. Online über die O’Reilly-Lernplattform.

Förderungen und Kooperationen

Kooperation mit University of Alberta, Edmonton (Kanada)

Über das Projekt “We CAN virtuOWL” der Fachhochschule Bielefeld ist im Frühjahr 2021 eine Kooperation mit der University of Alberta (Edmonton/Alberta, Kanada) im Modul “Compilerbau” gestartet.

Wir freuen uns, auch in diesem Semester wieder drei gemeinsame Sitzungen für beide Hochschulen anbieten zu können. (Diese Termine werden in englischer Sprache durchgeführt.)


LICENSE

Unless otherwise noted, this work by BC George, Carsten Gips and contributors is licensed under CC BY-SA 4.0. See the credits for a detailed list of contributing projects.

Last modified: 2ff581a (orga: fix deadline for ILIAS, 2025-09-09)

[^1]: “erfolgreich bearbeitet”: Bearbeitung in 3er Teams, alle Aufgaben/Punkte bearbeitet, fristgerechte Abgabe des ausreichenden Post Mortems im ILIAS

[^2]: Post Mortem: Jede Person beschreibt in der ILIAS-Abgabe individuell(!) die Bearbeitung des jeweiligen Kriteriums bzw. die Teilnahme am Edmonton/Minden-Meeting zurückblickend mit mind. 200 bis max. 400 Wörtern (Nutzlast; Überschriften und Links zählen nicht mit). Gehen Sie dabei aussagekräftig und nachvollziehbar auf folgende Punkte ein:

1.  Zusammenfassung: Was wurde gemacht bzw. was wurde auf dem
    Meeting besprochen?
2.  Details: Kurze Beschreibung besonders interessanter Aspekte der
    Umsetzung bzw. des Meetings.
3.  Reflexion: Was war der schwierigste Teil bei der Bearbeitung?
    Wie haben Sie dieses Problem gelöst?
4.  Reflexion: Was haben Sie gelernt oder (besser) verstanden?
5.  Team: Mit wem haben Sie zusammengearbeitet?
6.  Link zu Ihrem Repo mit den relevanten Artefakten (Lösung, Slides
    für den Vortrag, …).

Für die Edmonton/Minden-Meetings passen Sie bitte die Punkte (1) bis
(4) entsprechend inhaltlich an, (5) und (6) entfallen.

Siehe auch
https://github.com/Compiler-CampusMinden/CB-Vorlesung-Bachelor-W25/discussions/3.

Owner

  • Name: Compilerconstruction @ Campus Minden
  • Login: Compiler-CampusMinden
  • Kind: organization

Vorlesung Compilerbau FH Bielefeld

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Lecture "Compilerbau" (B.Sc.) (Winter 2025/26)
message: >-
  If you use this lecture material, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Carsten
    family-names: Gips
    email: cagix@hsbi.de
    affiliation: HSBI
    orcid: 'https://orcid.org/0000-0002-4230-9060'
  - family-names: George
    given-names: Birgit Christina
    affiliation: HSBI
    orcid: 'https://orcid.org/0009-0001-6148-9677'
repository-code: >-
  https://github.com/Compiler-CampusMinden/CB-Vorlesung-Bachelor-W25
abstract: >-
  This represents the winter 2025/26 edition of the lecture
  material for the lecture "Compilerbau" (B.Sc.), a course
  developed and taught at Bielefeld University of Applied
  Sciences.
keywords:
  - compiler construction
  - antlr
  - interpreter
  - oer
license: CC-BY-SA-4.0
date-released: '2025-08-06'

GitHub Events

Total
  • Watch event: 1
  • Push event: 9
  • Pull request review event: 1
  • Pull request event: 3
  • Create event: 3
Last Year
  • Watch event: 1
  • Push event: 9
  • Pull request review event: 1
  • Pull request event: 3
  • Create event: 3

Dependencies

.github/workflows/syncrepos.yaml actions
  • actions/checkout v4 composite