Automaten und Sprachen In diesem Kapitel Zustandsorientierte Modellierung Sprachen und Automaten Compiler und Interpreter q Startseite 4. Automaten & Sprachen 1. Zustandsorientierte Modellierung + 1. Zustandsbasierte Modellierung mit Simulation im Browser + 1. Türsysteme + 1. System 1 + 2. System 2 + 3. System 3 + 4. System 4 + 5. Fachkonzept - Endlicher Automat + 6. System 4 - neu + 2. Übungen + 1. Kunstautomat + 2. Ampel + 3. Zahlenschloss + 4. Garagentor + 5. Türsystem + 6. Der Becher-Zurück-O-Mat (Rollenspiel) + 7. Kunstautomat - Python + 2. Systemmodellierung mit Zustandsdiagrammen + 1. Einführung - Zustandsdiagramme + 1. Ereignisgesteuerte Zustandsübergänge + 2. Bedingte Zustandsübergänge + 3. Zustände mit Aktionen und Aktivitäten + 4. Selbst definierte Ereignisse + 2. Fallstudie - Digitaluhr + 1. Das Verhalten modellieren + 2. Das Modell implementieren + 3. Fallstudie - Aufzug + 1. Ein einfacher Aufzug + 1. Das Verhalten erkunden + 2. Das Verhalten modellieren + 3. Das Modell implementieren + 2. Ein Aufzug mit Referenzfahrt + 1. Das Verhalten erkunden + 2. Das Verhalten modellieren + 3. Das Modell implementieren + 4. Fallstudie - Zeichenstift + 1. Das Verhalten erkunden + 2. Das Verhalten modellieren + 3. Das Modell implementieren + 5. Fallstudie - Autorennen + 1. Eine Rennstrecke befahren + 2. Das Auto modellieren + 3. Eine Ziellinie modellieren + 4. Eine Stoppuhr modellieren + 6. Übungen + 3. Zustandsbasierte Modellierung mit Mikrocontrollern + 1. Grundbegriffe + 1. Erkundung - Drei Systeme + 2. Erkundung - Zustandsdiagramm + 3. Fachkonzept - Zustandsbasiertes Modell und Zustandsdiagramm + 4. Übung - Modelle erweitern + 5. Übung - Modelle konstruieren + 6. Erkundung - Determinismus + 7. Fachkonzept - Determinismus + 2. Modellierungstechniken + 1. Erkundung - Sensorsteuerung + 2. Erkundung - Effektfreie Übergänge + 3. Erkundung - Sequenzen + 4. Erkundung - Dauerschleifen (und Priorität der Ereignisse) + 5. Erkundung - Zeitsteuerung + 6. Erkundung - Funksteuerung + 3. Modellierungsprojekte + 1. Projekt - Pomodoro-Uhr + 2. Projekt - Eierlaufen + 3. Projekt - Aufstehwecker + 4. Projekt - Kanon, aber über Oberammergau + 4. Spielwiese + 5. Ausblick + 4. Vertiefung - Simulation in Python + 1. Modellierung + 2. Implementierung + 3. Übungen 2. Sprachen und Automaten + 1. Formale Sprachen + 1. Einführung - Sprache als Zeichensystem + 1. Kommunikation mit Zeichensystemen + 2. Syntax, Semantik, Pragmatik + 3. Sprachen in der Informatik + 2. Einführung - Formale Sprachen + 1. Beispiel - Römische Zahlen + 2. Beispiel - Chemische Verbindungen + 3. Fachkonzept - Formale Sprache + 4. Beispiel - Schach + 5. Beispiel - Ein Sprachenrätsel + 6. Übungen + 2. Sprachbeschreibung + 1. Sprachbeschreibung mit Syntaxdiagrammen + 1. Beispiel - Turtle-Programme + 2. Beispiel - Rechenausdrücke + 3. Beispiel - Biber-Song-Contest + 4. Fachkonzept - Syntaxdiagramm + 5. Exkurs - Eine Sprache zur Beschreibung von Syntaxdiagrammen + 6. Übungen + 2. Sprachbeschreibung mit Grammatiken + 1. Fallstudie - E-Mail-Adressen + 1. Validierung von E-Mail-Adressen + 2. Ein Blick in die RFC 822 + 3. Vereinfachte E-Mail-Adressen + 4. Eine Grammatik in erweiterter Backus-Naur-Form + 5. Eine Grammatik aus Produktionen + 6. Experimente mit JFlap + 2. Fallstudie - Zahlen + 1. Gleitkommazahlen in Python + 2. Ein Blick in die Grammatik von Python + 3. Grammatikregeln als Ersetzungsregeln + 4. Experimente mit dem Railroad Diagram Generator + 5. Experimente mit dem EBNF-Visualizer + 3. Fachkonzept - Grammatik + 4. Exkurs - Grammatik in erweiterter Backus-Naur-Form + 5. Exkurs - Alltagssprachen + 6. Übungen + 3. Sprachbeschreibung mit regulären Ausdrücken + 1. Fallstudie - Mustersuche + 1. Mustersuche in OpenOffice + 2. Mustersuche mit Python + 2. Exkurs - Regulärer Ausdrücke in der Praxis + 3. Fachkonzept - Regulärer Ausdruck + 4. Übungen + 3. Spracherkennung mit Automaten + 1. Spracherkennung mit endlichen Automaten + 1. Fallstudie - Zahlen + 1. Gleitkommazahlen in Python + 2. Spracherkennung mit der Brute-Force-Methode + 3. Ein zustandsbasiertes System zur Spracherkennung + 2. Fachkonzept - Endlicher Automat als Akzeptor + 3. Ausblick - Theoriebildung + 4. Übungen + 2. Endliche Automaten und reguläre Sprachen + 1. Fallstudie - Experimente mit JFlap + 1. Vom Automaten zur Grammatik + 2. Von der Grammatik zum Automaten + 3. Nichtdeterministische Automaten + 4. Vom regulären Ausdruck zum Automaten + 5. Vom Automaten zum regulären Ausdruck + 2. Fachkonzept - Reguläre Sprache + 3. Fachkonzept - Nichtdeterministischer Automat + 4. Theorie - Reguläre Sprachen und endliche Automaten + 5. Exkurs - Anwendung der Theorie + 6. Theorie - Reguläre Ausdrücke und endliche Automaten + 7. Exkurs - Aufwand bei der Spracherkennung + 8. Exkurs - Grenzen von endlichen Automaten + 9. Übungen + 3. Kellerautomat als Verarbeitungsmodell + 1. Fallstudie - Klammersprachen + 1. Beispiele für Klammersprachen + 2. Spracherkennung bei Klammersprachen + 3. Experimente mit JFlap + 2. Fachkonzept - Kellerautomat + 3. Ausblick - Theoriebildung + 4. Übungen + 4. Kellerautomaten und kontextfreie Sprachen + 1. Fallstudie - Experimente mit JFlap + 1. Von der Grammatik zum Kellerautomaten + 2. Vom Kellerautomaten zur Grammatik + 3. Strategien zur Erzeugung von Kellerautomaten + 2. Fachkonzept - Kontextfreie Sprache + 3. Theorie - Kontextfreie Sprachen und Kellerautomaten + 4. Exkurs - Shift-Reduce-Parser + 5. Übungen + 5. Turingmaschine als Verarbeitungsmodell + 1. Erkundung - Turingmaschine + 2. Fachkonzept - Turingmaschine + 3. Exkurs - Bedeutung der Turingmaschine + 4. Übungen + 4. Sprachverarbeitung + 1. Station - Die Bonsai-Assemblersprache + 2. Station - Tokenerzeugung mit dem Scanner + 3. Station - Syntaxanalyse mit dem Parser + 4. Station - Erzeugung eines Strukturgerüsts mit dem Parser + 5. Station - Ein Interpreter für Bonsai-Assemblerprogramme 3. Compiler und Interpreter + 1. Syntax und Semantik im Überblick + 1. Einstieg - Die Programmiersprache MyKa + 2. Exkurs - Die Programmiersprache MyKa + 3. Fachkonzept - Syntax + 4. Fachkonzept - Semantik + 2. Scanner und Parser im Überblick + 1. Einstieg - Die Programmiersprache MyKa + 2. Exkurs - MyKaList + 3. Fachkonzept - Scanner + 4. Fachkonzept - Parser + 3. Interpreter und Compiler im Überblick + 1. Einstieg - Die Programmiersprache MyKa + 2. Exkurs - MyKaGoto + 3. Fachkonzept - Interpreter + 4. Fachkonzept - Compiler + 4. Entwicklung eines Compilers - MyKa + 1. Station - Die Programmiersprache MyKa + 2. Station - LEX und YACC + 3. Station - Tokenerzeugung mit dem Scanner + 4. Station - Syntaxanalyse mit dem Parser + 5. Station - Erzeugung eines Strukturgerüsts mit dem Parser + 6. Station - Ein Interpreter für strukturierte MyKa-Programme + 7. Station - Ein Code-Erzeuger für strukturierte MyKa-Programme + 8. Station - Ein Code-Interpreter für strukturierte MyKaGoto-Programme + 9. Station - Simulationsprogramm zum Compiler + 5. Entwicklung eines Compilers - MyWhile + 1. Station - Die Programmiersprache MyWhile + 2. Station - LEX und YACC + 3. Station - Tokenerzeugung mit dem Scanner + 4. Station - Syntaxanalyse mit dem Parser + 5. Station - Erzeugung eines Strukturgerüsts mit dem Parser + 6. Station - Ein Interpreter für strukturierte MyWhile-Programme + 7. Station - Ein Code-Erzeuger für strukturierte MyWhile-Programme + 8. Station - Ein Code-Interpreter für strukturierte MyGoto-Programme + 9. Station - Simulationsprogramm zum Compiler + 6. Entwicklung eines Compilers - MiniPython + 1. Station - Die Programmiersprache MiniPython + 2. Station - LEX und YACC + 3. Station - Tokenerzeugung mit dem Scanner + 4. Station - Syntaxanalyse mit dem Parser + 5. Station - Erzeugung eines Strukturgerüsts mit dem Parser + 6. Station - Ein Interpreter für strukturierte MiniPython-Programme + 7. Station - Ein Code-Erzeuger für strukturierte MiniPython-Programme + 8. Station - Ein Code-Interpreter für Assemblerprogramme + 9. Station - Simulationsprogramm zum Compiler