mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-08 10:42:50 -06:00
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 } ;
|
||||
Reference in New Issue
Block a user