DEMO ENGLISH CONFIG (1.0) ROOTCAT ROOT. LEXENTRIES (DEMO ENGLISH). RULES (DEMO ENGLISH). TEMPLATES (DEMO ENGLISH). FEATURES (DEMO ENGLISH). GOVERNABLERELATIONS SUBJ OBJ COMP OBL OBJ2. SEMANTICFUNCTIONS ADJUNCT. NONDISTRIBUTIVES NUM PERS CONJ-FORM COORD-LEVEL. ---- DEMO ENGLISH FEATURES (1.0) ADJUNCT-TYPE: -> $ { S VP NP AP }. CASE: -> $ { nom acc }. PERS: -> $ { 1 2 3 }. NUM: -> $ { sg pl }. TNS-ASP: -> << [ TENSE ASPECT ]. ASPECT: -> $ { prog perf simple }. TENSE: -> $ { pres past }. CONJ-FORM: -> $ { and or }. PCASE. "don't list since have so many" SPEC: -> $ { def indef }. COMP-FORM: -> $ { that }. ---- DEMO ENGLISH RULES (1.0) ROOT --> S (@SENT-PUNCT) "@ hides the PUNCT label in the tree". S --> (ADV: @(ADJUNCT S)) NP: @UP-SUBJ @(DOWN-CASE nom); { VP |VPaux}. SENT-PUNCT --> { PERIOD |EXCL}. VP --> V { (NP: @UP-OBJ @(DOWN-CASE acc)) |NP: @UP-OBJ @(DOWN-CASE acc); (NP: @UP-OBJ2 @(DOWN-CASE acc))} { ADV: @(ADJUNCT VP) |PP: { @(ADJUNCT VP) |@UP-OBL}}*. VPaux --> AUX VP. NP --> { (D) AP*: @(ADJUNCT NP); N PP*: @(ADJUNCT NP) |PRON}. PP --> P NP: @UP-OBJ @(DOWN-CASE acc). AP --> (AMOD: @(ADJUNCT AP)) A. SC-COORD(_CAT) = "basic same category coordination for things other than nominals" _CAT: @IN-SET; "IN-SET gives ! $ ^" CONJ _CAT: @IN-SET. NP-COORD(_CAT) = "basic coordination for nominals" _CAT: @IN-SET; "IN-SET gives ! $ ^" CONJ _CAT: @IN-SET. METARULEMACRO(_CAT _BASECAT _RHS) = "operates on all rules" "you can ignore _BASECAT in this grammar" _RHS. "allows METARULEMACRO to apply to these categories" V --> TRUE. N --> TRUE. PRON --> TRUE. A --> TRUE. ---- DEMO ENGLISH TEMPLATES (1.0) PERS(_V) = (^ PERS)=_V. CONJ(_C) = "conjunction" (^ CONJ-FORM)=_C. IN-SET = ! $ ^. ADJECTIVE(_P) = @(PRED _P). COUNT-NOUN-SG(_P) = @(NOUN-SG _P) @COUNT-NOUN. COUNT-NOUN-PL(_P) = @(NOUN-PL _P) @COUNT-NOUN. COUNT-NOUN = "spec requirements for count nouns" { (^ NUM)=pl |(^ SPEC)}. NOUN-SG(_P) = "template for singular nouns" @(PRED _P) @(NUM sg). NOUN-PL(_P) = "template for plural nouns" @(PRED _P) @(NUM pl). PRED(_P) = "basic PRED with no arguments" (^ PRED)='_P'. TNS-ASP(_T _A) = @(TENSE _T) @(ASPECT _A). PREPOSITION(_V) = (^ PRED)='_V<(^OBJ)>' (^ OBJ PCASE)=_V. SPEC(_V) = (^ SPEC)=_V. V3SG = { (^ SUBJ NUM)=sg |(^ SUBJ PERS)= 3} @(TENSE pres). VPROG = (^ ASPECT)=c prog. VPERF = (^ ASPECT)=c perf. V-NOT-3SG = { (^ SUBJ NUM) =sg (^ SUBJ PERS)~=3 |(^ SUBJ PERS)= 3}. V-INTRANS(_P) = (^PRED)='_P<(^ SUBJ)>'. V-TRANS(_P) = (^PRED)='_P<(^ SUBJ)(^ OBJ)>'. V-INTRANS-TRANS(_P) = { @(V-INTRANS _P) |@(V-TRANS _P)}. V-DITRANS(_P) = (^PRED)='_P<(^ SUBJ)(^ OBJ)(^ OBJ2)>'. V-OBL(_P _PREP) = (^PRED)='_P<(^ SUBJ)(^ OBL)>' (^ OBL OBJ PCASE)=c _PREP. V-COMP(_P) = (^ PRED)='_P<(^ SUBJ)(^ COMP)>'. ASPECT(_V) = (^ ASPECT)=_V. TENSE(_V) = (^ TENSE)=_V. NUM(_V) = "assigns value to number feature" (^ NUM)=_V. UP-OBJ = "annotation to assign object function" @(UP-GF OBJ). UP-SUBJ = @(UP-GF SUBJ). UP-OBL = @(UP-GF OBL). UP-OBJ2 = @(UP-GF OBJ2). ADJUNCT(_T) = ! $ (^ ADJUNCT) (! ADJUNCT-TYPE)= _T. DOWN-CASE(_V) = (! CASE)=_V. UP-GF(_GF) = "generic annotation to assign a grammatical function" (^ _GF)=!. PRON(_P _PERS _NUM _CASE) = @(PRED _P) @(PERS _PERS) @(NUM _NUM) (^ CASE)=_CASE. COMP-FORM(_F) = (^ COMP-FORM) = _F. ---- DEMO ENGLISH LEXICON (1.0) and CONJ * @(CONJ and). or CONJ * @(CONJ or). is AUX * @(TNS-ASP pres prog) @V3SG. are AUX * @(TNS-ASP pres prog) @V-NOT-3SG. has AUX * @(TNS-ASP pres perf) @V3SG. have AUX * @(TNS-ASP pres perf) @V-NOT-3SG. in P * @(PREPOSITION in). about P * @(PREPOSITION about). with P * @(PREPOSITION with). the D * @(SPEC def). a D * @(SPEC indef) @(NUM sg). an D * @(SPEC indef) @(NUM sg). girl N * @(COUNT-NOUN-SG girl). girls N * @(COUNT-NOUN-PL girl). purple A * @(ADJECTIVE purple). garden N * @(COUNT-NOUN-SG garden). gardens N * @(COUNT-NOUN-PL garden). monkey N * @(COUNT-NOUN-SG monkey). monkeys N * @(COUNT-NOUN-PL monkey). banana N * @(COUNT-NOUN-SG banana). bananas N * @(COUNT-NOUN-PL banana). telescope N * @(COUNT-NOUN-SG telescope). telescopes N * @(COUNT-NOUN-PL telescope). park N * @(COUNT-NOUN-SG park); V * @(V-INTRANS park) @(TNS-ASP pres simple) @V-NOT-3SG. parks N * @(COUNT-NOUN-PL park); V * @(V-INTRANS park) @(TNS-ASP pres simple) @V3SG. sheep N * @(PRED sheep) @COUNT-NOUN. devours V * @(V-TRANS devour) @V3SG @(TNS-ASP pres simple). sees V * @(V-TRANS see) @V3SG @(TNS-ASP pres simple). saw V * @(V-TRANS see) @(TNS-ASP past simple). seen V * @(V-TRANS see) @VPERF. devoured V * @(V-TRANS devour) { @(TNS-ASP past simple) |@VPERF }. devouring V * @(V-TRANS devour) @VPROG. laughed V * @(V-INTRANS laugh) { @(TNS-ASP past simple) |@VPERF}. sleeping V * @(V-INTRANS sleep) @VPROG; A * @(ADJECTIVE sleeping). sleeps V * @(V-INTRANS sleep) @V3SG @(TNS-ASP pres simple). sleep V * @(V-INTRANS sleep) @V-NOT-3SG @(TNS-ASP pres simple). slept V * @(V-INTRANS sleep) @V-NOT-3SG { @(TNS-ASP past simple) |@VPERF}. yesterday ADV * @(PRED yesterday). today ADV * @(PRED today). give V * @(V-DITRANS give) @V-NOT-3SG @(TNS-ASP pres simple). gives V * @(V-DITRANS give) @V3SG @(TNS-ASP pres simple). gave V * @(V-DITRANS give) @(TNS-ASP past simple). giving V * @(V-DITRANS give) @VPROG. thought V * { @(V-OBL think about) |@(V-INTRANS think)} @(TNS-ASP past simple). orange N * @(COUNT-NOUN-SG orange); A * @(ADJECTIVE orange). ate V * @(V-INTRANS-TRANS eat) @(TNS-ASP past simple). eats V * @(V-INTRANS-TRANS eat) @(TNS-ASP pres simple) @V3SG. eat V * @(V-INTRANS-TRANS eat) @(TNS-ASP pres simple) @V-NOT-3SG. eating V * @(V-INTRANS-TRANS eat) @VPROG. turnips N * @(COUNT-NOUN-PL turnip). very AMOD * @(PRED very). . PERIOD *. ! EXCL *. he PRON * @(PRON he 3 sg nom). him PRON * @(PRON he 3 sg acc). she PRON * @(PRON she 3 sg nom). her PRON * @(PRON she 3 sg acc). I PRON * @(PRON I 1 sg nom). me PRON * @(PRON I 1 sg acc). they PRON * @(PRON they 3 pl nom). them PRON * @(PRON they 3 pl acc). you PRON * { @(PRON you 2 pl acc) "just treat as plural for now" |@(PRON you 2 pl nom)}. that COMP * @(COMP-FORM that). ----