OOPM 2015/16 - Konkrete Syntaxdefinition

Skript zur Vorlesung

  • Konkrete Syntaxdefinition [.pdf]
  • Beispielgrammatiken:
    • BNL (Binary Number Language): [.bgl]; [.egl]
    • BIPL (Basic Imperative Programming Language): [.egl]
    • FSML (Finite State Machine Language): [.egl]
    • Java (8) [.g4]
    • Grammar Zoo [.html]

Fragestellungen aus der Vorlesung

  • Welche Zeichenketten sind gültige Java-Programme?
  • Wie können solchen Zeichenketten regelbasiert definiert werden?
  • Was ist die Struktur von gültigen Java-Programmen?
    • Ausdrucksformen
    • Anweisungsformen
      • If-then-else
      • While-Schleifen
      • Do-while-Schleifen
      • For-Schleifen
      • Continue und Break
  • Was sind die formalen Grundlagen der Syntaxdefinition? (Begriffe und Definitionen)
    • Kontext-freie Grammatik
    • Kontext-freie Ableitung
    • Sprache generiert durch eine Grammatik
    • Syntaxbaum
    • Wohlgeformtheit einer Grammatik (Produktivität und Erreichbarkeit)
    • Mehrdeutigkeit einer Grammatik

Empfehlungen zur Nachbereitung

  • Siehe vorhergehende Vorlesung
  • Grammatikregeln zu Fragmenten von Java
  • Grammatikregeln zu svn-Zugriffsrechten