blob: 04ee13c95059cee9c564b6e6f5534ba6d8df3c39 (
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
-- Time grammar English
include time.Abs.gf ;
lin
hour0 = {s = refs ["null null"] (variants {["midnight"];["twelve"]}) "one"} ;
hour1 = {s = refs "one" (variants {["one"];["one a.m"]}) "two"} ;
hour2 = {s = refs "two" (variants {["two"];["two a.m"]}) "three"} ;
hour3 = {s = refs "three" (variants {["three"];["three a.m"]}) "four"} ;
hour4 = {s = refs "four" (variants {["four"];["four a.m"]}) "five"} ;
hour5 = {s = refs "five" (variants {["five"];["five a.m"]}) "six"} ;
hour6 = {s = refs "six" (variants {["six"];["six a.m"]}) "seven"} ;
hour7 = {s = refs "seven" (variants {["seven"];["seven a.m"]}) "eight"} ;
hour8 = {s = refs "eight" (variants {["eight"];["eight a.m"]}) "nine"} ;
hour9 = {s = refs "nine" (variants {["nine"];["nine a.m"]}) "ten"} ;
hour10 = {s = refs "ten" (variants {["ten"];["ten a.m"]}) "eleven"} ;
hour11 = {s = refs "eleven" (variants {["eleven"];["eleven a.m"]}) "twelve"} ;
hour12 = {s = refs "twelve" (variants {["twelve"];["twelve a.m"]}) "one" } ;
hour13 = {s = refs "thirten" (variants {["one"];["one p.m"]}) "two" };
hour14 = {s = refs "fourteen" (variants {["two"];["two p.m"]}) "three" } ;
hour15 = {s = refs "fifteen" (variants {["three"];["three p.m"]}) "four" } ;
hour16 = {s = refs "sixteen" (variants {["four"];["four p.m"]}) "five" } ;
hour17 = {s = refs "seventeen" (variants {["five"];["five p.m"]}) "six" } ;
hour18 = {s = refs "eighteen" (variants {["six"];["six p.m"]}) "seven" } ;
hour19 = {s = refs "nineteen" (variants {["seven"];["seven p.m"]}) "eight" } ;
hour20 = {s = refs "twenty" (variants {["eight"];["eight p.m"]}) "nine" } ;
hour21 = {s = refs ["twenty one"] (variants {["nine"];["nine p.m"]}) "eight" } ;
hour22 = {s = refs ["twenty two"] (variants {["ten"];["ten p.m"]}) "eleven" } ;
hour23 = {s = refs ["twenty three"] (variants {["eleven"]}) (variants {["midnight"];["twelve"]})} ;
lin
minute0 = {s = mins (variants {["o'clock"];["sharp"];["hundred hours"]}) (variants{[""]}) (variants{})};
minute1 = {s = mins ["oh one"] (variants{["one minute past"];["one past"]}) (variants{})};
minute2 = {s = mins ["oh two"] (variants{["two minutes past"];["two past"]}) (variants{})};
minute3 = {s = mins ["oh three"] (variants{["three minutes past"];["three past"]}) (variants{})};
minute4 = {s = mins ["oh four"] (variants{["four minutes past"];["four past"]}) (variants{})};
minute5 = {s = mins ["oh five"] (variants{["five minutes past"];["five past"]}) (variants{})};
minute6 = {s = mins ["oh six"] (variants{["six minutes past"];["six past"]}) (variants{})};
minute7 = {s = mins ["oh seven"] (variants{["seven minutes past"];["seven past"]}) (variants{})};
minute8 = {s = mins ["oh eight"] (variants{["eight minutes past"];["eight past"]}) (variants{})};
minute9 = {s = mins ["oh nine"] (variants{["nine minutes past"];["nine past"]}) (variants{})};
minute10 = {s = mins ["ten"] (variants{["ten minutes past"];["ten past"]}) (variants{})};
minute11 = {s = mins ["eleven"] (variants{["eleven minutes past"];["eleven past"]}) (variants{})};
minute12 = {s = mins ["twelve"] (variants{["twelve minutes past"];["twelve past"]}) (variants{})};
minute13 = {s = mins ["thirteen"] (variants{["thirteen minutes past"];["thirteen past"]}) (variants{})};
minute14 = {s = mins ["fourteen"] (variants{["fourteen minutes past"];["fourteen past"]}) (variants{})};
minute15 = {s = mins ["fifteen"] (variants{["fifteen minutes past"];["fifteen past"];["quarter past"];["a quarter past"]}) (variants{})};
minute16 = {s = mins ["sixteen"] (variants{["sixteen minutes past"];["sixteen past"]}) (variants{})};
minute17 = {s = mins ["seventeen"] (variants{["seventeen minutes past"];["seventeen past"]}) (variants{})};
minute18 = {s = mins ["eightteen"] (variants{["eighteen minutes past"];["eighteen past"]}) (variants{})};
minute19 = {s = mins ["nineteen"] (variants{["nineteen minutes past"];["nineteen past"]}) (variants{})};
minute20 = {s = mins ["twenty"] (variants{["twenty minutes past"];["twenty past"]}) (variants{})};
minute21 = {s = mins ["twenty one"] (variants{["twenty one minutes past"];["twenty one past"]}) (variants{})};
minute22 = {s = mins ["twenty two"] (variants{["twenty two minutes past"];["twenty two past"]}) (variants{})};
minute23 = {s = mins ["twenty three"] (variants{["twenty three minutes past"];["twenty three past"]}) (variants{})};
minute24 = {s = mins ["twenty four"] (variants{["twenty four minutes past"];["twenty four past"]}) (variants{})};
minute25 = {s = mins ["twenty five"] (variants{["twenty five minutes past"];["twenty two five past"]}) (variants{})};
minute26 = {s = mins ["twenty six"] (variants{["twenty six minutes past"];["twenty six past"]}) (variants{})};
minute27 = {s = mins ["twenty seven"] (variants{["twenty seven minutes past"];["twenty seven past"]}) (variants{})};
minute28 = {s = mins ["twenty eight"] (variants{["twenty eight minutes past"];["twenty eight past"]}) (variants{})};
minute29 = {s = mins ["twenty nine"] (variants{["twenty nine minutes past"];["twenty nine past"]}) (variants{})};
minute30 = {s = mins ["thirty"] (variants{["thirty minutes past"];["thirty past"];["half past"]}) (variants{})};
minute31 = {s = mins ["thirty one"] (variants{["one minute past half past????"]}) (variants{["twenty nine minutes to"];["twenty nine to"]})};
minute32 = {s = mins ["thirty two"] (variants{}) (variants{["twenty eight minutes to"];["twenty eight to"]})};
minute33 = {s = mins ["thirty three"] (variants{}) (variants{["twenty seven minutes to"];["twenty seven to"]})};
minute34 = {s = mins ["thirty four"] (variants{}) (variants{["twenty six minutes to"];["twenty six to"]})};
minute35 = {s = mins ["thirty five"] (variants{}) (variants{["twenty five minutes to"];["twenty five to"]})};
minute36 = {s = mins ["thirty six"] (variants{}) (variants{["twenty four minutes to"];["twenty four to"]})};
minute37 = {s = mins ["thirty seven"] (variants{}) (variants{["twenty three minutes to"];["twenty three to"]})};
minute38 = {s = mins ["thirty eight"] (variants{}) (variants{["twenty two minutes to"];["twenty two to"]})};
minute39 = {s = mins ["thirty nine"] (variants{}) (variants{["twenty one minutes to"];["twenty one to"]})};
minute40 = {s = mins ["fourty"] (variants{}) (variants{["twenty minutes to"];["twenty to"]})};
minute41 = {s = mins ["fourty one"] (variants{}) (variants{["nineteen minutes to"];["nineteen to"]})};
minute42 = {s = mins ["fourty two"] (variants{}) (variants{["eightteen minutes to"];["eightteen to"]})};
minute43 = {s = mins ["fourty three"] (variants{}) (variants{["seventeen minutes to"];["seventeen to"]})};
minute44 = {s = mins ["fourty four"] (variants{}) (variants{["sixteen minutes to"];["sixteen to"]})};
minute45 = {s = mins ["fourty five"] (variants{["three quarters past???"]}) (variants{["fifteen minutes to"];["fifteen to"]})};
minute46 = {s = mins ["fourty six"] (variants{}) (variants{["fourteen minutes to"];["fourteen to"]})};
minute47 = {s = mins ["fourty seven"] (variants{}) (variants{["thirteen minutes to"];["thirteen to"]})};
minute48 = {s = mins ["fourty eight"] (variants{}) (variants{["twelve minutes to"];["twelve to"]})};
minute49 = {s = mins ["fourty nine"] (variants{}) (variants{["eleven minutes to"];["eleven to"]})};
minute50 = {s = mins ["fifty"] (variants{}) (variants{["ten minutes to"];["ten to"]})};
minute51 = {s = mins ["fifty one"] (variants{}) (variants{["nine minutes to"];["nine to"]})};
minute52 = {s = mins ["fifty two"] (variants{}) (variants{["eight minutes to"];["eight to"]})};
minute53 = {s = mins ["fifty three"] (variants{}) (variants{["seven minutes to"];["seven to"]})};
minute54 = {s = mins ["fifty four"] (variants{}) (variants{["six minutes to"];["six to"]})};
minute55 = {s = mins ["fifty five"] (variants{}) (variants{["five minutes to"];["five to"]})};
minute56 = {s = mins ["fifty six"] (variants{}) (variants{["four minutes to"];["four to"]})};
minute57 = {s = mins ["fifty seven"] (variants{}) (variants{["three minutes to"];["three to"]})};
minute58 = {s = mins ["fifty eight"] (variants{}) (variants{["two minutes to"];["two to"]})};
minute59 = {s = mins ["fifty nine"] (variants{}) (variants{["one minute to"];["one to"]})};
param RefHour = ThisFormal | ThisLex | NextLex ;
oper refs : Str -> Str -> Str -> RefHour => Str =
\x,y,z -> table {ThisFormal => x ; ThisLex => y ; NextLex => z } ;
lincat Hour = {s : RefHour => Str} ;
lincat Minute = {s : MinMin => Str} ;
param MinMin = Form | Past | To ;
oper mins : Str -> Str -> Str -> MinMin => Str = \x,y,z -> table {Form => x ; Past => y ; To => z } ;
--oper mins : Str -> Str -> Str -> MinMin => Str = \x,y,z -> table {Form => x ; Past => y ; To => z } ;
-- jag vill ha en variantsexpanderare, tänk tänk
--oper mins : Str -> Str -> Str -> MinMin => Str = \x,y,z -> table {Form => (variants{x}) ; Past => (variants{y}) ; To => (variants{z}) } ;
-- Time expressions
lin
--timeFormal h m = {s = h.s ! ThisFormal ++ m.s ! Form} ;
--timeInformal h m = {s = variants {
--m.s ! Past ++ h.s ! ThisLex ;
--m.s ! To ++ h.s ! NextLex
--}
--};
time h m = {s = variants {
h.s ! ThisFormal ++ m.s ! Form ;
m.s ! Past ++ h.s ! ThisLex ;
m.s ! To ++ h.s ! NextLex
}
};
|