ABC-202
Inhalte und Agenda (3 Tage)
Bootstrap-Problem formalisiert, Subset-Design
- Zirkuläre Abhängigkeit in Ada-Compiler-Ökosystemen
- Stage-Design: Interpreter vs Translator vs nativer Compiler
- Auswahlkriterien für Stage0: C-Toolchain als Root
- Subset-Definition: Syntax, Semantik, Laufzeitannahmen
- Teststrategie in frühen Stufen (klein, deterministisch, isoliert)
Prototyping-Architektur
- Parser-Strategien (handgeschrieben vs Generator, Trade-offs)
- AST/IR-Struktur für ein Ada-Subset
- Code-Emission: C-Output oder einfache IR plus Backend
- Fehlermeldungen, Symboltabellen, Typprüfung minimal
- Build- und Testharness
Stage-Kette und Validierung
- Vom Subset zur nächsten Stufe: „Welche Units müssen zuerst kompilierbar sein?“
- Übergang: Subset-Compiler erzeugt Artefakte, die durch C-Compiler gebaut werden
- Audit-Trail: Inputs, Flags, Hashes, deterministische Serialisierung
- Abschluss: Prototyp ausführen, Golden-Tests, Stage-Plan finalisieren
Step-by-step-Prototyping-Labs (C→Ada Bootstrap)
Lab 1: Minimal-Subset festlegen (Spezifikation)
- Sprachumfang definieren (Beispielumfang):
- procedure, begin/end, if, loop, integer, einfache Zuweisungen
- keine Tasking-Features, keine Generics, keine Exceptions (in Stage1)
- Bibliotheksmodell definieren:
- Minimaler „Standard“-Teil als eingebettete Runtime in C
- Semantikregeln als Checkliste festhalten: Typregeln, Scope, Name-Resolution.
Output: subset-spec.md
Lab 2: Lexer und Parser-Gerüst implementieren
- Projektstruktur anlegen: src/, tests/, include/.
- Lexer: Tokenliste erstellen (Keywords, Ident, Literale, Operatoren).
- Parser: rekursiver Abstieg für procedure und Statement-Liste.
- AST-Knoten definieren: Proc, Assign, If, Loop, BinOp, Literal, Ident.
- Parser-Tests: Golden-Input → AST-Serialisierung → Snapshot-Vergleich.
Lab 3: Code-Emission nach C (Translator-Stufe)
- AST-Printer für Debug (deterministisch).
- C-Emitter:
- procedure → int main(void) oder Funktionsmapping
- Variablen → C-Variablen
- Statements → C-Statements
- Runtime-Shim in C bereitstellen (Input/Output minimal).
- Build: Translator erzeugt out.c, C-Compiler erzeugt Binary.
- Test: Vergleich Programmausgabe gegen erwartete Ausgabe.
Lab 4: Stage-Plan als Build-Runbook formulieren
- Stages benennen: Stage0 (C), Stage1 (Subset-Translator), Stage2 (Ada-Compiler).
- Für jede Stage festlegen:
- Inputs (Source), Tools, Flags
- Outputs (Artefakte)
- Verifikation (Hashes, Tests)
- „Stop-Kriterien“ definieren: wann Stage1 ausreichend ist, um Stage2 zu bauen.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | • Compiler- und Toolchain-Entwicklerinnen und -Entwickler • Security- und Supply-Chain-nahe Engineering-Teams • Distribution- und Bootstrap-Engineers • Plattform-Portierer (neue Architekturen/OS) |
| Voraussetzungen: | • Solide C-Kenntnisse (Parsing/AST-Grundideen) • Grundverständnis Compilerphasen und Toolchain-Builds (ABC-101 empfohlen, ABC-201 hilfreich) • Erfahrung mit Build-Systemen und Tests (Make/CMake, Unit-Tests) |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
| Seminar | Startdatum | Enddatum | Ort | Dauer | |
|---|---|---|---|---|---|
| ABC-202 | Bregenz | 3 Tage | |||
| ABC-202 | Linz | 3 Tage | |||
| ABC-202 | Salzburg | 3 Tage | |||
| ABC-202 | Graz | 3 Tage | |||
| ABC-202 | Wien | 3 Tage | |||
| ABC-202 | Inhaus / Firmenseminar | 3 Tage | |||
| ABC-202 | Stream live | 3 Tage | |||
| ABC-202 | Innsbruck | 3 Tage | |||
| ABC-202 | Stream gespeichert | 3 Tage | |||
| ABC-202 | Klagenfurt | 3 Tage | |||
| ABC-202 | Innsbruck | 3 Tage | |||
| ABC-202 | Stream gespeichert | 3 Tage | |||
| ABC-202 | Klagenfurt | 3 Tage | |||
| ABC-202 | Bregenz | 3 Tage | |||
| ABC-202 | Linz | 3 Tage | |||
| ABC-202 | Salzburg | 3 Tage | |||
| ABC-202 | Graz | 3 Tage | |||
| ABC-202 | Wien | 3 Tage | |||
| ABC-202 | Inhaus / Firmenseminar | 3 Tage | |||
| ABC-202 | Stream live | 3 Tage | |||
| ABC-202 | Wien | 3 Tage | |||
| ABC-202 | Inhaus / Firmenseminar | 3 Tage | |||
| ABC-202 | Stream live | 3 Tage | |||
| ABC-202 | Innsbruck | 3 Tage | |||
| ABC-202 | Stream gespeichert | 3 Tage | |||
| ABC-202 | Klagenfurt | 3 Tage | |||
| ABC-202 | Bregenz | 3 Tage | |||
| ABC-202 | Linz | 3 Tage | |||
| ABC-202 | Salzburg | 3 Tage | |||
| ABC-202 | Graz | 3 Tage | |||
| ABC-202 | Salzburg | 3 Tage | |||
| ABC-202 | Graz | 3 Tage | |||
| ABC-202 | Wien | 3 Tage | |||
| ABC-202 | Inhaus / Firmenseminar | 3 Tage | |||
| ABC-202 | Stream live | 3 Tage | |||
| ABC-202 | Innsbruck | 3 Tage | |||
| ABC-202 | Stream gespeichert | 3 Tage | |||
| ABC-202 | Klagenfurt | 3 Tage | |||
| ABC-202 | Bregenz | 3 Tage | |||
| ABC-202 | Linz | 3 Tage |
