forked from GitHub/comp-syntax-gu-mlt
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
resource MiniParadigmsEng = open
|
|
|
|
MiniGrammarEng,
|
|
MiniResEng
|
|
|
|
in {
|
|
|
|
oper
|
|
mkN = overload {
|
|
mkN : Str -> Noun -- predictable noun, e.g. car-cars, boy-boys, fly-flies, bush-bushes
|
|
= \n -> lin N (smartNoun n) ;
|
|
mkN : Str -> Str -> Noun -- irregular noun, e.g. man-men
|
|
= \sg,pl -> lin N (mkNoun sg pl) ;
|
|
} ;
|
|
|
|
mkPN : Str -> PN
|
|
= \s -> lin PN {s = s} ;
|
|
|
|
mkA : Str -> A
|
|
= \s -> lin A {s = s} ;
|
|
|
|
mkV = overload {
|
|
mkV : (inf : Str) -> V -- predictable verb, e.g. play-plays, cry-cries, wash-washes
|
|
= \s -> lin V (smartVerb s) ;
|
|
mkV : (inf,pres,part : Str) -> V -- irregular verb, e.g. drink-drank-drunk
|
|
= \inf,pres,part -> lin V (irregVerb inf pres part) ;
|
|
} ;
|
|
|
|
mkV2 = overload {
|
|
mkV2 : Str -> V2 -- predictable verb with direct object, e.g. "wash"
|
|
= \s -> lin V2 (smartVerb s ** {c = []}) ;
|
|
mkV2 : Str -> Str -> V2 -- predictable verb with preposition, e.g. "wait - for"
|
|
= \s,p -> lin V2 (smartVerb s ** {c = p}) ;
|
|
mkV2 : V -> V2 -- any verb with direct object, e.g. "drink"
|
|
= \v -> lin V2 (v ** {c = []}) ;
|
|
mkV2 : V -> Str -> V2 -- any verb with preposition
|
|
= \v,p -> lin V2 (v ** {c = p}) ;
|
|
} ;
|
|
|
|
mkVS : V -> VS
|
|
= \v -> lin VS v ;
|
|
|
|
mkAdv : Str -> Adv
|
|
= \s -> lin Adv {s = s} ;
|
|
|
|
mkPrep : Str -> Prep
|
|
= \s -> lin Prep {s = s} ;
|
|
|
|
} |