forked from GitHub/gf-core
Karin C's example
This commit is contained in:
135
grammars/video/Time/time.Catalan.gf
Normal file
135
grammars/video/Time/time.Catalan.gf
Normal file
@@ -0,0 +1,135 @@
|
||||
-- Time grammar Catalan
|
||||
|
||||
include time.Abs.gf ;
|
||||
|
||||
lin
|
||||
|
||||
hour0 = {s = refs "dotze" "una"} ;
|
||||
hour1 = {s = refs ["la una"] "dues"} ;
|
||||
hour2 = {s = refs "dues" "tres"} ;
|
||||
hour3 = {s = refs "tres" "quatre"} ;
|
||||
hour4 = {s = refs "quatre" "cinc"} ;
|
||||
hour5 = {s = refs "cinc" "sis"} ;
|
||||
hour6 = {s = refs "sis" "set"} ;
|
||||
hour7 = {s = refs "set" "vuit"} ;
|
||||
hour8 = {s = refs "vuit" "nou"} ;
|
||||
hour9 = {s = refs "nou" "deu"} ;
|
||||
hour10 = {s = refs "deu" "onze"} ;
|
||||
hour11 = {s = refs "onze" "dotze"} ;
|
||||
hour12 = {s = refs "dotze" "una" } ;
|
||||
hour13 = {s = refs "tretze" "dues" };
|
||||
hour14 = {s = refs "catorze" "tres" };
|
||||
hour15 = {s = refs "quinze" "quatre" };
|
||||
hour16 = {s = refs "setze" "cinc" };
|
||||
hour17 = {s = refs "disset" "sis" };
|
||||
hour18 = {s = refs "divuit" "set" };
|
||||
hour19 = {s = refs "dinou" "vuit" } ;
|
||||
hour20 = {s = refs "vint" "nou" } ;
|
||||
hour21 = {s = refs "vintiun_a" "deu" } ;
|
||||
hour22 = {s = refs "vintidues_dos" "onze" } ;
|
||||
hour23 = {s = refs "vintitres" "dotze" };
|
||||
|
||||
pattern
|
||||
--Minutes
|
||||
minute0 = "zero" ;
|
||||
minute1 = "una" ;
|
||||
minute2 = "dues" ;
|
||||
minute3 = "tres" ;
|
||||
minute4 = "quatre" ;
|
||||
minute5 = "cinc" ;
|
||||
minute6 = "sis" ;
|
||||
minute7 = "set" ;
|
||||
minute8 = "vuit" ;
|
||||
minute9 = "nou" ;
|
||||
minute10 = "deu" ;
|
||||
minute11 = "onze" ;
|
||||
minute12 = "dotze" ;
|
||||
minute13 = "tretze" ;
|
||||
minute14 = "catorze" ;
|
||||
minute15 = "quinze" ;
|
||||
minute16 = "setze" ;
|
||||
minute17 = "disset" ;
|
||||
minute18 = "divuit" ;
|
||||
minute19 = "dinou" ;
|
||||
minute20 = "vint" ;
|
||||
minute21 = "vintiun_a" ;
|
||||
minute22 = "vintidues_dos" ;
|
||||
minute23 = "vintitres" ;
|
||||
minute24 = "vintiquatre" ;
|
||||
minute25 = "vinticinc" ;
|
||||
minute26 = "vintisis" ;
|
||||
minute27 = "vintiset" ;
|
||||
minute28 = "vintivuit" ;
|
||||
minute29 = "vintinou" ;
|
||||
minute30 = "trenta" ;
|
||||
minute31 = "trentauna" ;
|
||||
minute32 = "trentadues" ;
|
||||
minute33 = "trentatres" ;
|
||||
minute34 = "trentaquatre" ;
|
||||
minute35 = "trentacinc" ;
|
||||
minute36 = "trentasis" ;
|
||||
minute37 = "trentaset" ;
|
||||
minute38 = "trentavuit" ;
|
||||
minute39 = "trentanou" ;
|
||||
minute40 = "quaranta" ;
|
||||
minute41 = "quarantauna" ;
|
||||
minute42 = "quarantadues" ;
|
||||
minute43 = "quarantatres" ;
|
||||
minute44 = "quarantaquatre" ;
|
||||
minute45 = "quarantacinc" ;
|
||||
minute46 = "quarantasis" ;
|
||||
minute47 = "quarantaset" ;
|
||||
minute48 = "quarantavuit" ;
|
||||
minute49 = "quarantanou" ;
|
||||
minute50 = "cinquenta" ;
|
||||
minute51 = "cinquentauna" ;
|
||||
minute52 = "cinquentadues" ;
|
||||
minute53 = "cinquentatres" ;
|
||||
minute54 = "cinquentaquatre" ;
|
||||
minute55 = "cinquentacinc" ;
|
||||
minute56 = "cinquentasis" ;
|
||||
minute57 = "cinquentaset" ;
|
||||
minute58 = "cinquentavuit" ;
|
||||
minute59 = "cinquentanou" ;
|
||||
|
||||
-- LexMinuteZero
|
||||
minuteZero = [] ;
|
||||
|
||||
-- LexMinute
|
||||
minuteQuarter = "un" ++ "quart" ++ "de";
|
||||
minuteFive = "mig" ++ "quart" ++ "de";
|
||||
minuteTen = "cinc" ++ "minuts" ++ "per" ++ "a" ++ "un" ++ "quart" ++ "de";
|
||||
minuteTwenty = "un" ++ "quart" ++ "i" ++ "cinc" ++ "de";
|
||||
|
||||
-- LexMinuteHalfFive
|
||||
minuteTwentyFive = "un" ++ "quart" ++ "i" ++ "deu" ++ "de";
|
||||
minuteThirtyFive = "dos" ++ "quarts" ++ "i" ++ "cinc" ++ "de";
|
||||
|
||||
-- LexMinuteTo
|
||||
minuteQuarterTo = "tres" ++ "quarts" ++ "de" ;
|
||||
minuteFiveTo = "tres" ++ "quarts" ++ "i" ++ "deu" ++ "de";
|
||||
--minuteFiveTo = "cinc" ++ "minuts" ++ "per" ++ "a" ;
|
||||
minuteTenTo = "tres" ++ "quarts" ++ "i" ++ "cinc" ++ "de";
|
||||
minuteTwentyTo = "dos" ++ "quarts" ++ "i" ++ "deu" ++ "de";
|
||||
--minuteTwentyTo = "cinc" ++ "minuts" ++ "per" ++ "a" ++ "tres" ++ "quarts" ++ "de";
|
||||
|
||||
-- LexMinuteHalf
|
||||
minuteHalf = "dos" ++ "quarts" ;
|
||||
|
||||
-- Creates tables for each hour, consisting of
|
||||
-- Present hour - Formal, Next hour informal,
|
||||
-- (in catalan of the n:nd hour)
|
||||
param RefHour = ThisFormal | NextLex ;
|
||||
oper refs : Str -> Str -> RefHour => Str =
|
||||
\x,y -> table {ThisFormal => x ; NextLex => y } ;
|
||||
|
||||
lincat Hour = {s : RefHour => Str} ;
|
||||
|
||||
lin
|
||||
time h m = {s = h.s ! ThisFormal ++ "i" ++ m.s} ;
|
||||
timeOnTheHour h m = {s = h.s ! ThisFormal ++ m.s } ;
|
||||
timePast h m = {s = m.s ++ h.s ! NextLex} ;
|
||||
timeTo h m = {s = m.s ++ h.s ! NextLex } ;
|
||||
timeHalf h m = {s = m.s ++ h.s ! NextLex } ;
|
||||
timeFiveToHalf h m = {s = m.s ++ h.s ! NextLex } ;
|
||||
timeFivePastHalf h m = {s = m.s ++ h.s ! NextLex } ;
|
||||
130
grammars/video/Time/time.Eng.gf
Normal file
130
grammars/video/Time/time.Eng.gf
Normal file
@@ -0,0 +1,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
|
||||
}
|
||||
};
|
||||
110
grammars/video/Time/time.Prolog.gf
Normal file
110
grammars/video/Time/time.Prolog.gf
Normal file
@@ -0,0 +1,110 @@
|
||||
-- Time grammar Prolog output notation
|
||||
|
||||
include time.Abs.gf ;
|
||||
|
||||
--flags lexer=codelit ; unlexer=codelit ; startcat=Time ;
|
||||
--flags lexer=code ; unlexer=code ; startcat=Time ;
|
||||
|
||||
pattern
|
||||
|
||||
hour0 = "00" ;
|
||||
hour1 = "01" ;
|
||||
hour2 = "02" ;
|
||||
hour3 = "03" ;
|
||||
hour4 = "04" ;
|
||||
hour5 = "05" ;
|
||||
hour6 = "06" ;
|
||||
hour7 = "07" ;
|
||||
hour8 = "08" ;
|
||||
hour9 = "09" ;
|
||||
hour10 = "10" ;
|
||||
hour11 = "11" ;
|
||||
hour12 = "12" ;
|
||||
hour13 = "13" ;
|
||||
hour14 = "14" ;
|
||||
hour15 = "15" ;
|
||||
hour16 = "16" ;
|
||||
hour17 = "17" ;
|
||||
hour18 = "18" ;
|
||||
hour19 = "19" ;
|
||||
hour20 = "20" ;
|
||||
hour21 = "21" ;
|
||||
hour22 = "22" ;
|
||||
hour23 = "23" ;
|
||||
|
||||
--Minutes
|
||||
minute0 = "00" ;
|
||||
minute1 = "01" ;
|
||||
minute2 = "02" ;
|
||||
minute3 = "03" ;
|
||||
minute4 = "04" ;
|
||||
minute5 = "05" ;
|
||||
minute6 = "06" ;
|
||||
minute7 = "07" ;
|
||||
minute8 = "08" ;
|
||||
minute9 = "09" ;
|
||||
minute10 = "10" ;
|
||||
minute11 = "11" ;
|
||||
minute12 = "12" ;
|
||||
minute13 = "13" ;
|
||||
minute14 = "14" ;
|
||||
minute15 = "15" ;
|
||||
minute16 = "16" ;
|
||||
minute17 = "17" ;
|
||||
minute18 = "18" ;
|
||||
minute19 = "19" ;
|
||||
minute20 = "20" ;
|
||||
minute21 = "21" ;
|
||||
minute22 = "22" ;
|
||||
minute23 = "23" ;
|
||||
minute24 = "24" ;
|
||||
minute25 = "25" ;
|
||||
minute26 = "26" ;
|
||||
minute27 = "27" ;
|
||||
minute28 = "28" ;
|
||||
minute29 = "29" ;
|
||||
minute30 = "30" ;
|
||||
|
||||
minute31 = "31" ;
|
||||
minute32 = "32" ;
|
||||
minute33 = "33" ;
|
||||
minute34 = "34" ;
|
||||
minute35 = "35" ;
|
||||
minute36 = "36" ;
|
||||
minute37 = "37" ;
|
||||
minute38 = "38" ;
|
||||
minute39 = "39" ;
|
||||
minute40 = "40" ;
|
||||
minute41 = "41" ;
|
||||
minute42 = "42" ;
|
||||
minute43 = "43" ;
|
||||
minute44 = "44" ;
|
||||
minute45 = "45" ;
|
||||
minute46 = "46" ;
|
||||
minute47 = "47" ;
|
||||
minute48 = "48" ;
|
||||
minute49 = "49" ;
|
||||
minute50 = "50" ;
|
||||
minute51 = "51" ;
|
||||
minute52 = "52" ;
|
||||
minute53 = "53" ;
|
||||
minute54 = "54" ;
|
||||
minute55 = "55" ;
|
||||
minute56 = "56" ;
|
||||
minute57 = "57" ;
|
||||
minute58 = "58" ;
|
||||
minute59 = "59" ;
|
||||
|
||||
oper
|
||||
--with single quotes
|
||||
--app2 : Str -> Str -> Str -> Str = \pred -> \argH -> \argM -> pred ++ "(" ++ "'" ++ argH ++ ":" ++ argM ++ "'" ++ ")" ;
|
||||
--without single quotes
|
||||
--app2 : Str -> Str -> Str -> Str = \pred -> \argH -> \argM -> pred ++ "(" ++ argH ++ ":" ++ argM ++ ")" ;
|
||||
|
||||
app3 : Str -> Str -> Str = \argH -> \argM -> argH ++ ":" ++ argM ;
|
||||
|
||||
lin
|
||||
--timeFormal h m = {s = app2 "time" h.s m.s } ;
|
||||
--timeInformal h m = {s = app2 "time" h.s m.s } ;
|
||||
--time h m = {s = app2 "time" h.s m.s } ;
|
||||
time h m = {s = app3 h.s m.s } ;
|
||||
127
grammars/video/Time/time.Symb.gf
Normal file
127
grammars/video/Time/time.Symb.gf
Normal file
@@ -0,0 +1,127 @@
|
||||
-- Time grammar Symbolic/Numerical
|
||||
|
||||
include time.Abs.gf ;
|
||||
|
||||
pattern
|
||||
|
||||
hour0 = "00" ;
|
||||
hour1 = "01" ;
|
||||
hour2 = "02" ;
|
||||
hour3 = "03" ;
|
||||
hour4 = "04" ;
|
||||
hour5 = "05" ;
|
||||
hour6 = "06" ;
|
||||
hour7 = "07" ;
|
||||
hour8 = "08" ;
|
||||
hour9 = "09" ;
|
||||
hour10 = "10" ;
|
||||
hour11 = "11" ;
|
||||
hour12 = "12" ;
|
||||
hour13 = "13" ;
|
||||
hour14 = "14" ;
|
||||
hour15 = "15" ;
|
||||
hour16 = "16" ;
|
||||
hour17 = "17" ;
|
||||
hour18 = "18" ;
|
||||
hour19 = "19" ;
|
||||
hour20 = "20" ;
|
||||
hour21 = "21" ;
|
||||
hour22 = "22" ;
|
||||
hour23 = "23" ;
|
||||
|
||||
--Minutes
|
||||
minute0 = "00" ;
|
||||
minute1 = "01" ;
|
||||
minute2 = "02" ;
|
||||
minute3 = "03" ;
|
||||
minute4 = "04" ;
|
||||
minute5 = "05" ;
|
||||
minute6 = "06" ;
|
||||
minute7 = "07" ;
|
||||
minute8 = "08" ;
|
||||
minute9 = "09" ;
|
||||
minute10 = "10" ;
|
||||
minute11 = "11" ;
|
||||
minute12 = "12" ;
|
||||
minute13 = "13" ;
|
||||
minute14 = "14" ;
|
||||
minute15 = "15" ;
|
||||
minute16 = "16" ;
|
||||
minute17 = "17" ;
|
||||
minute18 = "18" ;
|
||||
minute19 = "19" ;
|
||||
minute20 = "20" ;
|
||||
minute21 = "21" ;
|
||||
minute22 = "22" ;
|
||||
minute23 = "23" ;
|
||||
minute24 = "24" ;
|
||||
minute25 = "25" ;
|
||||
minute26 = "26" ;
|
||||
minute27 = "27" ;
|
||||
minute28 = "28" ;
|
||||
minute29 = "29" ;
|
||||
minute30 = "30" ;
|
||||
minute31 = "31" ;
|
||||
minute32 = "32" ;
|
||||
minute33 = "33" ;
|
||||
minute34 = "34" ;
|
||||
minute35 = "35" ;
|
||||
minute36 = "36" ;
|
||||
minute37 = "37" ;
|
||||
minute38 = "38" ;
|
||||
minute39 = "39" ;
|
||||
minute40 = "40" ;
|
||||
minute41 = "41" ;
|
||||
minute42 = "42" ;
|
||||
minute43 = "43" ;
|
||||
minute44 = "44" ;
|
||||
minute45 = "45" ;
|
||||
minute46 = "46" ;
|
||||
minute47 = "47" ;
|
||||
minute48 = "48" ;
|
||||
minute49 = "49" ;
|
||||
minute50 = "50" ;
|
||||
minute51 = "51" ;
|
||||
minute52 = "52" ;
|
||||
minute53 = "53" ;
|
||||
minute54 = "54" ;
|
||||
minute55 = "55" ;
|
||||
minute56 = "56" ;
|
||||
minute57 = "57" ;
|
||||
minute58 = "58" ;
|
||||
minute59 = "59" ;
|
||||
|
||||
-- LexMinuteZero
|
||||
minuteZero = "00" ;
|
||||
|
||||
--LexMinutePast
|
||||
minuteQuarter = "15" ;
|
||||
minuteFive = "05" ;
|
||||
minuteTen = "10" ;
|
||||
minuteTwenty = "20" ;
|
||||
--minuteTwentyFive = "25" ;
|
||||
|
||||
--LexMinuteToHalf
|
||||
minuteTwentyFive = "25" ;
|
||||
|
||||
--LexMinutePastHalf
|
||||
minuteThirtyFive = "35" ;
|
||||
|
||||
--LexMinuteHalf
|
||||
minuteHalf = "30" ;
|
||||
|
||||
--LexMinuteTo
|
||||
minuteQuarterTo = "45" ;
|
||||
minuteFiveTo = "55" ;
|
||||
minuteTenTo = "50" ;
|
||||
minuteTwentyTo = "40" ;
|
||||
--minuteTwentyFiveTo = "35" ;
|
||||
|
||||
lin
|
||||
time h m = {s = h.s ++ m.s} ; -- 11 30
|
||||
timeOnTheHour h m = {s = h.s ++ m.s} ; -- 11 00
|
||||
timePast h m = {s = h.s ++ m.s} ; -- 11 10
|
||||
timeTo h m = {s = h.s ++ m.s} ; -- 10 50
|
||||
timeHalf h m = {s = h.s ++ m.s} ;
|
||||
timeFiveToHalf h m = {s = h.s ++ m.s } ;
|
||||
timeFivePastHalf h m = {s = h.s ++ m.s } ;
|
||||
106
grammars/video/Time/time.gf
Normal file
106
grammars/video/Time/time.gf
Normal file
@@ -0,0 +1,106 @@
|
||||
-- Time grammar Abstract syntax
|
||||
|
||||
abstract time = {
|
||||
cat
|
||||
|
||||
-- Times
|
||||
Time ;
|
||||
Hour ;
|
||||
Minute ;
|
||||
|
||||
fun
|
||||
-- Time
|
||||
hour0 : Hour ;
|
||||
hour1 : Hour ;
|
||||
hour2 : Hour ;
|
||||
hour3 : Hour ;
|
||||
hour4 : Hour ;
|
||||
hour5 : Hour ;
|
||||
hour6 : Hour ;
|
||||
hour7 : Hour ;
|
||||
hour8 : Hour ;
|
||||
hour9 : Hour ;
|
||||
hour10 : Hour ;
|
||||
hour11 : Hour ;
|
||||
hour12 : Hour ;
|
||||
hour13 : Hour ;
|
||||
hour14 : Hour ;
|
||||
hour15 : Hour ;
|
||||
hour16 : Hour ;
|
||||
hour17 : Hour ;
|
||||
hour18 : Hour ;
|
||||
hour19 : Hour ;
|
||||
hour20 : Hour ;
|
||||
hour21 : Hour ;
|
||||
hour22 : Hour ;
|
||||
hour23 : Hour ;
|
||||
|
||||
-- Minutes
|
||||
minute0 : Minute ;
|
||||
minute1 : Minute ;
|
||||
minute2 : Minute ;
|
||||
minute3 : Minute ;
|
||||
minute4 : Minute ;
|
||||
minute5 : Minute ;
|
||||
minute6 : Minute ;
|
||||
minute7 : Minute ;
|
||||
minute8 : Minute ;
|
||||
minute9 : Minute ;
|
||||
minute10 : Minute ;
|
||||
minute11 : Minute ;
|
||||
minute12 : Minute ;
|
||||
minute13 : Minute ;
|
||||
minute14 : Minute ;
|
||||
minute15 : Minute ;
|
||||
minute16 : Minute ;
|
||||
minute17 : Minute ;
|
||||
minute18 : Minute ;
|
||||
minute19 : Minute ;
|
||||
minute20 : Minute ;
|
||||
minute21 : Minute ;
|
||||
minute22 : Minute ;
|
||||
minute23 : Minute ;
|
||||
minute24 : Minute ;
|
||||
minute25 : Minute ;
|
||||
minute26 : Minute ;
|
||||
minute27 : Minute ;
|
||||
minute28 : Minute ;
|
||||
minute29 : Minute ;
|
||||
minute30 : Minute ;
|
||||
minute31 : Minute ;
|
||||
minute32 : Minute ;
|
||||
minute33 : Minute ;
|
||||
minute34 : Minute ;
|
||||
minute35 : Minute ;
|
||||
minute36 : Minute ;
|
||||
minute37 : Minute ;
|
||||
minute38 : Minute ;
|
||||
minute39 : Minute ;
|
||||
minute40 : Minute ;
|
||||
minute41 : Minute ;
|
||||
minute42 : Minute ;
|
||||
minute43 : Minute ;
|
||||
minute44 : Minute ;
|
||||
minute45 : Minute ;
|
||||
minute46 : Minute ;
|
||||
minute47 : Minute ;
|
||||
minute48 : Minute ;
|
||||
minute49 : Minute ;
|
||||
minute50 : Minute ;
|
||||
minute51 : Minute ;
|
||||
minute52 : Minute ;
|
||||
minute53 : Minute ;
|
||||
minute54 : Minute ;
|
||||
minute55 : Minute ;
|
||||
minute56 : Minute ;
|
||||
minute57 : Minute ;
|
||||
minute58 : Minute ;
|
||||
minute59 : Minute ;
|
||||
|
||||
-- Time expressions
|
||||
--timeFormal : Hour -> Minute -> Time ;
|
||||
--timeInformal : Hour -> Minute -> Time ;
|
||||
time : Hour -> Minute -> Time ;
|
||||
|
||||
|
||||
}
|
||||
103
grammars/video/Time/timeProlog.gf
Normal file
103
grammars/video/Time/timeProlog.gf
Normal file
@@ -0,0 +1,103 @@
|
||||
-- Time grammar Prolog output notation
|
||||
|
||||
concrete timeProlog of time = open prologResource in {
|
||||
|
||||
--flags lexer=codelit ; unlexer=codelit ; startcat=Time ;
|
||||
--flags lexer=code ; unlexer=code ; startcat=Time ;
|
||||
|
||||
pattern
|
||||
|
||||
hour0 = "00" ;
|
||||
hour1 = "01" ;
|
||||
hour2 = "02" ;
|
||||
hour3 = "03" ;
|
||||
hour4 = "04" ;
|
||||
hour5 = "05" ;
|
||||
hour6 = "06" ;
|
||||
hour7 = "07" ;
|
||||
hour8 = "08" ;
|
||||
hour9 = "09" ;
|
||||
hour10 = "10" ;
|
||||
hour11 = "11" ;
|
||||
hour12 = "12" ;
|
||||
hour13 = "13" ;
|
||||
hour14 = "14" ;
|
||||
hour15 = "15" ;
|
||||
hour16 = "16" ;
|
||||
hour17 = "17" ;
|
||||
hour18 = "18" ;
|
||||
hour19 = "19" ;
|
||||
hour20 = "20" ;
|
||||
hour21 = "21" ;
|
||||
hour22 = "22" ;
|
||||
hour23 = "23" ;
|
||||
|
||||
--Minutes
|
||||
minute0 = "00" ;
|
||||
minute1 = "01" ;
|
||||
minute2 = "02" ;
|
||||
minute3 = "03" ;
|
||||
minute4 = "04" ;
|
||||
minute5 = "05" ;
|
||||
minute6 = "06" ;
|
||||
minute7 = "07" ;
|
||||
minute8 = "08" ;
|
||||
minute9 = "09" ;
|
||||
minute10 = "10" ;
|
||||
minute11 = "11" ;
|
||||
minute12 = "12" ;
|
||||
minute13 = "13" ;
|
||||
minute14 = "14" ;
|
||||
minute15 = "15" ;
|
||||
minute16 = "16" ;
|
||||
minute17 = "17" ;
|
||||
minute18 = "18" ;
|
||||
minute19 = "19" ;
|
||||
minute20 = "20" ;
|
||||
minute21 = "21" ;
|
||||
minute22 = "22" ;
|
||||
minute23 = "23" ;
|
||||
minute24 = "24" ;
|
||||
minute25 = "25" ;
|
||||
minute26 = "26" ;
|
||||
minute27 = "27" ;
|
||||
minute28 = "28" ;
|
||||
minute29 = "29" ;
|
||||
minute30 = "30" ;
|
||||
|
||||
minute31 = "31" ;
|
||||
minute32 = "32" ;
|
||||
minute33 = "33" ;
|
||||
minute34 = "34" ;
|
||||
minute35 = "35" ;
|
||||
minute36 = "36" ;
|
||||
minute37 = "37" ;
|
||||
minute38 = "38" ;
|
||||
minute39 = "39" ;
|
||||
minute40 = "40" ;
|
||||
minute41 = "41" ;
|
||||
minute42 = "42" ;
|
||||
minute43 = "43" ;
|
||||
minute44 = "44" ;
|
||||
minute45 = "45" ;
|
||||
minute46 = "46" ;
|
||||
minute47 = "47" ;
|
||||
minute48 = "48" ;
|
||||
minute49 = "49" ;
|
||||
minute50 = "50" ;
|
||||
minute51 = "51" ;
|
||||
minute52 = "52" ;
|
||||
minute53 = "53" ;
|
||||
minute54 = "54" ;
|
||||
minute55 = "55" ;
|
||||
minute56 = "56" ;
|
||||
minute57 = "57" ;
|
||||
minute58 = "58" ;
|
||||
minute59 = "59" ;
|
||||
|
||||
lin
|
||||
--timeFormal h m = {s = app2 "time" h.s m.s } ;
|
||||
--timeInformal h m = {s = app2 "time" h.s m.s } ;
|
||||
--time h m = {s = app2 "time" h.s m.s } ;
|
||||
time h m = {s = app3 h.s m.s } ;
|
||||
}
|
||||
7
grammars/video/Time/timeResSwe.gf
Normal file
7
grammars/video/Time/timeResSwe.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
resource timeResSwe = {
|
||||
param RefHour = ThisFormal | ThisLex | NextLex ;
|
||||
oper refs : Str -> Str -> Str -> RefHour => Str = \x,y,z -> table {ThisFormal => x ; ThisLex => y ; NextLex => z } ;
|
||||
param MinMin = Form | Past | To ;
|
||||
oper mins : Str -> Str -> Str -> MinMin => Str = \u,x,y -> table {Form => u ; Past => x ; To => y } ;
|
||||
|
||||
}
|
||||
149
grammars/video/Time/timeSwe.gf
Normal file
149
grammars/video/Time/timeSwe.gf
Normal file
@@ -0,0 +1,149 @@
|
||||
-- Time grammar Swedish
|
||||
|
||||
concrete timeSwe of time = open timeResSwe in {
|
||||
|
||||
lincat Time = {s : Str} ;
|
||||
|
||||
--Hours
|
||||
lin
|
||||
-- Some of the time expressions is omitted because of the prolog in godis.
|
||||
-- hours after 13 and 00 are only interpreted as 13,14 etc when explicitly uttered,
|
||||
-- one o'clock is ONLY interpreted as 01:00, not 13:00.
|
||||
-- if someone needs the more elaborated forms of time use
|
||||
-- the commented lines, and comment the corresponding units.
|
||||
|
||||
--hour0 = {s = refs (variants{["noll noll"];["noll"]}) "tolv" "ett"} ;
|
||||
hour0 = {s = refs (variants{["noll noll"];["noll"]})(variants{}) (variants{})} ;
|
||||
hour1 = {s = refs "ett" "ett" "två"} ;
|
||||
hour2 = {s = refs "två" "två" "tre"} ;
|
||||
hour3 = {s = refs "tre" "tre" "fyra"} ;
|
||||
hour4 = {s = refs "fyra" "fyra" "fem"} ;
|
||||
hour5 = {s = refs "fem" "fem" "sex"} ;
|
||||
hour6 = {s = refs "sex" "sex" "sju"} ;
|
||||
hour7 = {s = refs "sju" "sju" "åtta"} ;
|
||||
hour8 = {s = refs "åtta" "åtta" "nio"} ;
|
||||
hour9 = {s = refs "nio" "nio" "tio"} ;
|
||||
hour10 = {s = refs "tio" "tio" "elva"} ;
|
||||
hour11 = {s = refs "elva""elva" "tolv"} ;
|
||||
hour12 = {s = refs "tolv" "tolv" "ett" } ;
|
||||
|
||||
--hour13 = {s = refs "tretton" "ett" "två" };
|
||||
--hour14 = {s = refs "fjorton" "två" "tre" };
|
||||
--hour15 = {s = refs "femton" "tre" "fyra" };
|
||||
--hour16 = {s = refs "sexton" "fyra" "fem" };
|
||||
--hour17 = {s = refs "sjutton" "fem" "sex" };
|
||||
--hour18 = {s = refs "arton" "sex" "sju" };
|
||||
--hour19 = {s = refs "nitton" "sju" "åtta" } ;
|
||||
--hour20 = {s = refs "tjugo" "åtta" "nio" } ;
|
||||
--hour21 = {s = refs ["tjugo ett"] "nio" "tio" } ;
|
||||
--hour22 = {s = refs ["tjugo två"] "tio" "elva" } ;
|
||||
--hour23 = {s = refs ["tjugo tre"] "elva" "tolv" };
|
||||
|
||||
hour13 = {s = refs "tretton" (variants{})(variants{}) };
|
||||
hour14 = {s = refs "fjorton"(variants{})(variants{})};
|
||||
hour15 = {s = refs "femton"(variants{})(variants{})};
|
||||
hour16 = {s = refs "sexton"(variants{})(variants{})};
|
||||
hour17 = {s = refs "sjutton"(variants{})(variants{})};
|
||||
hour18 = {s = refs "arton"(variants{})(variants{})};
|
||||
hour19 = {s = refs "nitton"(variants{})(variants{})} ;
|
||||
hour20 = {s = refs "tjugo"(variants{})(variants{})} ;
|
||||
hour21 = {s = refs ["tjugo ett"](variants{})(variants{})} ;
|
||||
hour22 = {s = refs ["tjugo två"](variants{})(variants{})} ;
|
||||
hour23 = {s = refs ["tjugo tre"](variants{})(variants{})};
|
||||
|
||||
|
||||
--Minutes
|
||||
--0-9
|
||||
--minute0 = {s = mins (variants{["noll noll"]}) (variants{}) (variants{}) (variants{[""]})} ;
|
||||
minute0 = {s = mins ["noll noll"] (variants{[""]}) (variants{})} ;
|
||||
minute1 = {s = mins ["noll ett"] (variants {["ett över"] ; ["en minut över"]}) (variants{}) } ;
|
||||
minute2 = {s = mins ["noll två"] (variants {["två över"] ; ["två minuter över"]}) (variants{})} ;
|
||||
minute3 = {s = mins ["noll tre"] (variants { ["tre över"] ; ["tre minuter över"]}) (variants{})} ;
|
||||
minute4 = {s = mins ["noll fyra"] (variants { ["fyra över"] ; ["fyra minuter över"]}) (variants{})} ;
|
||||
minute5 = {s = mins ["noll fem"] (variants { ["fem över"] ; ["fem minuter över"]}) (variants{})} ;
|
||||
minute6 = {s = mins ["noll sex"] (variants { ["sex över"] ; ["sex minuter över"]}) (variants{})} ;
|
||||
minute7 = {s = mins ["noll sju"] (variants { ["sju över"] ; ["sju minuter över"]}) (variants{})} ;
|
||||
minute8 = {s = mins ["noll åtta"] (variants { ["åtta över"] ; ["åtta minuter över"]}) (variants{})} ;
|
||||
minute9 = {s = mins ["noll nio"] (variants { ["nio över"] ; ["nio minuter över"]}) (variants{})} ;
|
||||
|
||||
--10-19
|
||||
minute10 = {s = mins ["tio"] (variants { ["tio över"] ; ["tio minuter över"]}) (variants{})} ;
|
||||
minute11 = {s = mins ["elva"] (variants { ["elva över"] ; ["elva minuter över"]}) (variants{})} ;
|
||||
minute12 = {s = mins ["tolv"] (variants { ["tolv över"] ; ["tolv minuter över"]}) (variants{})} ;
|
||||
minute13 = {s = mins ["tretton"] (variants { ["tretton över"] ; ["tretton minuter över"]}) (variants{})} ;
|
||||
minute14 = {s = mins ["fjorton"] (variants { ["fjorton över"] ; ["fjorton minuter över"]}) (variants{})} ;
|
||||
minute15 = {s = mins ["femton"] (variants { ["femton över"] ; ["femton minuter över"] ; ["kvart över"]}) (variants{})} ;
|
||||
minute16 = {s = mins ["sexton"] (variants { ["sexton över"] ; ["sexton minuter över"]}) (variants{})} ;
|
||||
minute17 = {s = mins ["sjutton"] (variants { ["sjutton över"] ; ["sjutton minuter över"]}) (variants{})} ;
|
||||
minute18 = {s = mins ["arton"] (variants { ["arton över"] ; ["arton minuter över"]}) (variants{})} ;
|
||||
minute19 = {s = mins ["nitton"] (variants { ["nitton över"] ; ["nitton minuter över"]}) (variants{})} ;
|
||||
|
||||
--20-29
|
||||
minute20 = {s = mins ["tjugo"] (variants { ["tjugo över"] ; ["tjugo minuter över"]}) (variants {})} ;
|
||||
minute21 = {s = mins ["tjugo ett"] (variants { ["tjugo en över"] ;["tjugo ett över"] ; ["tjugo en minuter över"]}) (variants {}) } ;
|
||||
minute22 = {s = mins ["tjugo två"] (variants { ["tjugo två över"] ; ["tjugo två minuter över"]}) (variants {}) } ;
|
||||
minute23 = {s = mins ["tjugo tre"] (variants { ["tjugo tre över"] ; ["tjugo tre minuter över"]}) (variants {}) } ;
|
||||
minute24 = {s = mins ["tjugo fyra"] (variants { ["tjugo fyra över"] ; ["tjugo fyra minuter över"]}) (variants {["sex minuter i halv"];["sex i halv"]}) } ;
|
||||
minute25 = {s = mins ["tjugo fem"] (variants { ["tjugo fem över"] ; ["tjugo fem minuter över"]}) (variants {["fem minuter i halv"];["fem i halv"]}) } ;
|
||||
minute26 = {s = mins ["tjugo sex"] (variants { ["tjugo sex över"] ; ["tjugo sex minuter över"]}) (variants {["fyra minuter i halv"];["fyra i halv"]}) } ;
|
||||
minute27 = {s = mins ["tjugo sju"] (variants { ["tjugo sju över"] ; ["tjugo sju minuter över"]}) (variants {["tre minuter i halv"];["tre i halv"]}) } ;
|
||||
minute28 = {s = mins ["tjugo åtta"] (variants { ["tjugo åtta över"] ; ["tjugo åtta minuter över"]}) (variants {["två minuter i halv"];["två i halv"]}) } ;
|
||||
minute29 = {s = mins ["tjugo nio"] (variants { ["tjugo nio över"] ; ["tjugo nio minuter över"]}) (variants {["en minut i halv"];["en i halv"]}) } ;
|
||||
|
||||
--30-39
|
||||
minute30 = {s = mins ["trettio"] (variants { ["trettio minuter över"]}) ["halv"] } ;
|
||||
minute31 = {s = mins ["trettio ett"] (variants { ["trettio en över"] ; ["trettio ett över"] ; ["trettio en minuter över"]}) (variants {["tjugo nio minuter i"];["tjugo nio i"];["en minut över halv"];["en över halv"]}) } ;
|
||||
minute32 = {s = mins ["trettio två"] (variants { ["trettio två över"] ; ["trettio två minuter över"]}) (variants {["tjugo åtta minuter i"];["tjugo åtta i"];["två minuter över halv"];["två över halv"]}) } ;
|
||||
minute33 = {s = mins ["trettio tre"] (variants { ["trettio tre över"] ; ["trettio tre minuter över"]}) (variants {["tjugo sju minuter i"];["tjugo sju i"];["tre minuter över halv"];["tre över halv"]}) } ;
|
||||
minute34 = {s = mins ["trettio fyra"] (variants { ["trettio fyra över"] ; ["trettio fyra minuter över"]}) (variants {["tjugosex minuter i"];["tjugosex i"];["fyra minuter över halv"];["fyra över halv"]}) } ;
|
||||
minute35 = {s = mins ["trettio fem"] (variants { ["trettio fem över"] ; ["trettio fem minuter över"]}) (variants {["tjugo fem minuter i"];["tjugo fem i"];["fem minuter över halv"]; ["fem över halv"]}) } ;
|
||||
minute36 = {s = mins ["trettio sex"] (variants { ["trettio sex över"] ; ["trettio sex minuter över"]}) (variants {["tjugo fyra minuter i"];["tjugo fyra i"];["sex minuter över halv"];["sex över halv"]}) } ;
|
||||
minute37 = {s = mins ["trettio sju"] (variants { ["trettio sju över"] ; ["trettio sju minuter över"]}) (variants {["tjugo tre minuter i"];["tjugo tre i"];["sju minuter över halv"];["sju över halv"]}) } ;
|
||||
minute38 = {s = mins ["trettio åtta"] (variants { ["trettio åtta över"] ; ["trettio åtta minuter över"]}) (variants {["tjugo två minuter i"];["tjugo två i"]}) } ;
|
||||
minute39 = {s = mins ["trettio nio"] (variants { ["trettio nio över"] ; ["trettio nio minuter över"]}) (variants {["tjugo en minuter i"];["tjugo en i"];["tjugo ett i"]}) } ;
|
||||
|
||||
--40-49
|
||||
minute40 = {s = mins ["fyrtio"] (variants {}) (variants {["tjugo minuter i"];["tjugo i"]}) } ;
|
||||
minute41 = {s = mins ["fyrtio ett"] (variants {}) (variants {["nitton minuter i"];["nitton i"]}) } ;
|
||||
minute42 = {s = mins ["fyrtio två"] (variants {}) (variants {["arton minuter i"];["arton i"]}) } ;
|
||||
minute43 = {s = mins ["fyrtio tre"] (variants {}) (variants {["sjutton minuter i"];["sjutton i"]}) } ;
|
||||
minute44 = {s = mins ["fyrtio fyra"] (variants {}) (variants {["sexton minuter i"];["sexton i"]}) } ;
|
||||
minute45 = {s = mins (variants {["fyrtio fem"];["tre kvart"]}) (variants {}) (variants {["femton minuter i"];["femton i"];["kvart i"]}) } ;
|
||||
minute46 = {s = mins ["fyrtio sex"] (variants {}) (variants {["fjorton minuter i"];["fjorton i"]}) } ;
|
||||
minute47 = {s = mins ["fyrtio sju"] (variants {}) (variants {["tretton minuter i"];["tretton i"]}) } ;
|
||||
minute48 = {s = mins ["fyrtio åtta"] (variants {}) (variants {["tolv minuter i"];["tolv i"]}) } ;
|
||||
minute49 = {s = mins ["fyrtio nio"] (variants {}) (variants {["elva minuter i"];["elva i"]}) } ;
|
||||
|
||||
--50-59
|
||||
minute50 = {s = mins ["femtio"] (variants {}) (variants {["tio minuter i"];["tio i"]}) } ;
|
||||
minute51 = {s = mins ["femtio ett"] (variants {}) (variants {["nio minuter i"];["nio i"]}) } ;
|
||||
minute52 = {s = mins ["femtio två"] (variants {}) (variants {["åtta minuter i"];["åtta i"]}) } ;
|
||||
minute53 = {s = mins ["femtio tre"] (variants {}) (variants {["sju minuter i"];["sju i"]}) } ;
|
||||
minute54 = {s = mins ["femtio fyra"] (variants {}) (variants {["sex minuter i"];["sex i"]}) } ;
|
||||
minute55 = {s = mins ["femtio fem"] (variants {}) (variants {["fem minuter i"];["fem i"]}) } ;
|
||||
minute56 = {s = mins ["femtio sex"] (variants {}) (variants {["fyra minuter i"];["fyra i"]}) } ;
|
||||
minute57 = {s = mins ["femtio sju"] (variants {}) (variants {["tre minuter i"];["tre i"]}) } ;
|
||||
minute58 = {s = mins ["femtio åtta"] (variants {}) (variants {["två minuter i"];["två i"]}) } ;
|
||||
minute59 = {s = mins ["femtio nio"] (variants {}) (variants {["en minut i"];["en i"];["ett i"]}) } ;
|
||||
|
||||
lincat Hour = {s : RefHour => Str} ;
|
||||
|
||||
lincat Minute = {s : MinMin => Str} ;
|
||||
|
||||
-- Time expressions
|
||||
lin
|
||||
--timeDotty h m = {s = h.s ! ThisLex ++ m.s ! Dot };
|
||||
--timeInformal h m = {s = variants {
|
||||
--m.s ! Past ++ h.s ! ThisLex ;
|
||||
--m.s ! To ++ h.s ! NextLex
|
||||
--}
|
||||
--};
|
||||
--timeFormal h m = {s = h.s ! ThisFormal ++ m.s ! Form} ;
|
||||
time h m = {s = variants {
|
||||
h.s ! ThisFormal ++ m.s ! Form ;
|
||||
h.s ! ThisFormal ++ "och" ++ m.s ! Form ;
|
||||
m.s ! Past ++ h.s ! ThisLex ;
|
||||
m.s ! To ++ h.s ! NextLex
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user