blob: e5b27504d3735f53089e582239bdd8d4186f9c09 (
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
|
interface Syntax = open Prelude, Grammar in {
oper
mkPhr = overload {
mkPhr : S -> Phr
= PhrS ;
mkPhr : QS -> Phr
= PhrQS ;
} ;
mkS = overload {
mkS : Pol -> NP -> VP -> S
= \p,np,vp -> UseCl p (PredVP np vp) ;
mkS : NP -> VP -> S
= \np,vp -> UseCl PPos (PredVP np vp) ;
mkS : Pol -> NP -> V2 -> NP -> S
= \p,np,v,o -> UseCl p (PredVP np (ComplV2 v o)) ;
mkS : NP -> V2 -> NP -> S
= \np,v,o -> UseCl PPos (PredVP np (ComplV2 v o)) ;
mkS : Pol -> NP -> AP -> S
= \p,np,ap -> UseCl p (PredVP np (ComplAP ap)) ;
mkS : NP -> AP -> S
= \np,ap -> UseCl PPos (PredVP np (ComplAP ap)) ;
} ;
mkNP : Det -> CN -> NP
= DetCN ;
mkCN = overload {
mkCN : AP -> CN -> CN
= ModCN ;
mkCN : N -> CN
= UseN ;
} ;
mkAP = overload {
mkAP : AdA -> AP -> AP
= AdAP ;
mkAP : A -> AP
= UseA ;
} ;
}
|