summaryrefslogtreecommitdiff
path: root/grammars/video/Time/time.Catalan.gf
diff options
context:
space:
mode:
Diffstat (limited to 'grammars/video/Time/time.Catalan.gf')
-rw-r--r--grammars/video/Time/time.Catalan.gf135
1 files changed, 135 insertions, 0 deletions
diff --git a/grammars/video/Time/time.Catalan.gf b/grammars/video/Time/time.Catalan.gf
new file mode 100644
index 000000000..b987486cb
--- /dev/null
+++ b/grammars/video/Time/time.Catalan.gf
@@ -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 } ; \ No newline at end of file