mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 03:32:51 -06:00
in tutorial/smart remove the hack that forced the proof object to be resolved
This commit is contained in:
@@ -18,16 +18,16 @@ lincat
|
|||||||
Action = {s : VForm => Str ; part : Str} ;
|
Action = {s : VForm => Str ; part : Str} ;
|
||||||
Device = {s : Str ; n : Number} ;
|
Device = {s : Str ; n : Number} ;
|
||||||
Location = SS ;
|
Location = SS ;
|
||||||
Switchable = SS ;
|
Switchable = {} ;
|
||||||
Dimmable = SS ;
|
Dimmable = {} ;
|
||||||
Statelike = SS ;
|
Statelike = {} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
UCommand c = c ;
|
UCommand c = c ;
|
||||||
UQuestion q = q ;
|
UQuestion q = q ;
|
||||||
|
|
||||||
CAction _ act dev = ss (act.s ! VImp ++ bothWays act.part dev.s) ;
|
CAction _ act dev = ss (act.s ! VImp ++ bothWays act.part dev.s) ;
|
||||||
QAction _ act st dev = ss (be dev.n ++ dev.s ++ act.s ! VPart ++ act.part ++ st.s) ;
|
QAction _ act _ dev = ss (be dev.n ++ dev.s ++ act.s ! VPart ++ act.part) ;
|
||||||
|
|
||||||
DKindOne k = {
|
DKindOne k = {
|
||||||
s = "the" ++ k.s ! Sg ;
|
s = "the" ++ k.s ! Sg ;
|
||||||
@@ -45,10 +45,10 @@ lin
|
|||||||
light = mkNoun "light" ;
|
light = mkNoun "light" ;
|
||||||
fan = mkNoun "fan" ;
|
fan = mkNoun "fan" ;
|
||||||
|
|
||||||
switchOn _ proof = mkVerb proof.s "switch" "switched" "on" ;
|
switchOn _ _ = mkVerb "switch" "switched" "on" ;
|
||||||
switchOff _ proof = mkVerb proof.s "switch" "switched" "off" ;
|
switchOff _ _ = mkVerb "switch" "switched" "off" ;
|
||||||
|
|
||||||
dim _ proof = mkVerb proof.s "dim" "dimmed" [] ;
|
dim _ _ = mkVerb "dim" "dimmed" [] ;
|
||||||
|
|
||||||
kitchen = ss "kitchen" ;
|
kitchen = ss "kitchen" ;
|
||||||
livingRoom = ss ["living room"] ;
|
livingRoom = ss ["living room"] ;
|
||||||
@@ -61,10 +61,10 @@ oper
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb : (_,_,_,_ : Str) -> {s : VForm => Str ; part : Str} = \proof,go,gone,away -> {
|
mkVerb : (_,_,_ : Str) -> {s : VForm => Str ; part : Str} = \go,gone,away -> {
|
||||||
s = table {
|
s = table {
|
||||||
VImp => proof++go ;
|
VImp => go ;
|
||||||
VPart => proof++gone
|
VPart => gone
|
||||||
} ;
|
} ;
|
||||||
part = away
|
part = away
|
||||||
} ;
|
} ;
|
||||||
@@ -74,14 +74,5 @@ oper
|
|||||||
Pl => "are"
|
Pl => "are"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
hidden : SS = ss [] ;
|
|
||||||
lin
|
|
||||||
switchable_light = hidden ;
|
|
||||||
switchable_fan = hidden ;
|
|
||||||
dimmable_light = hidden ;
|
|
||||||
|
|
||||||
statelike_switchOn _ _ = hidden ;
|
|
||||||
statelike_switchOff _ _ = hidden ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,17 +19,17 @@ lincat
|
|||||||
Action = {s : VForm => Str} ;
|
Action = {s : VForm => Str} ;
|
||||||
Device = {s : Str ; g : Gender ; n : Number} ;
|
Device = {s : Str ; g : Gender ; n : Number} ;
|
||||||
Location = {s : Number => Str ; g : Gender} ;
|
Location = {s : Number => Str ; g : Gender} ;
|
||||||
Switchable = SS ;
|
Switchable = {} ;
|
||||||
Dimmable = SS ;
|
Dimmable = {} ;
|
||||||
Statelike = SS ;
|
Statelike = {} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
UCommand c = c ;
|
UCommand c = c ;
|
||||||
UQuestion q = q ;
|
UQuestion q = q ;
|
||||||
|
|
||||||
CAction _ act dev = ss (act.s ! VInf ++ dev.s) ;
|
CAction _ act dev = ss (act.s ! VInf ++ dev.s) ;
|
||||||
QAction _ act st dev =
|
QAction _ act _ dev =
|
||||||
ss (dev.s ++ est dev.g dev.n ++ act.s ! VPart dev.g dev.n ++ st.s) ;
|
ss (dev.s ++ est dev.g dev.n ++ act.s ! VPart dev.g dev.n) ;
|
||||||
|
|
||||||
DKindOne k = {
|
DKindOne k = {
|
||||||
s = defArt k.g ++ k.s ! Sg ;
|
s = defArt k.g ++ k.s ! Sg ;
|
||||||
@@ -50,10 +50,10 @@ lin
|
|||||||
light = mkNoun "lampe" Fem ;
|
light = mkNoun "lampe" Fem ;
|
||||||
fan = mkNoun "ventilateur" Masc ;
|
fan = mkNoun "ventilateur" Masc ;
|
||||||
|
|
||||||
switchOn _ proof = mkVerb proof.s "allumer" "allumé" ;
|
switchOn _ _ = mkVerb "allumer" "allumé" ;
|
||||||
switchOff _ proof = mkVerb proof.s "éteindre" "éteint" ;
|
switchOff _ _ = mkVerb "éteindre" "éteint" ;
|
||||||
|
|
||||||
dim _ proof = mkVerb proof.s "baisser" "baissé" ;
|
dim _ _ = mkVerb "baisser" "baissé" ;
|
||||||
|
|
||||||
kitchen = mkNoun "cuisine" Fem ;
|
kitchen = mkNoun "cuisine" Fem ;
|
||||||
livingRoom = mkNoun "salon" Masc ;
|
livingRoom = mkNoun "salon" Masc ;
|
||||||
@@ -67,13 +67,13 @@ oper
|
|||||||
g = g
|
g = g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb : (_,_,_ : Str) -> {s : VForm => Str} = \proof,venir,venu -> {
|
mkVerb : (_,_ : Str) -> {s : VForm => Str} = \venir,venu -> {
|
||||||
s = table {
|
s = table {
|
||||||
VInf => proof++venir ;
|
VInf => venir ;
|
||||||
VPart Masc Sg => proof++venu ;
|
VPart Masc Sg => venu ;
|
||||||
VPart Masc Pl => proof++venu + "s" ;
|
VPart Masc Pl => venu + "s" ;
|
||||||
VPart Fem Sg => proof++venu + "e" ;
|
VPart Fem Sg => venu + "e" ;
|
||||||
VPart Fem Pl => proof++venu + "es"
|
VPart Fem Pl => venu + "es"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -86,13 +86,5 @@ oper
|
|||||||
|
|
||||||
defArt : Gender -> Str = \g -> case g of {Masc => "le" ; Fem => "la"} ;
|
defArt : Gender -> Str = \g -> case g of {Masc => "le" ; Fem => "la"} ;
|
||||||
|
|
||||||
lin
|
|
||||||
switchable_light = ss [] ;
|
|
||||||
switchable_fan = ss [] ;
|
|
||||||
dimmable_light = ss [] ;
|
|
||||||
|
|
||||||
statelike_switchOn _ _ = ss [] ;
|
|
||||||
statelike_switchOff _ _ = ss [] ;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,18 +14,21 @@ lincat
|
|||||||
Action = V2 ;
|
Action = V2 ;
|
||||||
Device = NP ;
|
Device = NP ;
|
||||||
Location = N ;
|
Location = N ;
|
||||||
|
Switchable = {} ;
|
||||||
|
Dimmable = {} ;
|
||||||
|
Statelike = {} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
UCommand c = mkUtt politeImpForm c ;
|
UCommand c = mkUtt politeImpForm c ;
|
||||||
UQuestion q = mkUtt q ;
|
UQuestion q = mkUtt q ;
|
||||||
|
|
||||||
CAction _ act dev = mkImp act dev ;
|
CAction _ act dev = mkImp act dev ;
|
||||||
QAction _ act st dev =
|
QAction _ act _ dev =
|
||||||
mkQS anteriorAnt (mkQCl (mkCl dev (passiveVP act))) ; ---- show empty proof
|
mkQS anteriorAnt (mkQCl (mkCl dev (passiveVP act))) ;
|
||||||
|
|
||||||
DKindOne k = mkNP defSgDet k ;
|
DKindOne k = mkNP the_Det k ;
|
||||||
DKindMany k = mkNP defPlDet k ;
|
DKindMany k = mkNP thePl_Det k ;
|
||||||
DLoc _ dev loc = mkNP dev (mkAdv in_Prep (mkNP defSgDet loc)) ;
|
DLoc _ dev loc = mkNP dev (mkAdv in_Prep (mkNP the_Det loc)) ;
|
||||||
|
|
||||||
light = light_N ;
|
light = light_N ;
|
||||||
fan = fan_N ;
|
fan = fan_N ;
|
||||||
@@ -37,14 +40,5 @@ lin
|
|||||||
|
|
||||||
kitchen = kitchen_N ;
|
kitchen = kitchen_N ;
|
||||||
livingRoom = livingRoom_N ;
|
livingRoom = livingRoom_N ;
|
||||||
|
|
||||||
lin
|
|
||||||
switchable_light = ss [] ;
|
|
||||||
switchable_fan = ss [] ;
|
|
||||||
dimmable_light = ss [] ;
|
|
||||||
|
|
||||||
statelike_switchOn _ _ = ss [] ;
|
|
||||||
statelike_switchOff _ _ = ss [] ;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user