;;; -*- Mode: Lisp; Package: GPSG; Syntax: Common-Lisp; Base: 10 -*- 

;;; GRAMMAR DATA FILE

; Name: SENT2-GPSG  Type: SENTENCES

(add-rule-set 'SENT2-GPSG 'SENTENCES)
(add-rule-list 'SENT2-GPSG
  '((MEN TALK TO I)
    (THE MAN TALK TO ME)
    (WOMEN TALK TO MEN)
    (SHEEP TALK TO ME)
    (THE MAN TALKS TO SHEEP)
    ))

; Name: DICT2  Type: DICTIONARY

(add-rule-set 'DICT2 'DICTIONARY)
(add-rule-list 'DICT2
  '((A DET)
    (THE DET)
    (ABOUT P)
    (TO P)
    (ME (N CASE ACC))
    (I (N CASE NOM))
    (HIM (N CASE ACC))
    (TALKS (V PL -))
    (TALK (V PL +))
    (SHEEP N)
    (WOMEN (N PL +))
    (WOMAN (N PL -))
    (MEN (N PL +))
    (MAN (N PL -))
    ))

; Name: GPSG1  Type: GPSG

(add-rule-set 'GPSG1 'GPSG)
(add-rule-list 'GPSG1
  '(((NP PL ?A CASE ?B) ==> DET (N PL ?A CASE ?B))
    ((NP PL ?A CASE ?B) ==> (N PL ?A CASE ?B))
    ((VP PL ?B) ==> (V PL ?B) PP)
    (PP ==> P (NP CASE ACC))
    (S ==> (NP PL ?A) (VP PL ?A))
    ))

; Name: DICT1  Type: DICTIONARY

(add-rule-set 'DICT1 'DICTIONARY)
(add-rule-list 'DICT1
  '((WORCESTER NP*)
    (A DET)
    (AN DET)
    (THE DET)
    (FROM P)
    (OF P)
    (UP P)
    (IN P)
    (TO P)
    (ABOVE P)
    (INTO P)
    (DOG N)
    (CAT N)
    (MAN N)
    (WOMAN N)
    (TREE N)
    (STREET N)
    (STORE N)
    (HOUSE N)
    (CAR N)
    (BOY N)
    (GIRL N)
    (WALK V)
    (WALKED V)
    (TALK V)
    (TALKED V)
    (THREW V)
    (WALK N)
    (SHOT V)
    (SHOT N)
    (ISTANBUL NP*)
    (TIMBUCTOU NP*)
    ))

; Name: CFG1  Type: CFG

(add-rule-set 'CFG1 'CFG)
(add-rule-list 'CFG1
  '((ROOT ==> S)
    (ROOT ==> NP)
    (NP ==> DET N)
    (NP ==> NP PP)
    (PP ==> P NP)
    (PP ==> P PP)
    (VP ==> V)
    (VP ==> V NP)
    (VP ==> VP PP)
    (S ==> NP VP)
    (S ==> S PP)
    (NP ==> NP*)
    ))

; Name: SENT1  Type: SENTENCES

(add-rule-set 'SENT1 'SENTENCES)
(add-rule-list 'SENT1
  '((THE DOG WALKED IN THE STREET)
    (THE TALK IN THE TREE)
    (THE MAN FROM TIMBUCTOU SHOT THE GIRL FROM ISTANBUL)
    ))
