blob: 0b8940e1e5b08a4069dd39266a5971ca9bd4c5fd (
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
44
45
46
|
--# -path=.:prelude
resource LexIta = open SyntaxIta, MorphoIta, Prelude in {
oper
-- constructors for genders
Gender : Type ;
masculine, feminine : Gender ;
-- constructors for open lexicon
mkN : Gender -> (vino,vini : Str) -> CN ;
regN : (vino : Str) -> CN ;
femN : CN -> CN ;
mkA : (nero,nera,neri,nere : Str) -> AP ;
regA : (nero : Str) -> AP ;
mkV : (ama,amano : Str) -> V ;
regV : (amare : Str) -> V ;
mkV2 : (aspettare : V) -> (a : Str) -> V2 ;
dirV2 : (mangiare : V) -> V2 ;
--------------------------------------------
-- definitions, hidden from users
Gender = MorphoIta.Gender ;
masculine = Masc ;
feminine = Fem ;
mkN g x y = mkNoun g x y ** {lock_CN = <>} ;
regN x = regNoun x ** {lock_CN = <>} ;
mkA x y z u = mkAdjective x y z u ** {lock_AP = <>} ;
regA x = regAdjective x ** {lock_AP = <>} ;
mkV x y = mkVerb x y ** {lock_V = <>} ;
regV x = regVerb x ** {lock_V = <>} ;
mkV2 x p = x ** {c = p ; lock_V2 = <>} ;
dirV2 x = mkV2 x [] ;
}
|