added weekdays and months to Construction, concrete in ConstructionFin

Works like this:
> p "perjantaisin"
PhrUtt NoPConj (UttAdv (weekdayAdv friday)) NoVoc
This commit is contained in:
inari
2013-12-10 19:25:14 +00:00
parent 4e1df7eb59
commit 7e75878898
2 changed files with 35 additions and 2 deletions

View File

@@ -1,8 +1,10 @@
--# -path=alltenses:.:../abstract
concrete ConstructionFin of Construction = CatFin **
open SyntaxFin, ParadigmsFin, (L = LexiconFin), (E = ExtraFin), Prelude in {
open SyntaxFin, ParadigmsFin, (L = LexiconFin), (E = ExtraFin), (D = DictEngFin), Prelude in {
lincat
Weekday = {name : NP ; point : SyntaxFin.Adv ; habitual : SyntaxFin.Adv} ;
lin
hungry_VP = mkVP have_V2 (lin NP (mkNP (ParadigmsFin.mkN "nälkä"))) ;
@@ -23,5 +25,23 @@ lin
is_wrong_VP = mkVP (ParadigmsFin.mkAdv "väärässä") ;
n_units_AP card cn a = mkAP (lin AdA (mkUtt (lin NP (mkNP <lin Card card : Card> (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" ;
weekdayAdv w = w.point | 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
} ;
}