Hinweise zu Übung 13

Zur Übung 13 gibt es 5 Dateien:
  1. lexicon.lisp, ein Beispiel-ADT zum Lexikon,
  2. lexicon.txt, ein Beispiellexikonfile, (Achtung: Format beachten!)
  3. grammar.lisp, ein Beispiel-ADT zur Grammatik,
  4. grammar.txt, ein Beispielgrammatikfile, (Achtung: Format beachten!)
  5. parser.lisp, Code zum Parser, bitte die Kommentare am Anfang lesen!
;;; Der Aufruf des Parsers erfolgt mit:
;;;
;;; (is-sentece '("Das" "Boot" "sinkt") meine-grammatik mein-lexikon)
;;;
;;; Dabei m"ussen meine-grammatik und mein-lexikon an eine Grammatik, bzw. ein
;;; Lexikon gebunden sein, dass den ADTs aus "Ubung 11 und 12 entspricht:
;;;
;;; Die folgenden Funktionen werden als Interface zum Lexikon und zur Grammatik
;;; erwartet:
;;;
;;; (defun lhs (rule) ..)  liefert ein Symobl: die linke Seite der Regel
;;; (defun rhs (rule) ..)  liefert eine Liste von Symbolen: die rechte Seite der Regel
;;; (defun find-all-rules-with-first-rhs (grammatik kategorie) ..)
;;;                        liefert eine Liste von Regeln, die Kategorie als erstes auf
;;;                        der rechten Seite tragen
;;; (defun find-in-lexicon (lexikon wort-string) ..)
;;;                        liefert den Lexikoneintrag, der laut lexicon dem
;;;                        wort-string zugeordnet ist.
;;; (defun lex-entry-cat (lex-entry) ..) liefert zu einem Lexikoneintrag die Kategorie
;;;
;;; Beispiel:
;;;
;;; USER(354): (is-sentence '("Die" "alte" "Frau" "liest" "ein" "Buch" "in" "dem" "Bus") *grammatik* *lexikon*)
;;; ((S (NP (DET) (ADJ) (N))
;;;   (VP (V) (NP (DET) (N (N) (PP (PREP) (NP (DET) (N)))))))
;;;  (S (NP (DET) (ADJ) (N))
;;;   (VP (V) (NP (DET) (N)) (PP (PREP) (NP (DET) (N))))))
;;;
;;; eine Liste mit zwei Ableitungsb"aumen.

Tilman Becker