mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-25 10:48:54 -06:00
Karin C's example
This commit is contained in:
7
grammars/video/User/genUser.gf
Normal file
7
grammars/video/User/genUser.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
-- File name User/general.Abs.gf
|
||||
|
||||
abstract genUser = general ** {
|
||||
|
||||
fun
|
||||
request : Action -> DMove ;
|
||||
}
|
||||
8
grammars/video/User/genUserProlog.gf
Normal file
8
grammars/video/User/genUserProlog.gf
Normal file
@@ -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 };
|
||||
}
|
||||
8
grammars/video/User/genUserSwe.gf
Normal file
8
grammars/video/User/genUserSwe.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
-- File name User/general.Swe.gf
|
||||
|
||||
concrete genUserSwe of genUser = generalSwe ** {
|
||||
|
||||
lin
|
||||
|
||||
request a = {s = a.s };
|
||||
}
|
||||
6
grammars/video/User/general.Prolog.gf
Normal file
6
grammars/video/User/general.Prolog.gf
Normal file
@@ -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 };
|
||||
36
grammars/video/User/specUser.gf
Normal file
36
grammars/video/User/specUser.gf
Normal file
@@ -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 ;
|
||||
}
|
||||
68
grammars/video/User/specUserProlog.gf
Normal file
68
grammars/video/User/specUserProlog.gf
Normal file
@@ -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"]} ;
|
||||
}
|
||||
35
grammars/video/User/specUserSwe.gf
Normal file
35
grammars/video/User/specUserSwe.gf
Normal file
@@ -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"]})};
|
||||
}
|
||||
68
grammars/video/User/specific.Prolog.gf
Normal file
68
grammars/video/User/specific.Prolog.gf
Normal file
@@ -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"]} ;
|
||||
Reference in New Issue
Block a user