Automaten und SprachenIn diesem KapitelZustandsorientierte ModellierungSprachen und AutomatenCompiler und InterpreterqStartseite4. Automaten & Sprachen1. 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. Übungen2. 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-Assemblerprogramme3. 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