summaryrefslogtreecommitdiff
path: root/examples/tram0
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2005-12-09 16:28:45 +0000
committeraarne <aarne@cs.chalmers.se>2005-12-09 16:28:45 +0000
commit5766d566a8477cd8d651eb51cd6fb2359a976be5 (patch)
tree2cc3b1d1a709cf3941892e82889117305616436f /examples/tram0
parentf63542c17fd5494166e7ed75809f4bc5516c0cd1 (diff)
multimodal for Swedish
Diffstat (limited to 'examples/tram0')
-rw-r--r--examples/tram0/README15
-rw-r--r--examples/tram0/Tram.gf33
-rw-r--r--examples/tram0/TramEng.gf5
-rw-r--r--examples/tram0/TramFre.gf5
-rw-r--r--examples/tram0/TramI.gf44
-rw-r--r--examples/tram0/TramSwe.gf5
6 files changed, 107 insertions, 0 deletions
diff --git a/examples/tram0/README b/examples/tram0/README
new file mode 100644
index 000000000..552b160f3
--- /dev/null
+++ b/examples/tram0/README
@@ -0,0 +1,15 @@
+Björn Bringert's tram grammars (user side, without place names)
+implemented as an example of lib/resource/abstract/Multimodal.
+
+For documentation of the original system, see
+
+ http://www.cs.chalmers.se/~bringert/gf/tramdemo.html
+
+To try, do in gf
+
+ i -src TramEng.gf
+ gr | l -tr | p
+
+Clicks appear as coordinates on the right of the semicolon.
+
+AR 7/11/2005.
diff --git a/examples/tram0/Tram.gf b/examples/tram0/Tram.gf
new file mode 100644
index 000000000..bcd9f7b7c
--- /dev/null
+++ b/examples/tram0/Tram.gf
@@ -0,0 +1,33 @@
+abstract Tram = {
+
+cat
+ Dep ; -- from here, from Angered
+ Dest ; -- to here, to Angered
+ Query ; -- message sent to the dialogue manager: sequentialized
+ Input ; -- user input: parallel text and clicks
+ Click ; -- map clicks
+
+fun
+ QInput : Input -> Query ; -- sequentialize user input
+
+fun
+ GoFromTo : Dep -> Dest -> Input ; -- user input "want to go from a to b"
+ GoToFrom : Dest -> Dep -> Input ; -- user input "want to go to a from b"
+ ComeFrom : Dep -> Input ; -- user input "want to come from x (to where I am now)
+ GoTo : Dest -> Input ; -- user input "want to go to x (from where I am now)
+
+ DepClick : Click -> Dep ; -- "from here" with click
+ DestClick : Click -> Dest ; -- "to here" with click
+ DepHere : Dep ; -- "from here" indexical
+ DestHere : Dest ; -- "to here" indexical
+ DepNamed : String -> Dep ; -- from a place name
+ DestNamed : String -> Dest ; -- to a place name
+
+ CCoord : Int -> Int -> Click ;
+
+--- the syntax of here (prep + adverb, not prep + np) prevent these
+-- Place ; -- any way to identify a place: name, click, or indexical "here"
+-- PClick : Click -> Place ; -- click associated with a "here"
+-- PHere : Place ; -- indexical "here", without a click
+
+}
diff --git a/examples/tram0/TramEng.gf b/examples/tram0/TramEng.gf
new file mode 100644
index 000000000..58a7bd8de
--- /dev/null
+++ b/examples/tram0/TramEng.gf
@@ -0,0 +1,5 @@
+--# -path=.:resource/abstract:resource/english:prelude
+
+concrete TramEng of Tram = TramI with
+ (Multimodal = MultimodalEng),
+ (Math = MathEng) ;
diff --git a/examples/tram0/TramFre.gf b/examples/tram0/TramFre.gf
new file mode 100644
index 000000000..4d6909640
--- /dev/null
+++ b/examples/tram0/TramFre.gf
@@ -0,0 +1,5 @@
+--# -path=.:resource/abstract:resource/french:resource/romance:prelude
+
+concrete TramFre of Tram = TramI with
+ (Multimodal = MultimodalFre),
+ (Math = MathFre) ;
diff --git a/examples/tram0/TramI.gf b/examples/tram0/TramI.gf
new file mode 100644
index 000000000..384cdbf3b
--- /dev/null
+++ b/examples/tram0/TramI.gf
@@ -0,0 +1,44 @@
+incomplete concrete TramI of Tram = open Multimodal, Math in {
+
+flags startcat=Query ; lexer=textlit ;
+
+lincat
+ Dep, Dest = DAdv ;
+ Query = Phr ; -- top level, plain string
+ Input = MS ; -- two parallel sequences (text and clicks)
+ Click = Point ;
+
+lin
+ QInput i = SentMS PPos i ;
+
+ GoFromTo x y =
+ ModDemV want_VV go_V (DemNP i_NP)
+ (ConsDAdv x (ConsDAdv y BaseDAdv)) ;
+
+ GoToFrom x y =
+ ModDemV want_VV go_V (DemNP i_NP)
+ (ConsDAdv x (ConsDAdv y BaseDAdv)) ;
+
+ ComeFrom x =
+ ModDemV want_VV come_V (DemNP i_NP)
+ (ConsDAdv x BaseDAdv) ;
+
+ GoTo x =
+ ModDemV want_VV go_V (DemNP i_NP)
+ (ConsDAdv x BaseDAdv) ;
+
+ DepClick c = here7from_DAdv c ;
+ DestClick c = here7to_DAdv c ;
+ DepHere = DemAdv here7from_Adv ;
+ DestHere = DemAdv here7to_Adv ;
+ DepNamed s = PrepDNP from_Prep (DemNP (UsePN (SymbPN s))) ;
+ DestNamed s = PrepDNP to_Prep (DemNP (UsePN (SymbPN s))) ;
+
+ CCoord x y = {s5 = "(" ++ x.s ++ "," ++ y.s ++ ")" ; lock_Point = <>} ;
+
+-- Place = DNP ; -- name + click - not possible for "here"
+-- PClick c = this_DNP c ;
+-- PHere = DemNP this_NP ;
+-- PNamed s = DemNP (UsePN (SymbPN s)) ;
+
+}
diff --git a/examples/tram0/TramSwe.gf b/examples/tram0/TramSwe.gf
new file mode 100644
index 000000000..6875fafa2
--- /dev/null
+++ b/examples/tram0/TramSwe.gf
@@ -0,0 +1,5 @@
+--# -path=.:resource/abstract:resource/swedish:resource/scandinavian:prelude
+
+concrete TramSwe of Tram = TramI with
+ (Multimodal = MultimodalSwe),
+ (Math = MathSwe) ;