mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-07-02 12:08:34 -06:00
Merge pull request #56 from odanoburu/time
(Construction{Eng,Por}) add timeHour and timeHourMinute
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
concrete ConstructionPor of Construction = CatPor **
|
||||
open SyntaxPor, SymbolicPor, ParadigmsPor, BeschPor,
|
||||
(L = LexiconPor), (E = ExtraPor), (B = IrregBeschPor), (R = ResPor),
|
||||
(S = SyntaxPor), (C = CommonRomance),
|
||||
(S = SyntaxPor), (C = CommonRomance), CommonRomance,
|
||||
Prelude in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
@@ -52,12 +52,17 @@ lin
|
||||
|
||||
lincat
|
||||
Timeunit = N ;
|
||||
Hour = {s : Str ; pe : Period ; n : Number} ;
|
||||
Weekday = N ;
|
||||
Monthday = NP ;
|
||||
Month = N ;
|
||||
Year = NP ;
|
||||
oper
|
||||
noPrep : Prep = mkPrep [] ;
|
||||
|
||||
param
|
||||
Period = Manha | Tarde | Noite | None ;
|
||||
|
||||
oper
|
||||
noPrep : Prep = mkPrep [] ;
|
||||
|
||||
lin
|
||||
timeunitAdv n time =
|
||||
@@ -65,6 +70,54 @@ oper
|
||||
n_hours_NP : NP = mkNP n_card time ;
|
||||
in S.mkAdv for_Prep n_hours_NP | S.mkAdv to_Prep n_hours_NP ;--| S.mkAdv (n_hours_NP.s ! R.Nom) ;
|
||||
|
||||
oneHour = mkHour "1" Manha Sg ;
|
||||
twoHour = mkHour "2" Manha Pl ;
|
||||
threeHour = mkHour "3" Manha Pl ;
|
||||
fourHour = mkHour "4" Manha Pl ;
|
||||
fiveHour = mkHour "5" Manha Pl ;
|
||||
sixHour = mkHour "6" Manha Pl ;
|
||||
sevenHour = mkHour "7" Manha Pl ;
|
||||
eightHour = mkHour "8" Manha Pl ;
|
||||
nineHour = mkHour "9" Manha Pl ;
|
||||
tenHour = mkHour "10" Manha Pl ;
|
||||
elevenHour = mkHour "11" Manha Pl ;
|
||||
twelveHour = {s = "meio-dia" ; pe = None ; n = Sg} ;
|
||||
thirteenHour = mkHour "13" Tarde Pl ;
|
||||
fourteenHour = mkHour "14" Tarde Pl ;
|
||||
fifteenHour = mkHour "15" Tarde Pl ;
|
||||
sixteenHour = mkHour "16" Tarde Pl ;
|
||||
seventeenHour = mkHour "17" Tarde Pl ;
|
||||
eighteenHour = mkHour "18" Tarde Pl ;
|
||||
nineteenHour = mkHour "19" Noite Pl ;
|
||||
twentyHour = mkHour "20" Noite Pl ;
|
||||
twentyOneHour = mkHour "21" Noite Pl ;
|
||||
twentyTwoHour = mkHour "22" Noite Pl ;
|
||||
twentyThreeHour = mkHour "23" Noite Pl ;
|
||||
twentyFourHour = {s = "meia-noite" ; pe = None ; n = Sg} ;
|
||||
|
||||
timeHour h = mkAdv (a ! h.n ++ h.s ++ period ! h.pe) ;
|
||||
|
||||
timeHourMinute h m = let
|
||||
min = m.s ! Masc
|
||||
in
|
||||
mkAdv (a ! h.n ++ h.s ++ "e" ++ min ++ period ! h.pe) ;
|
||||
|
||||
oper
|
||||
mkHour : Str -> Period -> Number -> {s : Str ; pe : Period ; n : Number} ;
|
||||
mkHour num pe n = S.mkUtt (S.mkCard num) ** {pe = pe ; n = n} ;
|
||||
|
||||
period : Period => Str ;
|
||||
period = table {
|
||||
Manha => "da manhã" ;
|
||||
Tarde => "da tarde" ;
|
||||
Noite => "da noite" ;
|
||||
None => ""
|
||||
} ;
|
||||
|
||||
a : Number => Str ;
|
||||
a = numForms "à" "às" ;
|
||||
|
||||
lin
|
||||
weekdayPunctualAdv w = lin Adv {s = w.s ! C.Sg} ; -- lundi
|
||||
weekdayHabitualAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det w) ; -- il lunedí ----
|
||||
weekdayLastAdv w = SyntaxPor.mkAdv noPrep (mkNP the_Det (mkCN (mkA "passado") w)) ; -- il lunedí scorso
|
||||
|
||||
Reference in New Issue
Block a user