summaryrefslogtreecommitdiff
path: root/examples/tutorial/smart/SmartI.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-09-12 21:03:00 +0000
committeraarne <aarne@cs.chalmers.se>2007-09-12 21:03:00 +0000
commitc9f8961a9ed5c33524619309171aba1b587ad7c2 (patch)
treeb11ab55379d53b027ac528e1c49bbef4c4e52a3a /examples/tutorial/smart/SmartI.gf
parentfff6afd438ec49cf32f9a384b98e6f9a7859d65c (diff)
last adjustments of examples before course
Diffstat (limited to 'examples/tutorial/smart/SmartI.gf')
-rw-r--r--examples/tutorial/smart/SmartI.gf50
1 files changed, 50 insertions, 0 deletions
diff --git a/examples/tutorial/smart/SmartI.gf b/examples/tutorial/smart/SmartI.gf
new file mode 100644
index 000000000..2b46ba0fe
--- /dev/null
+++ b/examples/tutorial/smart/SmartI.gf
@@ -0,0 +1,50 @@
+--# -path=.:present:prelude
+
+incomplete concrete SmartI of Smart = open Syntax, LexSmart, Prelude in {
+
+-- grammar Toy1 from the Regulus book
+
+flags startcat = Utterance ;
+
+lincat
+ Utterance = Utt ;
+ Command = Imp ;
+ Question = QS ;
+ Kind = N ;
+ Action = V2 ;
+ Device = NP ;
+ Location = N ;
+
+lin
+ UCommand c = mkUtt politeImpForm c ;
+ UQuestion q = mkUtt q ;
+
+ CAction _ act dev = mkImp act dev ;
+ QAction _ act st dev =
+ mkQS anteriorAnt (mkQCl (mkCl dev (passiveVP act))) ; ---- show empty proof
+
+ DKindOne k = mkNP defSgDet k ;
+ DKindMany k = mkNP defPlDet k ;
+ DLoc _ dev loc = mkNP dev (mkAdv in_Prep (mkNP defSgDet loc)) ;
+
+ light = light_N ;
+ fan = fan_N ;
+
+ switchOn _ _ = switchOn_V2 ;
+ switchOff _ _ = switchOff_V2 ;
+
+ dim _ _ = dim_V2 ;
+
+ kitchen = kitchen_N ;
+ livingRoom = livingRoom_N ;
+
+lin
+ switchable_light = ss [] ;
+ switchable_fan = ss [] ;
+ dimmable_light = ss [] ;
+
+ statelike_switchOn _ _ = ss [] ;
+ statelike_switchOff _ _ = ss [] ;
+
+
+}