Die Schulung behandelt den Aufbau von Clang-basierten Werkzeugen für Analyse, Migration und Automatisierung in C-, C++- und Objective-C-Codebasen. Im Mittelpunkt stehen reproduzierbare Arbeitsweisen mit AST-Matchern, Traversal-Klassen, Diagnosen, Fix-it-Hints und testbaren Tooling-Komponenten.
Die Inhalte sind auf Entwicklungsteams ausgelegt, die bestehende Codebasen systematisch prüfen, Modernisierungen vorbereiten oder eigene Compiler-nahe Werkzeuge in Build-Pipelines integrieren. Alle Übungen arbeiten mit kleinen, kontrollierten Beispielprojekten und werden schrittweise zu einem wiederverwendbaren Analysewerkzeug ausgebaut.
Kapitel 1: Frontend-Struktur und AST-Modell
Inhaltsverzeichnis
- Clang-Treiber, Frontend-Aktionen und Übersetzungseinheiten
- AST-Knoten, Source Locations und Typinformationen
- Diagnosen und reproduzierbare Compiler-Aufrufe
Schritt 1: Compiler-Aufruf zerlegen
Der Compiler-Aufruf wird in Vorverarbeitung, Parsing, semantische Analyse und Codegenerierung gegliedert. Für Tooling-Aufgaben wird festgelegt, welche Phase benötigt wird und welche Informationen über Compile Commands verfügbar sein müssen.
Schritt 2: AST gezielt untersuchen
Eine Übersetzungseinheit wird analysiert, indem Deklarationen, Statements, Typen und Quellpositionen systematisch ausgelesen werden. Der Fokus liegt auf stabilen Zugriffsmustern, damit Werkzeuge auch bei größeren Codebasen nachvollziehbar arbeiten.
Schritt 3: Diagnosen einordnen
Eigene Prüfungen werden mit klaren Diagnosemeldungen, Kategorien und Quellbereichen versehen. Dadurch entsteht eine Grundlage für automatisierte Berichte und optionale Korrekturvorschläge.
Kapitel 2: LibTooling, Matcher und Refactoring
Inhaltsverzeichnis
- AST-Matcher entwerfen
- Callbacks und Traversal-Logik implementieren
- Fix-it-Hints und Rewrite-Regeln absichern
Schritt 1: Matcher formulieren
Suchmuster werden vom einfachen Funktionsaufruf bis zu verschachtelten Klassen- und Template-Strukturen aufgebaut. Jede Regel wird so formuliert, dass falsche Treffer systematisch reduziert werden.
Schritt 2: Analyseaktion implementieren
Die Treffer werden in Callback-Komponenten verarbeitet. Dabei werden Kontextdaten, Symbolnamen, Typen und Quellpositionen gesammelt und in ein einheitliches Ergebnisformat überführt.
Schritt 3: Refactoring kontrollieren
Quellcode-Änderungen werden über Rewriter-Mechanismen vorbereitet und anhand von Testfällen geprüft. Besondere Aufmerksamkeit gilt Makros, Include-Grenzen und Formatierungsfolgen.
Kapitel 3: Tool-Integration und Qualitätssicherung
Inhaltsverzeichnis
- Compile Database und Build-Integration
- clang-tidy-artige Checks strukturieren
- Tests, CI und Wartbarkeit
Schritt 1: Projektintegration vorbereiten
Das Werkzeug wird mit einer Compile Database verbunden. Unterschiedliche Zielplattformen, Include-Pfade und Konfigurationsvarianten werden berücksichtigt.
Schritt 2: Regeln paketieren
Analyse- und Refactoring-Regeln werden modularisiert. Konfiguration, Schweregrade und Ausschlusslisten werden so aufgebaut, dass Teams Regeln getrennt aktivieren können.
Schritt 3: Ausführung automatisieren
Tests prüfen Treffer, Nicht-Treffer und Korrekturvorschläge. Für CI-Szenarien werden Exit-Codes, maschinenlesbare Ausgaben und inkrementelle Ausführung berücksichtigt.
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.
Fachbereichsleitung / Trainerleitung / Ansprechpartner
-

Michael Adler
Telefon: + 41 (800) 225127
E-Mail: michael.adler@seminar-experts.ch -

Stefano Conti
Telefon: + 41 (800) 225127
E-Mail: stefano.conti@seminar-experts.ch
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich und Webinar: CHF 1.797 zzgl. MwSt. Inhaus: CHF 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmerkreis: | Compiler-nahe Softwareentwicklung, Plattformteams, Toolchain Engineering, Qualitätssicherung, Embedded-Entwicklung |
| Voraussetzungen: | Sichere C++-Kenntnisse, Grundverständnis von Compiler-Phasen und Erfahrung mit CMake oder vergleichbaren Build-Systemen |
| Standorte: | Live-Online, Firmenstandort, Schulungszentrum |
| Unterlagen: | Seminarunterlagen, Übungen, Beispielprojekte |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
