blob: e0e9d42f2ed205719fc98fe6afb455636f20aaf9 (
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
--# -path=.:../abstract:../common:../../prelude
--1 Interlingua auxiliary operations.
-- This module contains operations that are needed to make the
-- resource syntax work. To define everything that is needed to
-- implement $Test$, it moreover contains regular lexical
-- patterns needed for $Lex$.
resource ResIna2 = ParamX ** open Prelude in {
flags optimize=all ;
-- Some parameters, such as $Number$, are inherited from $ParamX$.
--2 For $Noun$
-- This is the worst-case $Case$ needed for pronouns.
param
VForm
= VInf
| VPres
| VPPart
| VPresPart
| VPast --# notpresent
| VFut --# notpresent
| VCond --# notpresent
;
oper
mkVerb : Str -> Verb = \crear->
let crea = init crear
in {s = table {
VInf => crear;
VPres => crea;
VPast => crea + "va";
VFut => crear + "a";
VCondit => crear + "ea";
VPPart => case crear of {
rid + "er" => rid + "ite";
_ => crea + "te"
};
VPresPart => case crear of {
aud + "ir" => aud + "iente";
_ => crea + "nte"
}}};
---- For $Verb$.
--
Verb : Type = {
s : VForm => Str ;
-- isRefl : Bool
} ;
}
|