summaryrefslogtreecommitdiff
path: root/grammars/video/User
diff options
context:
space:
mode:
authoraarne <unknown>2004-09-16 14:47:18 +0000
committeraarne <unknown>2004-09-16 14:47:18 +0000
commitecc132dccfc7617ed413f21ee37539475081f8ec (patch)
treef6fe589eb3881e36b9a94d36aaba49fe4d4087e4 /grammars/video/User
parent7769d0fb00a34fb4499017a4aec01a59246b69a1 (diff)
Karin C's example
Diffstat (limited to 'grammars/video/User')
-rw-r--r--grammars/video/User/genUser.gf7
-rw-r--r--grammars/video/User/genUserProlog.gf8
-rw-r--r--grammars/video/User/genUserSwe.gf8
-rw-r--r--grammars/video/User/general.Prolog.gf6
-rw-r--r--grammars/video/User/specUser.gf36
-rw-r--r--grammars/video/User/specUserProlog.gf68
-rw-r--r--grammars/video/User/specUserSwe.gf35
-rw-r--r--grammars/video/User/specific.Prolog.gf68
8 files changed, 236 insertions, 0 deletions
diff --git a/grammars/video/User/genUser.gf b/grammars/video/User/genUser.gf
new file mode 100644
index 000000000..60afeafd6
--- /dev/null
+++ b/grammars/video/User/genUser.gf
@@ -0,0 +1,7 @@
+-- File name User/general.Abs.gf
+
+abstract genUser = general ** {
+
+fun
+request : Action -> DMove ;
+} \ No newline at end of file
diff --git a/grammars/video/User/genUserProlog.gf b/grammars/video/User/genUserProlog.gf
new file mode 100644
index 000000000..c1731a9ce
--- /dev/null
+++ b/grammars/video/User/genUserProlog.gf
@@ -0,0 +1,8 @@
+-- File name User/general.Prolog.gf
+--- the rest formarly known as User-general
+-- is now considered shared-general
+
+concrete genUserProlog of genUser = generalProlog ** open prologResource in {
+lin
+request a = {s = app "request" a.s };
+}
diff --git a/grammars/video/User/genUserSwe.gf b/grammars/video/User/genUserSwe.gf
new file mode 100644
index 000000000..d173d3711
--- /dev/null
+++ b/grammars/video/User/genUserSwe.gf
@@ -0,0 +1,8 @@
+-- File name User/general.Swe.gf
+
+concrete genUserSwe of genUser = generalSwe ** {
+
+lin
+
+request a = {s = a.s };
+}
diff --git a/grammars/video/User/general.Prolog.gf b/grammars/video/User/general.Prolog.gf
new file mode 100644
index 000000000..bb148a33e
--- /dev/null
+++ b/grammars/video/User/general.Prolog.gf
@@ -0,0 +1,6 @@
+-- File name User/general.Prolog.gf
+--- the rest formarly known as User-general
+-- is now considered shared-general
+
+lin
+request a = {s = app "request" a.s }; \ No newline at end of file
diff --git a/grammars/video/User/specUser.gf b/grammars/video/User/specUser.gf
new file mode 100644
index 000000000..00aa69a44
--- /dev/null
+++ b/grammars/video/User/specUser.gf
@@ -0,0 +1,36 @@
+-- File name User/specific.Abs.gf
+
+
+abstract specUser = specific, genUser ** {
+
+cat
+AnswerReq ;
+AnswerListReq ;
+Request ;
+
+fun
+--- Answers in request list
+vcr_add_rec_job_args4 : AnswerReq -> AnswerReq -> AnswerReq -> AnswerReq -> Action ;
+vcr_add_rec_job_args3 : AnswerReq -> AnswerReq -> AnswerReq -> Action ;
+vcr_add_rec_job_args2 : AnswerReq -> AnswerReq -> Action ;
+vcr_add_rec_job_args1 : AnswerReq -> Action ;
+---- vcr_add_rec_job_no_args : Action ; -- spela in! moved to specific
+
+fun
+--- Possible answers in request list
+startTimeToStoreReq : StartTime -> AnswerReq ;
+endTimeToStoreReq : EndTime -> AnswerReq ;
+channelToStoreReq : ChToStore -> AnswerReq ;
+weekdayToStoreReq : WdToStore -> AnswerReq ;
+
+--- AnswerList
+answerListReq4 : AnswerReq -> AnswerReq -> AnswerReq -> AnswerReq -> AnswerListReq ;
+answerListReq3 : AnswerReq -> AnswerReq -> AnswerReq -> AnswerListReq ;
+answerListReq2 : AnswerReq -> AnswerReq -> AnswerListReq ;
+answerListReq : AnswerListReq -> DMove;
+
+answerReq : AnswerReq -> Answer ;
+
+--requestChannelsDMove : Request -> DMove;
+requestChannels : Action ;
+}
diff --git a/grammars/video/User/specUserProlog.gf b/grammars/video/User/specUserProlog.gf
new file mode 100644
index 000000000..f586951ce
--- /dev/null
+++ b/grammars/video/User/specUserProlog.gf
@@ -0,0 +1,68 @@
+-- File name User/specific.Prolog.gf
+
+concrete specUserProlog of specUser = genUserProlog, specificProlog **
+ open prologResource in {
+
+
+
+--- Answers in request list
+lin
+vcr_add_rec_job_args4 chst wdts stts etts =
+ {s =
+ "add_rec_job" ++ "," ++
+ app "answer" chst.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ app "answer" stts.s ++ "," ++
+ "answer" ++ "(" ++ etts.s } ;
+
+vcr_add_rec_job_args3 chst wdts stts =
+ {s =
+ "add_rec_job" ++ "," ++
+ app "answer" chst.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ "answer" ++ "(" ++ stts.s} ;
+
+vcr_add_rec_job_args2 chst wdts = {s =
+ "add_rec_job" ++ "," ++
+ app "answer" chst.s ++ "," ++
+ "answer" ++ "(" ++ wdts.s } ;
+
+vcr_add_rec_job_args1 chst = {s =
+ "add_rec_job" ++ "," ++
+ "answer" ++ "(" ++ chst.s } ;
+
+---- vcr_add_rec_job_no_args = {s = "add_rec_job"} ; -- moved to specific
+
+
+
+--- Possible answers in request list
+startTimeToStoreReq v = {s= v.s} ;
+endTimeToStoreReq v = {s= v.s} ;
+channelToStoreReq v = {s= v.s} ;
+weekdayToStoreReq v = {s= v.s} ;
+
+--- AnswerList
+answerListReq4 chts wdts stts etts =
+ { s =
+ app "answer" chts.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ app "answer" stts.s ++ "," ++
+ app "answer" etts.s } ;
+
+answerListReq3 chts wdts stts =
+ { s =
+ app "answer" chts.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ app "answer" stts.s} ;
+
+answerListReq2 chts wdts =
+ { s =
+ app "answer" chts.s ++ "," ++
+ app "answer" wdts.s } ;
+
+answerListReq aL = {s = aL.s} ;
+
+answerReq v = {s= v.s} ;
+
+requestChannels = {s = ["list_channels"]} ;
+}
diff --git a/grammars/video/User/specUserSwe.gf b/grammars/video/User/specUserSwe.gf
new file mode 100644
index 000000000..cc3018c0a
--- /dev/null
+++ b/grammars/video/User/specUserSwe.gf
@@ -0,0 +1,35 @@
+--# -path=.:..:../Shared:../Weekday:../Time:../Channel
+
+-- File name User/specific.Swe.gf
+
+concrete specUserSwe of specUser = specificSwe, genUserSwe ** {
+
+lin
+--- Answers in request list
+vcr_add_rec_job_args4 chts wdts stts etts = {s =
+ ["spela in"] ++ stts.s ++ "," ++ etts.s ++ "," ++ wdts.s ++ "," ++ chts.s };
+vcr_add_rec_job_args3 chts wdts stts = {s =
+ ["spela in"] ++ chts.s ++ "," ++ wdts.s ++ "," ++ stts.s };
+vcr_add_rec_job_args2 chts wdts = {s =
+ ["spela in"] ++ chts.s ++ "," ++ wdts.s };
+vcr_add_rec_job_args1 chts = {s = ["spela in"] ++ chts.s } ;
+---- vcr_add_rec_job_no_args = {s = ["spela in"]} ;
+
+lin
+
+--- Possible answers in request list
+startTimeToStoreReq v = {s= v.s} ;
+endTimeToStoreReq v = {s= v.s} ;
+channelToStoreReq v = {s= v.s} ;
+weekdayToStoreReq v = {s= v.s} ;
+
+--- AnswerList
+answerListReq4 chts wdts stts etts = {s = stts.s ++ "," ++ etts.s ++ "," ++ wdts.s ++ "," ++ chts.s };
+answerListReq3 chts wdts stts = {s = chts.s ++ "," ++ wdts.s ++ "," ++ stts.s };
+answerListReq2 chts wdts = {s = chts.s ++ "," ++ wdts.s };
+answerListReq aL = {s = aL.s} ;
+
+answerReq v = {s= v.s} ;
+
+requestChannels = {s= (variants{["lista alla kanaler"];["vilka kanaler finns det"]})};
+}
diff --git a/grammars/video/User/specific.Prolog.gf b/grammars/video/User/specific.Prolog.gf
new file mode 100644
index 000000000..fb3dd07a8
--- /dev/null
+++ b/grammars/video/User/specific.Prolog.gf
@@ -0,0 +1,68 @@
+-- File name User/specific.Prolog.gf
+
+include
+ specific.Abs.gf ;
+ general.Prolog.gf ;
+
+
+
+--- Answers in request list
+lin
+vcr_add_rec_job_args4 chst wdts stts etts =
+ {s =
+ "add_rec_job" ++ "," ++
+ app "answer" chst.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ app "answer" stts.s ++ "," ++
+ "answer" ++ "(" ++ etts.s } ;
+
+vcr_add_rec_job_args3 chst wdts stts =
+ {s =
+ "add_rec_job" ++ "," ++
+ app "answer" chst.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ "answer" ++ "(" ++ stts.s} ;
+
+vcr_add_rec_job_args2 chst wdts = {s =
+ "add_rec_job" ++ "," ++
+ app "answer" chst.s ++ "," ++
+ "answer" ++ "(" ++ wdts.s } ;
+
+vcr_add_rec_job_args1 chst = {s =
+ "add_rec_job" ++ "," ++
+ "answer" ++ "(" ++ chst.s } ;
+
+vcr_add_rec_job_no_args = {s = "add_rec_job"} ;
+
+
+
+--- Possible answers in request list
+startTimeToStoreReq v = {s= v.s} ;
+endTimeToStoreReq v = {s= v.s} ;
+channelToStoreReq v = {s= v.s} ;
+weekdayToStoreReq v = {s= v.s} ;
+
+--- AnswerList
+answerListReq4 chts wdts stts etts =
+ { s =
+ app "answer" chts.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ app "answer" stts.s ++ "," ++
+ app "answer" etts.s } ;
+
+answerListReq3 chts wdts stts =
+ { s =
+ app "answer" chts.s ++ "," ++
+ app "answer" wdts.s ++ "," ++
+ app "answer" stts.s} ;
+
+answerListReq2 chts wdts =
+ { s =
+ app "answer" chts.s ++ "," ++
+ app "answer" wdts.s } ;
+
+answerListReq aL = {s = aL.s} ;
+
+answerReq v = {s= v.s} ;
+
+requestChannels = {s = ["list_channels"]} ;