blob: 09dfd871d879e90da7f653491ce52bb7ae745e3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
--# -path=.:alltenses
concrete DiscourseEng of Discourse =
LexiconEng,
NounEng, VerbEng,
AdjectiveEng, AdverbEng,
StructuralEng - [nobody_NP, nothing_NP],
TenseX
** open SyntaxEng, (P = ParadigmsEng), (R = ParamX), Prelude in {
lincat
Clause = {subj : NP ; vp : VP} ;
Part = {a : Adv ; isPre : Bool} ;
lin
ClauseS part temp pol cl =
mkS temp pol (mkCl (mkNP cl.subj part) cl.vp) ;
SubjKinS part temp pol cl =
mkS temp pol (mkCl (mkNP (mkNP cl.subj (kin.s ! pol.p)) part) cl.vp) ;
VerbKinS part temp pol cl =
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP cl.vp (kin.s ! pol.p))) ;
AdvKinS part temp pol adv cl =
mkS temp pol (mkCl (mkNP cl.subj part) (mkVP (mkVP cl.vp adv) (kin.s ! pol.p))) ;
PreAdvS part temp pol adv cl =
mkS adv (mkS part (mkS temp pol (mkCl cl.subj cl.vp))) ;
PreAdvKinS part temp pol adv cl =
mkS adv (mkS part (mkS (kin.s ! pol.p) (mkS temp pol (mkCl cl.subj cl.vp)))) ;
PreAdvSubjKinS part temp pol adv cl =
mkS adv (mkS part (mkS temp pol (mkCl (mkNP cl.subj (kin.s ! pol.p)) cl.vp))) ;
PreAdvVerbKinS part temp pol adv cl =
mkS adv (mkS part (mkS temp pol (mkCl cl.subj (mkVP cl.vp (kin.s ! pol.p))))) ;
PredClause subj v = {subj = subj ; vp = v} ;
noPart = {a = P.mkAdv [] ; isPre = False} ;
han_Part = {a = P.mkAdv "as you know" ; isPre = True} ;
pas_Part = {a = P.mkAdv "no" ; isPre = True} ;
oper
kin : {s : R.Polarity => Adv} =
{s = table {R.Pos => P.mkAdv "too" ; R.Neg => P.mkAdv "either"}} ;
}
|