DEMO ENGLISH CONFIG (1.0)
ROOTCAT S.
FILES .
LEXENTRIES (DEMO ENGLISH).
TEMPLATES (DEMO ENGLISH).
RULES (DEMO ENGLISH).
GOVERNABLERELATIONS SUBJ OBJ OBJ2 COMP XCOMP OBL OBL-?+.
SEMANTICFUNCTIONS ADJUNCT TOPIC FOCUS POSS STANDARD.
NONDISTRIBUTIVES NUM PERS CONJ-FORM.
EPSILON e.
OPTIMALITYORDER NOGOOD.
----
DEMO ENGLISH RULES (1.0)
S --> NP: (^ SUBJ)=!
(! CASE)=NOM;
VP: ^=!.
VP --> (AUX)
V: ^=!;
(NP: (^ OBJ)=! "direct object"
(! CASE)=ACC)
(NP: (^ OBJ2)=! "secondary object"
(! CASE)=DAT)
PP*: { ! $ (^ ADJUNCT)
" (! PTYPE) =c sem " "see if we need it"
| (^ OBL) = !};
(PP: (^ OBL-TO) = !
"example of a constraining equation: require a value with =c"
(! PFORM) =c to)
(PP: (^ OBL-AG) = !
"example of a constraining equation: require a value with =c"
(! PFORM) =c by ).
NP --> (D)
Adj*: ! $ (^ ADJUNCT);
N.
PP --> { P: ^ = ! "head of PP"
(! PTYPE) =c sem;
NP: (^ OBJ) = !
|P: ^ = ! "head of PP"
(! PTYPE) =c nosem;
NP: ^ = !} .
----
DEMO ENGLISH TEMPLATES (1.0)
OPT-TRANS(P) = "template for verbs that can be trans or intrans"
{ @(TRANS P)
| @(INTRANS P) }.
INTRANS(P) = (^ PRED) = 'P<(^SUBJ)>'.
INTRANS-OBL(P) = (^ PRED) = 'P<(^SUBJ)(^OBL)>'.
"new TRANS Template allowing Passive Lexical Rule"
TRANS (P) = @(PASS (^ PRED)='P<(^ SUBJ) (^ OBJ)>').
"new DITRANS template, allowing Dative Shift and Passive"
"DITRANS (P) = @(PASS @(DAT-SHIFT (^ PRED)='P<(^ SUBJ) (^ OBJ) (^ OBJ2)>'))."
DITRANS (P) = @(PASS @(DAT-SHIFT (^ PRED)='P<(^ SUBJ) (^ OBJ) (^ OBL-TO)>')).
PASS(SCHEMATA) = { SCHEMATA
|SCHEMATA
(^ PASSIVE) = +
(^ PARTICIPLE)=c past
(^ OBJ)-->(^ SUBJ)
(^ OBJ2) --> (^ OBJ) "for dative shift"
{ (^ SUBJ)-->(^ OBL-AG)
|(^ SUBJ)-->NULL}}.
DAT-SHIFT(SCHEMATA) = { SCHEMATA
|SCHEMATA
(^ OBJ)-->(^ OBJ2)
(^ OBL-TO)-->(^ OBJ)}.
VPRES = @(TENSE pres)
@(MOOD indicative).
VPAST = @(TENSE past)
@(MOOD indicative).
PASTP = (^ PARTICIPLE) = past.
BARE-AGR = { (^ SUBJ NUM) = pl "either it is plural"
| (^ SUBJ PERS) ~= 3 "or singular and not 3rd person"
(^ SUBJ NUM) = sg}.
S-AGR = (^ SUBJ PERS) = 3 "for verbs in -s"
(^ SUBJ NUM) = sg.
TENSE(T) = (^ TENSE) = T.
MOOD(M) = (^ MOOD) = M.
PRED(P) = (^ PRED) = 'P'.
COUNT-NOUN(P N) = @(PRED P)
(^ NUM) = N
(^ PERS) = 3
(^ NTYPE) = count.
----
DEMO ENGLISH LEXICON (1.0)
"all nouns here"
girl N * @(COUNT-NOUN girl sg).
bench N * @(COUNT-NOUN bench sg).
bone N * @(COUNT-NOUN bone sg).
bones N * @(COUNT-NOUN bone pl).
"bones N * (^ PRED) = 'bone'
(^ NUM) = pl
(^ PERS) = 3. "
homework N * @(COUNT-NOUN homework sg).
zookeeper N * @(COUNT-NOUN zookeeper sg).
gorilla N * @(COUNT-NOUN gorilla sg).
gorillas N * @(COUNT-NOUN gorilla pl).
banana N * @(COUNT-NOUN banana sg).
bananas N * @(COUNT-NOUN banana pl).
dog N * @(COUNT-NOUN dog sg).
dogs N * @(COUNT-NOUN dog pl).
"all adjectives here"
small Adj * @(PRED small).
smart Adj * @(PRED smart).
"all verbs here"
walk V * @(INTRANS walk)
@VPRES
@BARE-AGR;
N * @(COUNT-NOUN walk sg).
"do NOT have duplicate headwords/lexical entries!!!"
"walk N * @(COUNT-NOUN walk sg)."
ate V * @(OPT-TRANS eat) "optionally transitive verbs"
@VPAST.
eats V * @(OPT-TRANS eat)
v @VPRES
@S-AGR.
drinks V * @(OPT-TRANS drink)
@VPRES
@S-AGR.
devour V * @(TRANS devour)
"don't do this, do Lexical Rules instead"
"{ (^ PRED) = 'devour<(^SUBJ)(^OBJ)>' |
(^ PRED) = 'devour<(^OBJ)(^OBL)>' }"
@VPRES
@BARE-AGR.
devours V * @(TRANS devour)
@VPRES
@S-AGR.
devoured V * @(TRANS devour)
@VPAST
@PASTP.
gave V * @(DITRANS give)
@VPAST.
gives V * @(DITRANS give)
@VPRES
@S-AGR.
given V * @(DITRANS give)
@VPAST
@PASTP.
sleeps V * @(INTRANS sleep)
@VPRES
@S-AGR.
sleep V * @(INTRANS sleep)
@VPRES
@BARE-AGR.
slept V * @(INTRANS sleep)
@VPAST
@PASTP.
waited V * {@(INTRANS wait) | @(INTRANS-OBL wait)}
@VPAST
@PASTP.
"prepositions"
by P * (^ PFORM) = by "needs to be more complicated"
(^ PTYPE) = nosem.
to P * (^ PFORM) = to
(^ PTYPE) = nosem.
on P * { (^ PRED) = 'on<(^OBJ)>'
(^ PTYPE) = sem
| (^ PTYPE) = nosem
(^ PFORM) = on}.
"auxiliaries"
was AUX * @(TENSE past)
@S-AGR.
"determiners here"
the D * (^DEF) = +.
a D * (^DEF) = -
(^ NUM) = sg.
----