From 01ffe53fe9673438fadbb2fce5e00950ef3a3886 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 11 Dec 2013 12:57:16 +0000 Subject: [PATCH] some adjustments in weekdays in Construction; added them in Eng as well --- lib/src/abstract/Construction.gf | 10 +++++--- lib/src/english/ConstructionEng.gf | 15 +++++++++++ lib/src/finnish/AllFin.gf | 3 ++- lib/src/finnish/AllFinAbs.gf | 1 + lib/src/finnish/ConstructionFin.gf | 41 +++++++++++++++++------------- 5 files changed, 48 insertions(+), 22 deletions(-) diff --git a/lib/src/abstract/Construction.gf b/lib/src/abstract/Construction.gf index bab1f2085..db1a291e2 100644 --- a/lib/src/abstract/Construction.gf +++ b/lib/src/abstract/Construction.gf @@ -40,11 +40,13 @@ fun -- weekdayN : Weekday -> N ; --weekdays are already as nouns in Dict -- monthN : Month -> N --months are already as nouns in Dict - weekdayAdv : Weekday -> Adv ; + weekdayPunctualAdv : Weekday -> Adv ; + weekdayHabitualAdv : Weekday -> Adv ; monthAdv : Month -> Adv ; - monday,tuesday,wednesday,thursday,friday,sunday : Weekday ; - january,february,march,april,may,june,july : Month ; - august,september,october,november,december : Month ; + monday_Weekday, tuesday_Weekday, wednesday_Weekday, thursday_Weekday, friday_Weekday, sunday_Weekday : Weekday ; + + january_Month, february_Month, march_Month, april_Month, may_Month, june_Month, july_Month : Month ; + august_Month, september_Month, october_Month, november_Month, december_Month : Month ; } diff --git a/lib/src/english/ConstructionEng.gf b/lib/src/english/ConstructionEng.gf index e5dbbb24f..e1b7c3328 100644 --- a/lib/src/english/ConstructionEng.gf +++ b/lib/src/english/ConstructionEng.gf @@ -23,5 +23,20 @@ lin is_wrong_VP = mkVP (ParadigmsEng.mkA "wrong") ; n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; + +lincat + Weekday = N ; +lin + monday_Weekday = mkN "Monday" ; + tuesday_Weekday = mkN "Tuesday" ; + wednesday_Weekday = mkN "Wednesday" ; + thursday_Weekday = mkN "Thursday" ; + friday_Weekday = mkN "Friday" ; + saturday_Weekday = mkN "Saturday" ; + sunday_Weekday = mkN "Sunday" ; + + weekdayPunctualAdv w = SyntaxEng.mkAdv on_Prep (mkNP w) ; -- on Sunday + weekdayHabitualAdv w = SyntaxEng.mkAdv on_Prep (mkNP aPl_Det w) ; -- on Sundays + } diff --git a/lib/src/finnish/AllFin.gf b/lib/src/finnish/AllFin.gf index 0d3f47011..15ce41d3c 100644 --- a/lib/src/finnish/AllFin.gf +++ b/lib/src/finnish/AllFin.gf @@ -2,5 +2,6 @@ concrete AllFin of AllFinAbs = LangFin - [SlashV2VNP,SlashVV, TFut], ---- to speed up linking; to remove spurious parses - ExtraFin - [ProDrop, ProDropPoss, S_OSV, S_VSO, S_ASV] -- to exclude spurious parses + ConstructionFin, + ExtraFin - [ProDrop, ProDropPoss, S_OSV, S_VSO, S_ASV, AdvExistNP] -- to exclude spurious parses ** {} ; diff --git a/lib/src/finnish/AllFinAbs.gf b/lib/src/finnish/AllFinAbs.gf index 9aeee82f3..e79cab11c 100644 --- a/lib/src/finnish/AllFinAbs.gf +++ b/lib/src/finnish/AllFinAbs.gf @@ -1,4 +1,5 @@ abstract AllFinAbs = Lang, + Construction, ExtraFinAbs ** {} ; diff --git a/lib/src/finnish/ConstructionFin.gf b/lib/src/finnish/ConstructionFin.gf index 368c8c643..b061437f7 100644 --- a/lib/src/finnish/ConstructionFin.gf +++ b/lib/src/finnish/ConstructionFin.gf @@ -1,10 +1,7 @@ --# -path=alltenses:.:../abstract concrete ConstructionFin of Construction = CatFin ** - open SyntaxFin, ParadigmsFin, (L = LexiconFin), (E = ExtraFin), (D = DictEngFin), Prelude in { - -lincat - Weekday = {name : NP ; point : SyntaxFin.Adv ; habitual : SyntaxFin.Adv} ; + open SyntaxFin, ParadigmsFin, (L = LexiconFin), (E = ExtraFin) in { lin hungry_VP = mkVP have_V2 (lin NP (mkNP (ParadigmsFin.mkN "nälkä"))) ; @@ -26,22 +23,32 @@ lin n_units_AP card cn a = mkAP (lin AdA (mkUtt (lin NP (mkNP (lin CN cn))))) (lin A a) ; - monday = mkDay D.monday_PN "maanantaisin" ; - tuesday = mkDay D.tuesday_PN "tiistaisin" ; - wednesday = mkDay D.wednesday_PN "keskiviikkoisin" ; - thursday = mkDay D.thursday_PN "torstaisin" ; - friday = mkDay D.friday_PN "perjantaisin" ; - saturday = mkDay D.saturday_PN "lauantaisin" ; - sunday = mkDay D.sunday_PN "sunnuntaisin" ; +lincat + Weekday = {name : NP ; noun : CN ; point : SyntaxFin.Adv ; habitual : SyntaxFin.Adv} ; +lin + monday_Weekday = mkWeekday "maanantai" ; + tuesday_Weekday = mkWeekday "tiistaisi" ; + wednesday_Weekday = mkWeekday "keskiviikko" ; + thursday_Weekday = mkWeekday "torstai" ; + friday_Weekday = mkWeekday "perjantai" ; + saturday_Weekday = mkWeekday"lauantai" ; + sunday_Weekday = mkWeekday "sunnuntai" ; - weekdayAdv w = w.point | w.habitual ; + weekdayPunctualAdv w = w.point ; + weekdayHabitualAdv w = w.habitual ; oper - mkDay : PN -> Str -> Weekday = \d,s -> - let day = mkNP d in - lin Weekday {name = day ; - point = SyntaxFin.mkAdv (casePrep essive) day ; - habitual = ParadigmsFin.mkAdv s + mkWeekday : Str -> Weekday = \d -> + let day = mkN d + in + lin Weekday { + name = mkNP day ; + noun = mkCN day ; + point = SyntaxFin.mkAdv (casePrep essive) (mkNP day) ; + habitual = case d of { + _ + "i" => ParadigmsFin.mkAdv (d + "sin") ; -- tiistaisin + _ => ParadigmsFin.mkAdv (d + "isin") -- keskiviikkoisin + } } ; }