
;Reading at top level in Editor Typeout Window 1.
;Reading in base 10 in package USER with standard Zetalisp readtable.

(setq *verbose* nil)
NIL
(run-tests)

+++Test parsing (KEITH WORK) with SIMPLE
---Result is:
NIL
---Left to parse: NIL

+++Test parsing (THE LAMBDA) with NOUN-P
---Result is:
(NOUN-P
 (FULL-NP
  ((NP-MOD ((DET THE))) (SIMPLE-NP ((NOUN LAMBDA))))))
---Left to parse: NIL

+++Test parsing (EAT SLOW) with VERB-MOD-P
---Result is:
(VERB-MOD-P (VERB EAT) (VERB-MOD ((ADVERB SLOW))))
---Left to parse: NIL

+++Test parsing (MY YELLOW DOG CAN EAT) with STATEMENT
---Result is:
(STATEMENT
 (NOUN-P
  ((FULL-NP
    ((NP-MOD ((POSSN MY)))
     (ADJECTS ((ADJECT YELLOW)))
     (SIMPLE-NP ((NOUN DOG)))))))
 (VERB-P ((VERB-AUX ((AUX-VERB CAN) (VERB EAT))))))
---Left to parse: NIL

+++Test parsing (WILL THE DOG EAT ?) with SENTENCE
---Result is:
(SENTENCE
 (QUESTION
  ((AUX-VERB WILL)
   (NOUN-P
    ((FULL-NP
      ((NP-MOD ((DET THE)))
       (SIMPLE-NP ((NOUN DOG)))))))
   (VERB-MOD-P ((VERB EAT)))
   (PUNCT ?))))
---Left to parse: NIL

+++Test parsing (THE LAMBDA WILL NOT CRASH) with SENTENCE
---Result is:
(SENTENCE
 (STATEMENT
  ((NOUN-P
    ((FULL-NP
      ((NP-MOD ((DET THE)))
       (SIMPLE-NP ((NOUN LAMBDA)))))))
   (VERB-P
    ((VERB-AUX
      ((AUX-VERB WILL)
       (EMPHASIS ((NEGATIVE NOT)))
       (VERB CRASH))))))))
---Left to parse: NIL

+++Test parsing (UNIX CAN INDEED CRASH THE LAMBDA) with SENTENCE
---Result is:
(SENTENCE
 (STATEMENT
  ((NOUN-P ((SIMPLE-NP ((PNOUN UNIX)))))
   (VERB-P
    ((VERB-AUX
      ((AUX-VERB CAN)
       (EMPHASIS ((POSITIVE INDEED)))
       (VERB CRASH)
       (NOUN-P
        ((FULL-NP
          ((NP-MOD ((DET THE)))
           (SIMPLE-NP ((NOUN LAMBDA))))))))))))))
---Left to parse: NIL

NIL
(setq *verbose* t)
T
(run-tests)

+++Test parsing (KEITH WORK) with SIMPLE
Consume-Terms (KEITH WORK) by (NOUN VERB)
Consume-Word KEITH by NOUN
Parse failed found KEITH expected NOUN.
---Result is:
NIL
---Left to parse: NIL

+++Test parsing (THE LAMBDA) with NOUN-P
Consume-either (THE LAMBDA) by any of (SIMPLE-NP FULL-NP)
Consume-either (THE LAMBDA) by any of (NOUN PNOUN)
Consume-either (THE LAMBDA) by any of (PNOUN)
Consume-either (THE LAMBDA) by any of NIL
Consume-either (THE LAMBDA) by any of (FULL-NP)
Consume-Seq (THE LAMBDA) by ((:OPTIONAL NP-MOD) (:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (THE LAMBDA) by (NP-MOD)
Consume-Rule (THE LAMBDA) by NP-MOD
Consume-either (THE LAMBDA) by any of (DET POSSN)
Consume-Seq (LAMBDA) by ((:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (LAMBDA) by (ADJECTS)
Consume-Rule (LAMBDA) by ADJECTS
Consume-any (LAMBDA) by any of (ADJECT)
Consume-Seq (LAMBDA) by (SIMPLE-NP)
Consume-Rule (LAMBDA) by SIMPLE-NP
Consume-either (LAMBDA) by any of (NOUN PNOUN)
---Result is:
(NOUN-P
 (FULL-NP
  ((NP-MOD ((DET THE))) (SIMPLE-NP ((NOUN LAMBDA))))))
---Left to parse: NIL

+++Test parsing (EAT SLOW) with VERB-MOD-P
Consume-Seq (EAT SLOW) by (VERB (:OPTIONAL VERB-MOD))
Consume-Word EAT by VERB
Parse ok EAT = VERB.
Consume-Seq (SLOW) by ((:OPTIONAL VERB-MOD))
Consume-Seq (SLOW) by (VERB-MOD)
Consume-Rule (SLOW) by VERB-MOD
Consume-either (SLOW) by any of (ADVERB VERB-OBJ)
---Result is:
(VERB-MOD-P (VERB EAT) (VERB-MOD ((ADVERB SLOW))))
---Left to parse: NIL

+++Test parsing (MY YELLOW DOG CAN EAT) with STATEMENT
Consume-Seq (MY YELLOW DOG CAN EAT) by (NOUN-P VERB-P (:OPTIONAL PUNCT))
Consume-Rule (MY YELLOW DOG CAN EAT) by NOUN-P
Consume-either (MY YELLOW DOG CAN EAT) by any of (SIMPLE-NP FULL-NP)
Consume-either (MY YELLOW DOG CAN EAT) by any of (NOUN PNOUN)
Consume-either (MY YELLOW DOG CAN EAT) by any of (PNOUN)
Consume-either (MY YELLOW DOG CAN EAT) by any of NIL
Consume-either (MY YELLOW DOG CAN EAT) by any of (FULL-NP)
Consume-Seq (MY YELLOW DOG CAN EAT) by ((:OPTIONAL NP-MOD) (:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (MY YELLOW DOG CAN EAT) by (NP-MOD)
Consume-Rule (MY YELLOW DOG CAN EAT) by NP-MOD
Consume-either (MY YELLOW DOG CAN EAT) by any of (DET POSSN)
Consume-either (MY YELLOW DOG CAN EAT) by any of (POSSN)
Consume-Seq (YELLOW DOG CAN EAT) by ((:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (YELLOW DOG CAN EAT) by (ADJECTS)
Consume-Rule (YELLOW DOG CAN EAT) by ADJECTS
Consume-any (YELLOW DOG CAN EAT) by any of (ADJECT)
Got YELLOW with ADJECT
Consume-any (DOG CAN EAT) by any of (ADJECT)
Consume-Seq (DOG CAN EAT) by (SIMPLE-NP)
Consume-Rule (DOG CAN EAT) by SIMPLE-NP
Consume-either (DOG CAN EAT) by any of (NOUN PNOUN)
Consume-Seq (CAN EAT) by (VERB-P (:OPTIONAL PUNCT))
Consume-Rule (CAN EAT) by VERB-P
Consume-either (CAN EAT) by any of (VERB-MOD-P VERB-AUX)
Consume-Seq (CAN EAT) by (VERB (:OPTIONAL VERB-MOD))
Consume-Word CAN by VERB
Parse failed found CAN expected VERB.
Consume-either (CAN EAT) by any of (VERB-AUX)
Consume-Seq (CAN EAT) by (AUX-VERB (:OPTIONAL EMPHASIS) VERB (:OPTIONAL NOUN-P))
Consume-Word CAN by AUX-VERB
Parse ok CAN = AUX-VERB.
Consume-Seq (EAT) by ((:OPTIONAL EMPHASIS) VERB (:OPTIONAL NOUN-P))
Consume-Seq (EAT) by (EMPHASIS)
Consume-Rule (EAT) by EMPHASIS
Consume-either (EAT) by any of (NEGATIVE POSITIVE)
Consume-either (EAT) by any of (POSITIVE)
Consume-either (EAT) by any of NIL
Consume-Seq (EAT) by (VERB (:OPTIONAL NOUN-P))
Consume-Word EAT by VERB
Parse ok EAT = VERB.
Consume-Seq NIL by ((:OPTIONAL NOUN-P))
Consume-Seq NIL by (NOUN-P)
Consume-Seq NIL by NIL
Consume-Seq NIL by ((:OPTIONAL PUNCT))
Consume-Seq NIL by (PUNCT)
Consume-Seq NIL by NIL
---Result is:
(STATEMENT
 (NOUN-P
  ((FULL-NP
    ((NP-MOD ((POSSN MY)))
     (ADJECTS ((ADJECT YELLOW)))
     (SIMPLE-NP ((NOUN DOG)))))))
 (VERB-P ((VERB-AUX ((AUX-VERB CAN) (VERB EAT))))))
---Left to parse: NIL

+++Test parsing (WILL THE DOG EAT ?) with SENTENCE
Consume-either (WILL THE DOG EAT ?) by any of (QUESTION STATEMENT)
Consume-Seq (WILL THE DOG EAT ?) by (AUX-VERB NOUN-P VERB-MOD-P (:OPTIONAL PUNCT))
Consume-Word WILL by AUX-VERB
Parse ok WILL = AUX-VERB.
Consume-Seq (THE DOG EAT ?) by (NOUN-P VERB-MOD-P (:OPTIONAL PUNCT))
Consume-Rule (THE DOG EAT ?) by NOUN-P
Consume-either (THE DOG EAT ?) by any of (SIMPLE-NP FULL-NP)
Consume-either (THE DOG EAT ?) by any of (NOUN PNOUN)
Consume-either (THE DOG EAT ?) by any of (PNOUN)
Consume-either (THE DOG EAT ?) by any of NIL
Consume-either (THE DOG EAT ?) by any of (FULL-NP)
Consume-Seq (THE DOG EAT ?) by ((:OPTIONAL NP-MOD) (:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (THE DOG EAT ?) by (NP-MOD)
Consume-Rule (THE DOG EAT ?) by NP-MOD
Consume-either (THE DOG EAT ?) by any of (DET POSSN)
Consume-Seq (DOG EAT ?) by ((:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (DOG EAT ?) by (ADJECTS)
Consume-Rule (DOG EAT ?) by ADJECTS
Consume-any (DOG EAT ?) by any of (ADJECT)
Consume-Seq (DOG EAT ?) by (SIMPLE-NP)
Consume-Rule (DOG EAT ?) by SIMPLE-NP
Consume-either (DOG EAT ?) by any of (NOUN PNOUN)
Consume-Seq (EAT ?) by (VERB-MOD-P (:OPTIONAL PUNCT))
Consume-Rule (EAT ?) by VERB-MOD-P
Consume-Seq (EAT ?) by (VERB (:OPTIONAL VERB-MOD))
Consume-Word EAT by VERB
Parse ok EAT = VERB.
Consume-Seq (?) by ((:OPTIONAL VERB-MOD))
Consume-Seq (?) by (VERB-MOD)
Consume-Rule (?) by VERB-MOD
Consume-either (?) by any of (ADVERB VERB-OBJ)
Consume-either (?) by any of (VERB-OBJ)
Consume-Seq (?) by (NOUN-P (:OPTIONAL ADVERB))
Consume-Rule (?) by NOUN-P
Consume-either (?) by any of (SIMPLE-NP FULL-NP)
Consume-either (?) by any of (NOUN PNOUN)
Consume-either (?) by any of (PNOUN)
Consume-either (?) by any of NIL
Consume-either (?) by any of (FULL-NP)
Consume-Seq (?) by ((:OPTIONAL NP-MOD) (:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (?) by (NP-MOD)
Consume-Rule (?) by NP-MOD
Consume-either (?) by any of (DET POSSN)
Consume-either (?) by any of (POSSN)
Consume-either (?) by any of NIL
Consume-Seq (?) by ((:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (?) by (ADJECTS)
Consume-Rule (?) by ADJECTS
Consume-any (?) by any of (ADJECT)
Consume-Seq (?) by (SIMPLE-NP)
Consume-Rule (?) by SIMPLE-NP
Consume-either (?) by any of (NOUN PNOUN)
Consume-either (?) by any of (PNOUN)
Consume-either (?) by any of NIL
Consume-either (?) by any of NIL
Consume-either (?) by any of NIL
Consume-Seq (?) by NIL
Consume-Seq (?) by ((:OPTIONAL PUNCT))
Consume-Seq (?) by (PUNCT)
Consume-Word ? by PUNCT
Parse ok ? = PUNCT.
---Result is:
(SENTENCE
 (QUESTION
  ((AUX-VERB WILL)
   (NOUN-P
    ((FULL-NP
      ((NP-MOD ((DET THE)))
       (SIMPLE-NP ((NOUN DOG)))))))
   (VERB-MOD-P ((VERB EAT)))
   (PUNCT ?))))
---Left to parse: NIL

+++Test parsing (THE LAMBDA WILL NOT CRASH) with SENTENCE
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (QUESTION STATEMENT)
Consume-Seq (THE LAMBDA WILL NOT CRASH) by (AUX-VERB NOUN-P VERB-MOD-P (:OPTIONAL PUNCT))
Consume-Word THE by AUX-VERB
Parse failed found THE expected AUX-VERB.
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (STATEMENT)
Consume-Seq (THE LAMBDA WILL NOT CRASH) by (NOUN-P VERB-P (:OPTIONAL PUNCT))
Consume-Rule (THE LAMBDA WILL NOT CRASH) by NOUN-P
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (SIMPLE-NP FULL-NP)
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (NOUN PNOUN)
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (PNOUN)
Consume-either (THE LAMBDA WILL NOT CRASH) by any of NIL
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (FULL-NP)
Consume-Seq (THE LAMBDA WILL NOT CRASH) by ((:OPTIONAL NP-MOD) (:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (THE LAMBDA WILL NOT CRASH) by (NP-MOD)
Consume-Rule (THE LAMBDA WILL NOT CRASH) by NP-MOD
Consume-either (THE LAMBDA WILL NOT CRASH) by any of (DET POSSN)
Consume-Seq (LAMBDA WILL
  NOT
  CRASH) by ((:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (LAMBDA WILL
  NOT
  CRASH) by (ADJECTS)
Consume-Rule (LAMBDA WILL
  NOT
  CRASH) by ADJECTS
Consume-any (LAMBDA WILL
  NOT
  CRASH) by any of (ADJECT)
Consume-Seq (LAMBDA WILL
  NOT
  CRASH) by (SIMPLE-NP)
Consume-Rule (LAMBDA WILL
  NOT
  CRASH) by SIMPLE-NP
Consume-either (LAMBDA WILL
  NOT
  CRASH) by any of (NOUN PNOUN)
Consume-Seq (WILL NOT CRASH) by (VERB-P (:OPTIONAL PUNCT))
Consume-Rule (WILL NOT CRASH) by VERB-P
Consume-either (WILL NOT CRASH) by any of (VERB-MOD-P VERB-AUX)
Consume-Seq (WILL NOT CRASH) by (VERB (:OPTIONAL VERB-MOD))
Consume-Word WILL by VERB
Parse failed found WILL expected VERB.
Consume-either (WILL NOT CRASH) by any of (VERB-AUX)
Consume-Seq (WILL NOT CRASH) by (AUX-VERB (:OPTIONAL EMPHASIS) VERB (:OPTIONAL NOUN-P))
Consume-Word WILL by AUX-VERB
Parse ok WILL = AUX-VERB.
Consume-Seq (NOT CRASH) by ((:OPTIONAL EMPHASIS) VERB (:OPTIONAL NOUN-P))
Consume-Seq (NOT CRASH) by (EMPHASIS)
Consume-Rule (NOT CRASH) by EMPHASIS
Consume-either (NOT CRASH) by any of (NEGATIVE POSITIVE)
Consume-Seq (CRASH) by (VERB (:OPTIONAL NOUN-P))
Consume-Word CRASH by VERB
Parse ok CRASH = VERB.
Consume-Seq NIL by ((:OPTIONAL NOUN-P))
Consume-Seq NIL by (NOUN-P)
Consume-Seq NIL by NIL
Consume-Seq NIL by ((:OPTIONAL PUNCT))
Consume-Seq NIL by (PUNCT)
Consume-Seq NIL by NIL
---Result is:
(SENTENCE
 (STATEMENT
  ((NOUN-P
    ((FULL-NP
      ((NP-MOD ((DET THE)))
       (SIMPLE-NP ((NOUN LAMBDA)))))))
   (VERB-P
    ((VERB-AUX
      ((AUX-VERB WILL)
       (EMPHASIS ((NEGATIVE NOT)))
       (VERB CRASH))))))))
---Left to parse: NIL

+++Test parsing (UNIX CAN INDEED CRASH THE LAMBDA) with SENTENCE
Consume-either (UNIX CAN INDEED CRASH THE LAMBDA) by any of (QUESTION STATEMENT)
Consume-Seq (UNIX CAN INDEED CRASH THE LAMBDA) by (AUX-VERB NOUN-P VERB-MOD-P (:OPTIONAL PUNCT))
Consume-Word UNIX by AUX-VERB
Parse failed found UNIX expected AUX-VERB.
Consume-either (UNIX CAN INDEED CRASH THE LAMBDA) by any of (STATEMENT)
Consume-Seq (UNIX CAN INDEED CRASH THE LAMBDA) by (NOUN-P VERB-P (:OPTIONAL PUNCT))
Consume-Rule (UNIX CAN INDEED CRASH THE LAMBDA) by NOUN-P
Consume-either (UNIX CAN INDEED CRASH THE LAMBDA) by any of (SIMPLE-NP FULL-NP)
Consume-either (UNIX CAN INDEED CRASH THE LAMBDA) by any of (NOUN PNOUN)
Consume-either (UNIX CAN INDEED CRASH THE LAMBDA) by any of (PNOUN)
Consume-Seq (CAN INDEED CRASH THE LAMBDA) by (VERB-P (:OPTIONAL PUNCT))
Consume-Rule (CAN INDEED CRASH THE LAMBDA) by VERB-P
Consume-either (CAN INDEED CRASH THE LAMBDA) by any of (VERB-MOD-P VERB-AUX)
Consume-Seq (CAN INDEED CRASH THE LAMBDA) by (VERB (:OPTIONAL VERB-MOD))
Consume-Word CAN by VERB
Parse failed found CAN expected VERB.
Consume-either (CAN INDEED CRASH THE LAMBDA) by any of (VERB-AUX)
Consume-Seq (CAN INDEED CRASH THE LAMBDA) by (AUX-VERB (:OPTIONAL EMPHASIS) VERB (:OPTIONAL NOUN-P))
Consume-Word CAN by AUX-VERB
Parse ok CAN = AUX-VERB.
Consume-Seq (INDEED CRASH THE LAMBDA) by ((:OPTIONAL EMPHASIS) VERB (:OPTIONAL NOUN-P))
Consume-Seq (INDEED CRASH THE LAMBDA) by (EMPHASIS)
Consume-Rule (INDEED CRASH THE LAMBDA) by EMPHASIS
Consume-either (INDEED CRASH THE LAMBDA) by any of (NEGATIVE POSITIVE)
Consume-either (INDEED CRASH THE LAMBDA) by any of (POSITIVE)
Consume-Seq (CRASH THE LAMBDA) by (VERB (:OPTIONAL NOUN-P))
Consume-Word CRASH by VERB
Parse ok CRASH = VERB.
Consume-Seq (THE LAMBDA) by ((:OPTIONAL NOUN-P))
Consume-Seq (THE LAMBDA) by (NOUN-P)
Consume-Rule (THE LAMBDA) by NOUN-P
Consume-either (THE LAMBDA) by any of (SIMPLE-NP FULL-NP)
Consume-either (THE LAMBDA) by any of (NOUN PNOUN)
Consume-either (THE LAMBDA) by any of (PNOUN)
Consume-either (THE LAMBDA) by any of NIL
Consume-either (THE LAMBDA) by any of (FULL-NP)
Consume-Seq (THE LAMBDA) by ((:OPTIONAL NP-MOD) (:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (THE LAMBDA) by (NP-MOD)
Consume-Rule (THE LAMBDA) by NP-MOD
Consume-either (THE LAMBDA) by any of (DET POSSN)
Consume-Seq (LAMBDA) by ((:OPTIONAL ADJECTS) SIMPLE-NP)
Consume-Seq (LAMBDA) by (ADJECTS)
Consume-Rule (LAMBDA) by ADJECTS
Consume-any (LAMBDA) by any of (ADJECT)
Consume-Seq (LAMBDA) by (SIMPLE-NP)
Consume-Rule (LAMBDA) by SIMPLE-NP
Consume-either (LAMBDA) by any of (NOUN PNOUN)
Consume-Seq NIL by ((:OPTIONAL PUNCT))
Consume-Seq NIL by (PUNCT)
Consume-Seq NIL by NIL
---Result is:
(SENTENCE
 (STATEMENT
  ((NOUN-P ((SIMPLE-NP ((PNOUN UNIX)))))
   (VERB-P
    ((VERB-AUX
      ((AUX-VERB CAN)
       (EMPHASIS ((POSITIVE INDEED)))
       (VERB CRASH)
       (NOUN-P
        ((FULL-NP
          ((NP-MOD ((DET THE)))
           (SIMPLE-NP ((NOUN LAMBDA))))))))))))))
---Left to parse: NIL

NIL
(dribble-all)