# Compilerbau: Lexikalische Analyse & Endliche Automaten
> Lerne die Grundlagen des Compilerbaus: Von Quellcode zu Tokens, die Funktionsweise von Lexern (Scannern) und der Unterschied zwischen NFA und DFA.

Tags: informatik, compilerbau, lexikalische-analyse, endliche-automaten, nfa-dfa, lexer, programmierung
## Vom Quellcode zur Maschine
* Einführung in die lexikalische Analyse und Automaten für die 10. Klasse Informatik.

## Was ist ein Compiler?
* Der Compiler fungiert als Dolmetscher zwischen Mensch (Quellcode) und Maschine (Binärcode).

## Phasen des Compilers
1. Lexikalische Analyse (Scanner)
2. Syntaktische Analyse (Parser)
3. Semantische Analyse
4. Code-Generierung

## Lexikalische Analyse
* Der Scanner zerlegt Code wie `if (x == 10)` in Tokens: `[IF]`, `[LPAREN]`, `[ID:x]`, `[EQ]`, `[NUM:10]`, `[RPAREN]`.

## Theorie: Endliche Automaten
* **NFA (Nicht-Deterministisch):** Erlaubt mehrere Wege für ein Zeichen und Spontan-Übergänge (ϵ). Intuitiv für Menschen, aber Computer müssen "raten".
* **DFA (Deterministisch):** Eindeutige Wege für jedes Zeichen. Pure Logik, extrem schnell in O(n).

## Optimierung
* Compiler wandeln NFA in DFA um.
* Minimierung sorgt für speicheroptimierte Automaten.

## Zusammenfassung
* Prozess: Code ➜ RegEx ➜ NFA ➜ DFA ➜ Min-DFA ➜ Tokens.
---
This presentation was created with [Bobr AI](https://bobr.ai) — an AI presentation generator.