forked from GitHub/gf-core
added Ann-Charlotte's grammars
This commit is contained in:
26
grammars/TALK/GF_GoDiS/Core/GenResEng.gf
Normal file
26
grammars/TALK/GF_GoDiS/Core/GenResEng.gf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-- A file with PreReq and PostReq etc...
|
||||||
|
|
||||||
|
resource GenResEng = {
|
||||||
|
|
||||||
|
param Form = Ques | Req | ReqNeg ;
|
||||||
|
|
||||||
|
|
||||||
|
oper choosePre : Form => Str
|
||||||
|
= table {
|
||||||
|
Ques => ["can i"];
|
||||||
|
Req => variants{ ["i want to"] ; ["i would like to"] };
|
||||||
|
ReqNeg => variants{ ["i do not want to"] ; ["i would not like to"] }
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
oper choosePost : Form => Str
|
||||||
|
= table {
|
||||||
|
Ques => "";
|
||||||
|
Req => "please";
|
||||||
|
ReqNeg => "please"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
26
grammars/TALK/GF_GoDiS/Core/GenResSwe.gf
Normal file
26
grammars/TALK/GF_GoDiS/Core/GenResSwe.gf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
-- A file with PreReq and PostReq etc...
|
||||||
|
|
||||||
|
resource GenResSwe = {
|
||||||
|
|
||||||
|
param Form = Ques | Req | ReqNeg;
|
||||||
|
|
||||||
|
|
||||||
|
oper choosePre : Form => Str
|
||||||
|
= table {
|
||||||
|
Ques => ["kan jag"];
|
||||||
|
Req => variants{ ["jag vill"] ; ["jag skulle vilja"] };
|
||||||
|
ReqNeg => variants{ ["jag vill inte"] ; ["jag skulle inte vilja"] }
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
oper choosePost : Form => Str
|
||||||
|
= table {
|
||||||
|
Ques => "";
|
||||||
|
Req => "tack";
|
||||||
|
ReqNeg => "tack"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
133
grammars/TALK/GF_GoDiS/Core/Shared/sharedCore.gf
Normal file
133
grammars/TALK/GF_GoDiS/Core/Shared/sharedCore.gf
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
-- general grammar
|
||||||
|
--# -path=.:../
|
||||||
|
|
||||||
|
abstract sharedCore = {
|
||||||
|
|
||||||
|
cat
|
||||||
|
|
||||||
|
-- Nuance needs a S category, easiest fix.
|
||||||
|
S;
|
||||||
|
|
||||||
|
-- Simple Dialogue Moves
|
||||||
|
DMove;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Basic forms
|
||||||
|
|
||||||
|
Action Task;
|
||||||
|
SingleAction;
|
||||||
|
Proposition Task;
|
||||||
|
|
||||||
|
Task;
|
||||||
|
|
||||||
|
|
||||||
|
-- Dialogue moves (DMove) are: ask, answer, greet, quit, request, confirm, report
|
||||||
|
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
-- Simple greet move...
|
||||||
|
Greet ;
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
-- Simple quit move...
|
||||||
|
Quit;
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
-- Answers are moves that answer questions, posed or not.
|
||||||
|
Answer Task;
|
||||||
|
NegAnswer Task;
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
-- Ask moves are those moves that ask for plans.
|
||||||
|
-- "vad vill du göra?" "vad kan jag göra" "hjälp"(?)
|
||||||
|
-- Hur är det med ja/nej frågor?
|
||||||
|
Ask Task;
|
||||||
|
SingleAsk;
|
||||||
|
|
||||||
|
|
||||||
|
-- Request
|
||||||
|
-- Requests are those moves that have no arguments and
|
||||||
|
-- generate no specific informationfilled answers.
|
||||||
|
Request;
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
ICM;
|
||||||
|
Per_ICM;
|
||||||
|
Per_ICM_Followed;
|
||||||
|
Acc_ICM;
|
||||||
|
Acc_ICM_Followed;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
makeS : DMove -> S;
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
makeGreetMove : Greet -> DMove;
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
makeQuitMove : Quit -> DMove;
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
makeAnswer : (t : Task) -> Proposition t -> Answer t;
|
||||||
|
makeAnswerMove : (t : Task) -> Answer t -> DMove;
|
||||||
|
|
||||||
|
|
||||||
|
makeNegAnswer : (t : Task) -> Proposition t -> NegAnswer t;
|
||||||
|
makeNegAnswerMove : (t : Task) -> NegAnswer t -> DMove;
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
singleAsk : (t : Task) -> Ask t -> SingleAsk;
|
||||||
|
makeYesNoAsk : (t : Task) -> Action t -> SingleAsk;
|
||||||
|
makeAsk : SingleAsk -> DMove;
|
||||||
|
|
||||||
|
|
||||||
|
-- Request
|
||||||
|
makeRequest : SingleAction -> Request;
|
||||||
|
makeRequestMove : Request -> DMove;
|
||||||
|
makeNegRequestMove : Request -> DMove;
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
makeICMPer : Per_ICM -> ICM;
|
||||||
|
makeICMAcc : Acc_ICM -> ICM;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
makeICMMove : ICM -> DMove;
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
shortAnswer : Task;
|
||||||
|
|
||||||
|
top_command : SingleAction;
|
||||||
|
|
||||||
|
help_command : SingleAction;
|
||||||
|
|
||||||
|
yes : Answer shortAnswer;
|
||||||
|
no : Answer shortAnswer;
|
||||||
|
|
||||||
|
greet_command : Greet;
|
||||||
|
bye_command : Quit;
|
||||||
|
|
||||||
|
|
||||||
|
-- ICMs
|
||||||
|
per_pos : Per_ICM_Followed;
|
||||||
|
per_neg : Per_ICM;
|
||||||
|
per_int : Per_ICM;
|
||||||
|
|
||||||
|
acc_pos : Acc_ICM;
|
||||||
|
acc_neg_alone : Acc_ICM;
|
||||||
|
acc_neg : Acc_ICM_Followed;
|
||||||
|
--acc_int : Acc_ICM;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
55
grammars/TALK/GF_GoDiS/Core/Shared/sharedCoreEng.gf
Normal file
55
grammars/TALK/GF_GoDiS/Core/Shared/sharedCoreEng.gf
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
concrete sharedCoreEng of sharedCore = open GenResEng in {
|
||||||
|
|
||||||
|
--flags lexer=codelit ; unlexer=codelit ; startcat=DMoveList ;
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
--# -path=.:../
|
||||||
|
|
||||||
|
lin
|
||||||
|
makeS s = {s = s.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Linearization of Greet, Quit, Answer, Ask and Request are moved to
|
||||||
|
-- System and User respectively because of differing linearizations
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
makeICMPer perI = {s = perI.s};
|
||||||
|
|
||||||
|
makeICMAcc accI = {s = accI.s};
|
||||||
|
|
||||||
|
makeICMMove icm = {s = icm.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
top_command = (variants {["top"] ; ["forget everything"] ; ["start over"]});
|
||||||
|
-- end_command = "quit";
|
||||||
|
|
||||||
|
help_command = variants {"get" ; ""} ++ "help" ;
|
||||||
|
|
||||||
|
yes = variants {"yes" ; "yup" ; "yeppers"};
|
||||||
|
no = variants {"no" ; "nope" };
|
||||||
|
|
||||||
|
greet_command = variants { "hello" ; "hi" ; "yo"};
|
||||||
|
bye_command = variants { ["goodbye"] ; "bye" ; "end" };
|
||||||
|
|
||||||
|
-- ICMs
|
||||||
|
-- Moved to User and System respectively because of differing linearisations
|
||||||
|
-- for user and system.
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
92
grammars/TALK/GF_GoDiS/Core/Shared/sharedCorePro.gf
Normal file
92
grammars/TALK/GF_GoDiS/Core/Shared/sharedCorePro.gf
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
--# -path=.:../
|
||||||
|
|
||||||
|
concrete sharedCorePro of sharedCore = {
|
||||||
|
|
||||||
|
|
||||||
|
flags lexer=code ; unlexer=concat ;
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- Borde inte request, question, etc.. ligga i en
|
||||||
|
-- generell resursfil så att man kan komma åt dem.
|
||||||
|
-- Det är inte speciellt snyggt att skriva ut det
|
||||||
|
-- ibland här och ibland i den specifika filen..
|
||||||
|
-- Det känns som om det borde vara en "resurs"fråga.
|
||||||
|
|
||||||
|
-- Det ÄR en resursgrej... titta i video grammatiken:
|
||||||
|
-- prologResource.gf och generalProlog.gf
|
||||||
|
-- som Aarne fixade till från Karins pyssel.
|
||||||
|
-- Hakparanteserna borde också fixas till på samma sätt...
|
||||||
|
|
||||||
|
makeS s = {s = "[" ++ s.s ++ "]"};
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
makeGreetMove gre = {s = gre.s };
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
makeQuitMove qui = {s = qui.s };
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
makeAnswer _ ans = {s = "answer" ++ "(" ++ ans.s ++ ")"};
|
||||||
|
makeNegAnswer _ ans = {s = "answer" ++ "(" ++ "not" ++ "(" ++ ans.s ++ ")" ++ ")"};
|
||||||
|
makeAnswerMove _ sha = {s = sha.s };
|
||||||
|
makeNegAnswerMove _ sha = {s = sha.s};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
singleAsk _ ask = {s = "X" ++ "^" ++ ask.s ++ "(" ++ "X" ++ ")"};
|
||||||
|
makeYesNoAsk _ action = {s = action.s};
|
||||||
|
makeAsk ask = {s = "ask" ++ "(" ++ ask.s ++ ")"};
|
||||||
|
|
||||||
|
-- Request
|
||||||
|
makeRequest req = {s = "request" ++ "(" ++ req.s ++ ")" };
|
||||||
|
makeRequestMove reqM = {s = reqM.s};
|
||||||
|
makeNegRequestMove reqM = {s = "not" ++ "(" ++ reqM.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
makeICMPer perI = {s = perI.s};
|
||||||
|
|
||||||
|
makeICMAcc accI = {s = accI.s};
|
||||||
|
-- makeICMAccProp accI prop = {s = accI.s ++ ":" ++ prop.s};
|
||||||
|
|
||||||
|
|
||||||
|
makeICMMove icm = {s = "icm" ++ ":" ++ icm.s};
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
top_command = "top";
|
||||||
|
-- end_command = "quit";
|
||||||
|
|
||||||
|
help_command = "help";
|
||||||
|
|
||||||
|
yes = "yes";
|
||||||
|
no = "no";
|
||||||
|
|
||||||
|
greet_command = "greet";
|
||||||
|
bye_command = "quit";
|
||||||
|
|
||||||
|
-- ICMs
|
||||||
|
per_pos = ["per * pos"];
|
||||||
|
per_neg = ["per * neg"];
|
||||||
|
per_int = ["per * int"];
|
||||||
|
|
||||||
|
|
||||||
|
acc_pos = ["acc * pos"];
|
||||||
|
acc_neg = ["acc * neg"];
|
||||||
|
acc_neg_alone = ["acc * neg"];
|
||||||
|
--acc_int = "acc*int";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
54
grammars/TALK/GF_GoDiS/Core/Shared/sharedCoreSwe.gf
Normal file
54
grammars/TALK/GF_GoDiS/Core/Shared/sharedCoreSwe.gf
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
concrete sharedCoreSwe of sharedCore = open GenResSwe in {
|
||||||
|
|
||||||
|
--flags lexer=codelit ; unlexer=codelit ;
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
--# -path=.:../
|
||||||
|
|
||||||
|
lin
|
||||||
|
makeS s = {s = s.s};
|
||||||
|
|
||||||
|
-- Linearizations of Greet, Quit, Answer, Ask and Request
|
||||||
|
-- are moved to User and System respectively because of punctuation.
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
makeICMPer perI = {s = perI.s};
|
||||||
|
|
||||||
|
makeICMAcc accI = {s = accI.s};
|
||||||
|
|
||||||
|
|
||||||
|
makeICMMove icm = {s = icm.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
top_command = (variants {["glömma allt"] ; ["börja om"]});
|
||||||
|
-- end_command = "avsluta";
|
||||||
|
|
||||||
|
help_command = variants {"få" ; "ha"} ++ "hjälp" ;
|
||||||
|
|
||||||
|
yes = variants {"ja" ; "japp" ; "jajamen"};
|
||||||
|
no = variants {"nej" ; "nepp" };
|
||||||
|
|
||||||
|
greet_command = variants { "hej" ; "tjena" ; "hallå"};
|
||||||
|
bye_command = variants { ["hejdå"] ; "sluta" ; "avbryt" };
|
||||||
|
|
||||||
|
|
||||||
|
-- ICMs
|
||||||
|
-- Linearization of ICMs are moved to User and System
|
||||||
|
-- respectively because of differing linearizations.
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
158
grammars/TALK/GF_GoDiS/Core/System/systemCore.gf
Normal file
158
grammars/TALK/GF_GoDiS/Core/System/systemCore.gf
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
-- general grammar
|
||||||
|
--# -path=.:../Shared
|
||||||
|
|
||||||
|
abstract systemCore = sharedCore ** {
|
||||||
|
|
||||||
|
cat
|
||||||
|
|
||||||
|
DMoves;
|
||||||
|
|
||||||
|
|
||||||
|
-- internal forms
|
||||||
|
|
||||||
|
--Proposition;
|
||||||
|
Other_ICM;
|
||||||
|
Other_ICM_Followed;
|
||||||
|
Sem_ICM;
|
||||||
|
Sem_ICM_Followed;
|
||||||
|
Und_ICM;
|
||||||
|
Und_ICM_Followed;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirm
|
||||||
|
-- This is where the system confirms that the action has been taken.
|
||||||
|
Confirm;
|
||||||
|
|
||||||
|
|
||||||
|
-- Report
|
||||||
|
-- This is where the system reports on the actions taken
|
||||||
|
-- i.e. "The song Leviathan was added to the playlist"
|
||||||
|
|
||||||
|
-- The report consists of a Request.
|
||||||
|
Report;
|
||||||
|
Status;
|
||||||
|
|
||||||
|
-- Asks specific for the System
|
||||||
|
SystemAsk;
|
||||||
|
|
||||||
|
|
||||||
|
-- Issues
|
||||||
|
|
||||||
|
Issue;
|
||||||
|
PropIssue;
|
||||||
|
AskIssue;
|
||||||
|
ListIssue;
|
||||||
|
IssueList;
|
||||||
|
ListItem;
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- BASICS
|
||||||
|
|
||||||
|
makeSofDMoves : DMoves -> S;
|
||||||
|
makeDMPair : DMove -> DMove -> DMoves;
|
||||||
|
makeDMList : DMove -> DMoves -> DMoves;
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
-- Plus en som tar en strang... oj oj for genereringen.
|
||||||
|
-- makeICMPerString : Per_ICM_Followed -> String -> ICM;
|
||||||
|
makeICMPerString : Per_ICM_Followed -> ICM;
|
||||||
|
|
||||||
|
makeICMSem : Sem_ICM -> ICM;
|
||||||
|
makeICMSemMoveReq : Sem_ICM_Followed -> Request -> ICM;
|
||||||
|
makeICMSemMoveAnswer : (t : Task) -> Sem_ICM_Followed -> Answer t -> ICM;
|
||||||
|
makeICMSemMoveAsk : (t : Task) -> Sem_ICM_Followed -> Ask t -> ICM;
|
||||||
|
|
||||||
|
makeICMUnd : Und_ICM -> ICM;
|
||||||
|
makeICMUndProp : (t : Task) -> Und_ICM_Followed -> Proposition t -> ICM;
|
||||||
|
|
||||||
|
makeICMOther : Other_ICM -> ICM;
|
||||||
|
makeICMOtherIssue : Other_ICM_Followed -> ListItem -> ICM;
|
||||||
|
makeICMOtherReq : (t : Task) -> Other_ICM_Followed -> Action t -> ICM;
|
||||||
|
|
||||||
|
makeICMAccIssue : Acc_ICM_Followed -> Issue -> ICM;
|
||||||
|
|
||||||
|
-- !!! Väldigt rekursivt!!!!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirm
|
||||||
|
--makeConfirm : SingleAction -> Confirm;
|
||||||
|
makeConfirmMove : Confirm -> DMove;
|
||||||
|
|
||||||
|
|
||||||
|
-- Report
|
||||||
|
|
||||||
|
-- Behöver en till kategori, en Status...
|
||||||
|
-- Hmm... undrar hur jag ska gora det här snyggt.
|
||||||
|
|
||||||
|
|
||||||
|
makeReport : SingleAction -> Status -> Report;
|
||||||
|
makeReportMove : Report -> DMove;
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
makeSystemAsk : SystemAsk -> DMove;
|
||||||
|
makeAskSet : IssueList -> SystemAsk;
|
||||||
|
makeInstantiatedAsk : (t : Task) -> Action t -> SystemAsk;
|
||||||
|
makeInstantiatedAskSingle : SingleAction -> SystemAsk;
|
||||||
|
|
||||||
|
|
||||||
|
-- Issues
|
||||||
|
|
||||||
|
makePropIssue : (t : Task) -> Proposition t -> PropIssue;
|
||||||
|
|
||||||
|
makeIssueProp : PropIssue -> Issue;
|
||||||
|
makeIssueAsk : AskIssue -> Issue;
|
||||||
|
makeIssueList : ListIssue -> Issue;
|
||||||
|
|
||||||
|
makePropIssue : (t : Task) -> Proposition t -> PropIssue;
|
||||||
|
makeAskIssue : (t : Task) -> Ask t -> AskIssue;
|
||||||
|
|
||||||
|
--makeListItemProp : PropIssue -> ListItem;
|
||||||
|
makeListItemAsk : AskIssue -> ListItem;
|
||||||
|
makeListItemAction : (t : Task) -> Action t -> ListItem;
|
||||||
|
makeListItemSingleAction : SingleAction -> ListItem;
|
||||||
|
|
||||||
|
makeListIssue : ListItem -> ListItem -> ListIssue;
|
||||||
|
makeListIssue2 : ListItem -> ListIssue ->ListIssue;
|
||||||
|
|
||||||
|
makeActualListIssue : ListIssue -> IssueList;
|
||||||
|
|
||||||
|
-- Lexicon
|
||||||
|
makeBasicAsk : SystemAsk;
|
||||||
|
|
||||||
|
sem_pos : Sem_ICM;
|
||||||
|
sem_pos_followed : Sem_ICM_Followed;
|
||||||
|
sem_neg : Sem_ICM;
|
||||||
|
--sem_int : Sem_ICM;
|
||||||
|
|
||||||
|
und_pos : Und_ICM;
|
||||||
|
und_pos_followed : Und_ICM_Followed;
|
||||||
|
und_neg : Und_ICM;
|
||||||
|
und_int : Und_ICM_Followed;
|
||||||
|
|
||||||
|
reraise : Other_ICM;
|
||||||
|
reraise_followed : Other_ICM_Followed;
|
||||||
|
loadplan : Other_ICM;
|
||||||
|
accomodate : Other_ICM_Followed;
|
||||||
|
reaccomodate : Other_ICM_Followed;
|
||||||
|
|
||||||
|
a_String : String;
|
||||||
|
|
||||||
|
status_done : Status;
|
||||||
|
status_initiated : Status;
|
||||||
|
status_pending : Status;
|
||||||
|
status_failed : Status;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
146
grammars/TALK/GF_GoDiS/Core/System/systemCoreEng.gf
Normal file
146
grammars/TALK/GF_GoDiS/Core/System/systemCoreEng.gf
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
concrete systemCoreEng of systemCore = sharedCoreEng ** {
|
||||||
|
|
||||||
|
--flags lexer=text ; unlexer=text ; startcat=DMoveList ;
|
||||||
|
--# -path=.:../:../Shared
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
makeGreetMove gre = {s = gre.s ++ "!"};
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
makeQuitMove qui = {s = qui.s ++ "!"};
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
makeAnswer _ ans = {s = ans.s};
|
||||||
|
makeNegAnswer _ ans = {s = "not" ++ ans.s};
|
||||||
|
makeAnswerMove _ sha = {s = sha.s ++ "."};
|
||||||
|
makeNegAnswerMove _ sha = {s = sha.s ++ "."};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
singleAsk _ ask = {s = ask.s};
|
||||||
|
makeYesNoAsk _ action = {s = action.s};
|
||||||
|
makeAsk ask = {s = ask.s ++ "."};
|
||||||
|
|
||||||
|
|
||||||
|
-- Request
|
||||||
|
|
||||||
|
-- makeRequestMove moved to System and User respectively
|
||||||
|
-- because of differing linearizations
|
||||||
|
|
||||||
|
makeRequest req = {s = req.s ++ "."};
|
||||||
|
makeRequestMove req = {s = req.s };
|
||||||
|
makeNegRequestMove req = {s = req.s};
|
||||||
|
|
||||||
|
-- BASICS
|
||||||
|
|
||||||
|
makeSofDMoves dms = {s = dms.s};
|
||||||
|
makeDMPair dm1 dm2 = {s = dm1.s ++ dm2.s};
|
||||||
|
makeDMList dm dms = {s = dm.s ++ dms.s};
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirm
|
||||||
|
|
||||||
|
--makeConfirm req = {s = ["managed to"] ++ req.s ++ "."};
|
||||||
|
makeConfirmMove conM = {s = conM.s ++ "."};
|
||||||
|
|
||||||
|
-- Report
|
||||||
|
makeReport req status = {s = status.s ++ req.s ++ "." };
|
||||||
|
makeReportMove repM = {s = repM.s};
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
-- makeICMPerString perI string = {s = perI.s ++ string.s ++ "."};
|
||||||
|
makeICMPerString perI = {s = perI.s};
|
||||||
|
|
||||||
|
makeICMSem semI = {s = semI.s};
|
||||||
|
makeICMSemMoveReq semI req = {s = semI.s ++ req.s ++ "."};
|
||||||
|
makeICMSemMoveAnswer _ semI ans = {s = semI.s ++ ans.s ++ "."};
|
||||||
|
makeICMSemMoveAsk _ semI ask = {s = semI.s ++ ask.s ++ "."};
|
||||||
|
|
||||||
|
|
||||||
|
makeICMUnd undI = {s = undI.s};
|
||||||
|
makeICMUndProp _ undI prop = {s = prop.s ++ undI.s };
|
||||||
|
|
||||||
|
makeICMAccIssue accI issue = {s = accI.s ++ [", i cannot answer questions about"] ++ issue.s ++ "."};
|
||||||
|
|
||||||
|
makeICMOther otherI = {s = otherI.s };
|
||||||
|
makeICMOtherIssue otherI issue = {s = otherI.s ++ issue.s ++ "."};
|
||||||
|
makeICMOtherReq _ other req = {s = other.s ++ req.s ++ "."};
|
||||||
|
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
|
||||||
|
makeSystemAsk sysA = {s = sysA.s ++ "?"};
|
||||||
|
makeAskSet set = {s = ["do you want to"] ++ set.s};
|
||||||
|
makeInstantiatedAsk _ insA = {s = ["do you want to"] ++ insA.s };
|
||||||
|
makeInstantiatedAskSingle insA = {s = ["do you want to"] ++ insA.s};
|
||||||
|
|
||||||
|
-- Isues
|
||||||
|
|
||||||
|
makePropIssue _ prop = {s = prop.s};
|
||||||
|
|
||||||
|
makeIssueProp pi = {s = pi.s};
|
||||||
|
makeIssueAsk ai = {s = ai.s};
|
||||||
|
makeIssueList li = {s = li.s};
|
||||||
|
|
||||||
|
--makePropIssue _ prop = {s = prop.s};
|
||||||
|
makeAskIssue _ ask = {s = ask.s};
|
||||||
|
|
||||||
|
-- makeListItemProp propI = {s = propI.s};
|
||||||
|
makeListItemAsk askI = {s = "ask" ++ "about" ++ askI.s};
|
||||||
|
makeListItemAction _ action = {s = action.s};
|
||||||
|
makeListItemSingleAction action = {s = action.s};
|
||||||
|
|
||||||
|
makeListIssue prop1 prop2 = {s = prop1.s ++ "or" ++ prop2.s};
|
||||||
|
makeListIssue2 prop list = {s = prop.s ++ "," ++ list.s};
|
||||||
|
|
||||||
|
makeActualListIssue list = {s = list.s};
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
makeBasicAsk = ["what can i do for you"];
|
||||||
|
|
||||||
|
sem_pos = "okay";
|
||||||
|
sem_pos_followed = [""];
|
||||||
|
sem_neg = ["i am sorry i do not understand ."];
|
||||||
|
-- sem_int = ["what do you mean with"];
|
||||||
|
|
||||||
|
und_pos = ["okay ."];
|
||||||
|
und_pos_followed = ["."];
|
||||||
|
und_neg = ["i do not understand what you mean ."];
|
||||||
|
und_int = [", is this correct ?"]; -- följer yttrandet!!!
|
||||||
|
|
||||||
|
per_pos = ["i thought you said"]; -- följs av en sträng
|
||||||
|
|
||||||
|
reraise = ["so ,"];
|
||||||
|
reraise_followed = ["so ,"];
|
||||||
|
loadplan = ["lets see ."];
|
||||||
|
accomodate = ["i assume you mean"];
|
||||||
|
reaccomodate = ["returning to "];
|
||||||
|
|
||||||
|
|
||||||
|
-- ICMs
|
||||||
|
-- Moved from General because of differing linearisations user and system.
|
||||||
|
|
||||||
|
per_neg = variants {["pardon i did not hear what you said ."] ; ["pardon ?"]; ["sorry ?"]};
|
||||||
|
per_int = variants { ["pardon ?"] ; ["what did you say ?"] };
|
||||||
|
|
||||||
|
acc_pos = "okay";
|
||||||
|
acc_neg = "sorry";
|
||||||
|
acc_neg_alone = "sorry";
|
||||||
|
|
||||||
|
|
||||||
|
status_done = ["managed to"];
|
||||||
|
status_initiated = ["started to"];
|
||||||
|
status_pending = ["waiting to"];
|
||||||
|
status_failed = ["failed to"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
128
grammars/TALK/GF_GoDiS/Core/System/systemCorePro.gf
Normal file
128
grammars/TALK/GF_GoDiS/Core/System/systemCorePro.gf
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
|
||||||
|
|
||||||
|
concrete systemCorePro of systemCore = sharedCorePro ** {
|
||||||
|
|
||||||
|
|
||||||
|
flags lexer=codelit ; unlexer=concat ;
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lincat
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirm
|
||||||
|
-- This is where the system confirms that the action has been taken.
|
||||||
|
Confirm = {s : Str};
|
||||||
|
|
||||||
|
|
||||||
|
-- Report
|
||||||
|
-- This is where the system reports on the actions taken
|
||||||
|
-- i.e. "The song Leviathan was added to the playlist"
|
||||||
|
|
||||||
|
-- The report consists of a Request.
|
||||||
|
Report = {s : Str};
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- BASICS
|
||||||
|
|
||||||
|
makeSofDMoves dms = {s = "[" ++ dms.s ++ "]"};
|
||||||
|
makeDMPair dm1 dm2 = {s = dm1.s ++ "," ++ dm2.s};
|
||||||
|
makeDMList dm dms = {s = dm.s ++ "," ++ dms.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirm
|
||||||
|
--makeConfirm req = { s = "confirm" ++ "(" ++ req.s ++ ")"};
|
||||||
|
makeConfirmMove conM = {s = "confirm" ++ "(" ++ conM.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
-- Report
|
||||||
|
makeReport req status = { s = "report" ++ "(" ++ req.s ++ "," ++ status.s ++ ")"};
|
||||||
|
makeReportMove repM = {s = repM.s};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
|
||||||
|
makeSystemAsk sysA = {s = "ask" ++ "(" ++ sysA.s ++ ")"};
|
||||||
|
makeAskSet set = {s = set.s};
|
||||||
|
makeInstantiatedAsk _ insA = {s = "action" ++ "(" ++ insA.s ++ ")"};
|
||||||
|
makeInstantiatedAskSingle insA = {s = "action" ++ "(" ++ insA.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
-- Plus en som tar en strang... oj oj for genereringen.
|
||||||
|
-- makeICMPerString perI string = {s = perI.s ++ string.s};
|
||||||
|
makeICMPerString perI = {s = perI.s };
|
||||||
|
|
||||||
|
makeICMSem semI = {s = semI.s};
|
||||||
|
makeICMSemMoveReq semI req = {s = semI.s ++ ":" ++ req.s};
|
||||||
|
makeICMSemMoveAnswer _ semI ans = {s = semI.s ++ ":" ++ ans.s};
|
||||||
|
makeICMSemMoveAsk _ semI ask = {s = semI.s ++ ":" ++ ask.s};
|
||||||
|
|
||||||
|
makeICMUnd undI = {s = undI.s};
|
||||||
|
makeICMUndProp _ undI prop = {s = undI.s ++ ":" ++ "usr" ++ "*" ++ prop.s};
|
||||||
|
|
||||||
|
|
||||||
|
makeICMOther otherI = {s = otherI.s};
|
||||||
|
makeICMOtherIssue otherI issue = {s = otherI.s ++ ":" ++ issue.s};
|
||||||
|
makeICMOtherReq _ other req = {s = other.s ++ ":" ++ req.s};
|
||||||
|
|
||||||
|
makeICMAccIssue otherI issue = {s = otherI.s ++ ":" ++ issue.s};
|
||||||
|
|
||||||
|
-- !!! Väldigt rekursivt!!!!
|
||||||
|
|
||||||
|
-- Isues
|
||||||
|
|
||||||
|
makePropIssue _ prop = {s = prop.s};
|
||||||
|
|
||||||
|
makeIssueProp pi = {s = pi.s};
|
||||||
|
makeIssueAsk ai = {s = ai.s};
|
||||||
|
makeIssueList li = {s = li.s};
|
||||||
|
|
||||||
|
makePropIssue _ prop = {s = prop.s};
|
||||||
|
makeAskIssue _ ask = {s = "X" ++ "^" ++ ask.s ++ "(" ++ "X" ++ ")"};
|
||||||
|
|
||||||
|
--makeListItemProp propI = {s = propI.s};
|
||||||
|
makeListItemAsk askI = {s = "issue" ++ "(" ++ askI.s ++ ")"};
|
||||||
|
makeListItemAction _ action = {s = variants {("action" ++ "(" ++ action.s ++ ")") ;
|
||||||
|
action.s }};
|
||||||
|
makeListItemSingleAction action = {s = variants { ("action" ++ "(" ++ action.s ++ ")") ;
|
||||||
|
action.s }};
|
||||||
|
|
||||||
|
makeListIssue prop1 prop2 = {s = prop1.s ++ "," ++ prop2.s};
|
||||||
|
makeListIssue2 prop list = {s = prop.s ++ "," ++ list.s};
|
||||||
|
|
||||||
|
makeActualListIssue list = {s = "set" ++ "(" ++ "[" ++ list.s ++ "]" ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
makeBasicAsk = ["x ^ action ( x )"]; -- OBS OBS!!!
|
||||||
|
|
||||||
|
sem_pos = ["sem * pos"];
|
||||||
|
sem_pos_followed = ["sem * pos"];
|
||||||
|
sem_neg = ["sem * neg"];
|
||||||
|
--sem_int = ["sem * int"];
|
||||||
|
|
||||||
|
und_pos = ["und * pos"];
|
||||||
|
und_pos_followed = ["und * pos"];
|
||||||
|
und_neg = ["und * neg"];
|
||||||
|
und_int = ["und * int"];
|
||||||
|
|
||||||
|
reraise = "reraise";
|
||||||
|
reraise_followed = "reraise";
|
||||||
|
loadplan = "loadplan";
|
||||||
|
accomodate = "accomodate";
|
||||||
|
reaccomodate = "reaccomodate";
|
||||||
|
|
||||||
|
status_done = "done";
|
||||||
|
status_initiated = "initiated";
|
||||||
|
status_pending = "pending";
|
||||||
|
status_failed = "failed";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
141
grammars/TALK/GF_GoDiS/Core/System/systemCoreSwe.gf
Normal file
141
grammars/TALK/GF_GoDiS/Core/System/systemCoreSwe.gf
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
concrete systemCoreSwe of systemCore = sharedCoreSwe ** {
|
||||||
|
|
||||||
|
--flags lexer=codelit ; unlexer=codelit ; startcat=DMoveList ;
|
||||||
|
--# -path=.:../:../Shared
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
makeGreetMove gre = {s = gre.s ++ "!"};
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
makeQuitMove qui = {s = qui.s ++ "!"};
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
makeAnswer _ ans = {s = ans.s};
|
||||||
|
makeNegAnswer _ ans = {s = "inte" ++ ans.s};
|
||||||
|
makeAnswerMove _ sha = {s = sha.s ++ "."};
|
||||||
|
makeNegAnswerMove _ sha = {s = sha.s ++ "."};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
singleAsk _ ask = {s = ask.s};
|
||||||
|
makeYesNoAsk _ action = {s = action.s};
|
||||||
|
makeAsk ask = {s = ask.s ++ "."};
|
||||||
|
|
||||||
|
|
||||||
|
-- Request
|
||||||
|
|
||||||
|
-- makeRequestMove moved to System and User respectively
|
||||||
|
-- because of differing linearizations
|
||||||
|
|
||||||
|
makeRequest req = {s = req.s ++ "."};
|
||||||
|
|
||||||
|
makeRequestMove req = {s = req.s };
|
||||||
|
makeNegRequestMove req = {s = req.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- BASICS
|
||||||
|
|
||||||
|
makeSofDMoves dms = {s = dms.s};
|
||||||
|
makeDMPair dm1 dm2 = {s = dm1.s ++ dm2.s};
|
||||||
|
makeDMList dm dms = {s = dm.s ++ dms.s};
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirm
|
||||||
|
|
||||||
|
--makeConfirm req = {s = ["lyckades med att"] ++ req.s ++ "."};
|
||||||
|
makeConfirmMove conM = {s = conM.s};
|
||||||
|
|
||||||
|
-- Report
|
||||||
|
makeReport req status= {s = status.s ++ req.s ++ "."};
|
||||||
|
makeReportMove repM = {s = repM.s};
|
||||||
|
|
||||||
|
|
||||||
|
-- ICM
|
||||||
|
|
||||||
|
--makeICMPerString perI string = {s = perI.s ++ string.s ++ "."};
|
||||||
|
makeICMPerString perI = {s = perI.s};
|
||||||
|
|
||||||
|
makeICMSem semI = {s = semI.s};
|
||||||
|
makeICMSemMoveReq semI req = {s = semI.s ++ req.s ++ "."};
|
||||||
|
makeICMSemMoveAnswer _ semI ans = {s = semI.s ++ "med" ++ ans.s ++ "."};
|
||||||
|
makeICMSemMoveAsk _ semI ask = {s = semI.s ++ ask.s ++ "."};
|
||||||
|
|
||||||
|
|
||||||
|
makeICMUnd undI = {s = undI.s};
|
||||||
|
makeICMUndProp _ undI prop = {s = prop.s ++ "," ++ undI.s};
|
||||||
|
|
||||||
|
makeICMAccIssue accI issue = {s = accI.s ++ issue.s};
|
||||||
|
|
||||||
|
makeICMOther otherI = {s = otherI.s ++ "."};
|
||||||
|
makeICMOtherIssue otherI issue = {s = otherI.s ++ issue.s ++ "."};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
|
||||||
|
makeSystemAsk sysA = {s = sysA.s ++ "?"};
|
||||||
|
makeAskSet set = {s = ["vill du"] ++ set.s};
|
||||||
|
makeInstantiatedAsk _ insA = {s = ["vill du"] ++ insA.s};
|
||||||
|
makeInstantiatedAskSingle insA = {s = ["vill du"] ++ insA.s};
|
||||||
|
|
||||||
|
-- Isues
|
||||||
|
|
||||||
|
makePropIssue _ prop = {s = prop.s};
|
||||||
|
|
||||||
|
makeIssueProp pi = {s = pi.s};
|
||||||
|
makeIssueAsk ai = {s = ai.s};
|
||||||
|
makeIssueList li = {s = li.s};
|
||||||
|
|
||||||
|
--makePropIssue prop = {s = prop.s};
|
||||||
|
makeAskIssue _ ask = {s = ask.s};
|
||||||
|
|
||||||
|
-- makeListItemProp propI = {s = propI.s};
|
||||||
|
makeListItemAsk askI = {s = "fråga" ++ "om" ++ askI.s};
|
||||||
|
makeListItemAction _ action = {s = action.s};
|
||||||
|
makeListItemSingleAction action = {s = action.s};
|
||||||
|
|
||||||
|
makeListIssue prop1 prop2 = {s = prop1.s ++ "eller" ++ prop2.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
makeBasicAsk = ["vad kan jag göra för dig"];
|
||||||
|
|
||||||
|
sem_pos = "okej";
|
||||||
|
sem_neg = ["förlåt jag förstår inte vad du menar."];
|
||||||
|
-- sem_int = ["vad menar du med"];
|
||||||
|
|
||||||
|
und_pos = "okej.";
|
||||||
|
und_neg = ["jag förstår inte vad du menar."];
|
||||||
|
und_int = ["är det korrekt?"]; -- följer yttrandet!!!
|
||||||
|
|
||||||
|
per_pos = ["jag tyckte du sa"]; -- följs av en sträng
|
||||||
|
|
||||||
|
reraise = ["så ,"];
|
||||||
|
reraise_followed = ["så ,"];
|
||||||
|
loadplan = ["låt oss se ."];
|
||||||
|
accomodate = ["jag antar att du menar"];
|
||||||
|
reaccomodate = ["gå tillbaks till"];
|
||||||
|
|
||||||
|
|
||||||
|
-- ICMs
|
||||||
|
-- Moved from General because of differing linearisations user and system.
|
||||||
|
|
||||||
|
per_neg = variants {"ursäkta"; "förlåt" ; ["ursäkta jag hörde inte vad du sa"]};
|
||||||
|
per_int = variants { "ursäkta" ; ["vad sa du"] };
|
||||||
|
|
||||||
|
acc_pos = "okej";
|
||||||
|
acc_neg = ["ledsen jag kan inte svara på frågor om"];
|
||||||
|
acc_neg_alone = "ledsen";
|
||||||
|
|
||||||
|
status_done = ["lyckades med att"];
|
||||||
|
status_initiated = ["började med att"];
|
||||||
|
status_pending = ["avvaktar med att"];
|
||||||
|
status_failed = ["misslyckades med att"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
27
grammars/TALK/GF_GoDiS/Core/User/userCore.gf
Normal file
27
grammars/TALK/GF_GoDiS/Core/User/userCore.gf
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-- general grammar
|
||||||
|
|
||||||
|
abstract userCore = sharedCore ** {
|
||||||
|
|
||||||
|
cat
|
||||||
|
-- A Dialogue Move that consists of a Request and arguments.
|
||||||
|
CompoundedRequest;
|
||||||
|
CompoundedAsk;
|
||||||
|
AnswerList Task;
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
makeAnswerListS : (t : Task) -> AnswerList t -> DMove;
|
||||||
|
|
||||||
|
makeCompoundedRequest : CompoundedRequest -> DMove;
|
||||||
|
makeNegCompoundedRequest : CompoundedRequest -> DMove;
|
||||||
|
makeCompoundedAsk : CompoundedAsk -> DMove;
|
||||||
|
|
||||||
|
|
||||||
|
requestCompounded : (t : Task) -> Action t -> Answer t -> CompoundedRequest ;
|
||||||
|
requestCompoundedMulti : (t : Task) -> Action t -> AnswerList t -> CompoundedRequest;
|
||||||
|
|
||||||
|
makeAskMove : (t : Task) -> Ask t -> Answer t -> CompoundedAsk;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
93
grammars/TALK/GF_GoDiS/Core/User/userCoreEng.gf
Normal file
93
grammars/TALK/GF_GoDiS/Core/User/userCoreEng.gf
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
concrete userCoreEng of userCore = sharedCoreEng ** open GenResEng in {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
makeGreetMove gre = {s = gre.s};
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
makeQuitMove qui = {s = qui.s};
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
makeAnswer _ ans = {s = ans.s};
|
||||||
|
makeNegAnswer _ ans = {s = "not" ++ ans.s};
|
||||||
|
makeAnswerMove _ sha = {s = sha.s};
|
||||||
|
makeNegAnswerMove _ sha = {s = sha.s};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
singleAsk _ ask = {s = ask.s};
|
||||||
|
makeYesNoAsk _ action = {s = action.s};
|
||||||
|
makeAsk ask = {s = ask.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Requests
|
||||||
|
|
||||||
|
|
||||||
|
makeAnswerListS _ alist = {s = alist.s};
|
||||||
|
requestCompounded _ req obj = {s = req.s ++ obj.s};
|
||||||
|
requestCompoundedMulti _ req obj = {s = req.s ++ obj.s };
|
||||||
|
|
||||||
|
makeRequest req = {s = req.s};
|
||||||
|
|
||||||
|
makeCompoundedRequest crq = {s = variants {
|
||||||
|
( (choosePre ! Req) ++ crq.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! Req) ++ crq.s );
|
||||||
|
( crq.s ++ (choosePost ! Req) );
|
||||||
|
( crq.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
makeNegCompoundedRequest crq = {s = variants {
|
||||||
|
( (choosePre ! ReqNeg) ++ crq.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! ReqNeg) ++ crq.s );
|
||||||
|
( "not" ++ crq.s ++ (choosePost ! Req) );
|
||||||
|
( "not" ++ crq.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
makeRequestMove req = {s = variants {
|
||||||
|
( req.s );
|
||||||
|
( (choosePre ! Req) ++ req.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! Req) ++ req.s );
|
||||||
|
( req.s ++ (choosePost ! Req) )
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
makeNegRequestMove req = {s = variants {
|
||||||
|
( "not" ++ req.s );
|
||||||
|
( (choosePre ! ReqNeg) ++ req.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! ReqNeg) ++ req.s );
|
||||||
|
( "not" ++ req.s ++ (choosePost ! Req) )
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
makeCompoundedAsk ask = {s = ask.s};
|
||||||
|
|
||||||
|
makeAskMove _ ques answer = {s = ques.s ++ answer.s};
|
||||||
|
|
||||||
|
pattern
|
||||||
|
-- ICMs
|
||||||
|
-- Moved from General because of differing linearisations for user and system.
|
||||||
|
|
||||||
|
per_neg = variants {"what" ; "pardon"; ["pardon i did not hear what you said"]};
|
||||||
|
per_int = variants { "pardon" ; ["what did you say"] };
|
||||||
|
|
||||||
|
acc_pos = variants { "okay" ; "ok" ; "sure" ; "yup" ; "right" };
|
||||||
|
acc_neg = ["i do not know"];
|
||||||
|
acc_neg_alone = ["i do not know"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
22
grammars/TALK/GF_GoDiS/Core/User/userCorePro.gf
Normal file
22
grammars/TALK/GF_GoDiS/Core/User/userCorePro.gf
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
concrete userCorePro of userCore = sharedCorePro ** {
|
||||||
|
|
||||||
|
flags lexer=code ; unlexer=concat ;
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
makeAnswerListS _ alist = {s = alist.s};
|
||||||
|
|
||||||
|
makeCompoundedRequest crq = {s = crq.s};
|
||||||
|
makeNegCompoundedRequest crq = { s = "~" ++ crq.s};
|
||||||
|
makeCompoundedAsk ask = {s = ask.s};
|
||||||
|
|
||||||
|
|
||||||
|
requestCompounded _ req obj = {s = "request(" ++ req.s ++ ")," ++ obj.s };
|
||||||
|
requestCompoundedMulti _ req obj = {s = "request(" ++ req.s ++ ")," ++ obj.s };
|
||||||
|
|
||||||
|
makeAskMove _ ques answer = {s = "ask" ++ "(" ++ "X" ++ "^" ++ ques.s ++
|
||||||
|
"(" ++ "X" ++ ")" ++ ")," ++ answer.s};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
98
grammars/TALK/GF_GoDiS/Core/User/userCoreSwe.gf
Normal file
98
grammars/TALK/GF_GoDiS/Core/User/userCoreSwe.gf
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
concrete userCoreSwe of userCore = sharedCoreSwe ** open GenResSwe in {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- Greet
|
||||||
|
makeGreetMove gre = {s = gre.s};
|
||||||
|
|
||||||
|
-- Quit
|
||||||
|
makeQuitMove qui = {s = qui.s};
|
||||||
|
|
||||||
|
-- Answer
|
||||||
|
makeAnswer _ ans = {s = ans.s};
|
||||||
|
makeNegAnswer _ ans = {s = "inte" ++ ans.s};
|
||||||
|
makeAnswerMove _ sha = {s = sha.s};
|
||||||
|
makeNegAnswerMove _ sha = {s = sha.s};
|
||||||
|
|
||||||
|
-- Ask
|
||||||
|
singleAsk _ ask = {s = ask.s};
|
||||||
|
makeYesNoAsk _ action = {s = action.s};
|
||||||
|
makeAsk ask = {s = ask.s };
|
||||||
|
|
||||||
|
|
||||||
|
-- Request
|
||||||
|
|
||||||
|
-- makeRequestMove moved to System and User respectively
|
||||||
|
-- because of differing linearizations
|
||||||
|
|
||||||
|
makeRequest req = {s = req.s};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Requests
|
||||||
|
|
||||||
|
|
||||||
|
makeAnswerListS _ alist = {s = alist.s};
|
||||||
|
requestCompounded _ req obj = {s = req.s ++ obj.s};
|
||||||
|
requestCompoundedMulti _ req obj = {s = req.s ++ obj.s };
|
||||||
|
|
||||||
|
|
||||||
|
makeRequestMove req = {s = variants {
|
||||||
|
( req.s );
|
||||||
|
( (choosePre ! Req) ++ req.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! Req) ++ req.s );
|
||||||
|
( req.s ++ (choosePost ! Req) )
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
makeNegCompoundedRequest crq = {s = variants {
|
||||||
|
( (choosePre ! ReqNeg) ++ crq.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! ReqNeg) ++ crq.s );
|
||||||
|
( "inte" ++ crq.s ++ (choosePost ! Req) );
|
||||||
|
( "inte" ++ crq.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
makeCompoundedRequest crq = {s = variants {
|
||||||
|
( (choosePre ! Req) ++ crq.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! Req) ++ crq.s );
|
||||||
|
( crq.s ++ (choosePost ! Req) );
|
||||||
|
( crq.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
makeNegRequestMove req = {s = variants {
|
||||||
|
( "inte" ++ req.s );
|
||||||
|
( (choosePre ! ReqNeg) ++ req.s ++ (choosePost ! Req) );
|
||||||
|
( (choosePre ! ReqNeg) ++ req.s );
|
||||||
|
( "inte" ++ req.s ++ (choosePost ! Req) )
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
makeCompoundedAsk ask = {s = ask.s};
|
||||||
|
|
||||||
|
makeAskMove _ ques answer = {s = ques.s ++ answer.s};
|
||||||
|
|
||||||
|
pattern
|
||||||
|
-- ICMs
|
||||||
|
-- Moved from General because of differing linearisations for user and system.
|
||||||
|
|
||||||
|
per_neg = variants {"va" ; "ursäkta"; "förlåt" ; ["ursäkta jag hörde inte vad du sa"]};
|
||||||
|
per_int = variants { "ursäkta" ; ["vad sa du"] };
|
||||||
|
|
||||||
|
acc_pos = variants { "okej" ; "ok" ; "visst" ; "japp" ; "jaha" };
|
||||||
|
acc_neg = ["vet inte"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DB.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DB.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Media:../../Resource/Time:
|
||||||
|
|
||||||
|
abstract DB = TVStations, Time, Weekday ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DBEng.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DBEng.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Media:../../Resource/Time:
|
||||||
|
|
||||||
|
concrete DBEng of DB = TVStationsEng, TimeEng, WeekdayEng ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DBPro.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DBPro.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Media:../../Resource/Time:
|
||||||
|
|
||||||
|
concrete DBPro of DB = TVStationsPro, TimeProlog, WeekdayProlog ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DBSwe.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/DBSwe.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Media:../../Resource/Time:
|
||||||
|
|
||||||
|
concrete DBSwe of DB = TVStationsSwe, TimeSwe, WeekdaySwe ** {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
--# -path=.:../:../../../Resource/Time:../Shared:../../../Core:../../../Core/Shared:
|
||||||
|
|
||||||
|
abstract sharedDomain = sharedCore, DB, Time, Weekday ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
--makeAddLocAnswer : Location -> Proposition addTask;
|
||||||
|
--makeRemLocAnswer : Location -> Proposition removeTask;
|
||||||
|
|
||||||
|
makeAddEventAnswer : Event -> Proposition addTask;
|
||||||
|
makeRemEventAnswer : Event -> Proposition removeTask;
|
||||||
|
makeCheckupAnswer : Event -> Proposition checkupTask;
|
||||||
|
makeCheckTimeAnswer : Event -> Proposition checkTimeTask;
|
||||||
|
makeAddInfoAnswer : Event -> Proposition addInfoTask;
|
||||||
|
|
||||||
|
makeAddEventTimeAnswer : Time -> Proposition addTask;
|
||||||
|
makeRemEventTimeAnswer : Time -> Proposition removeTask;
|
||||||
|
makeCheckupTimeAnswer : Time -> Proposition checkupTask;
|
||||||
|
makeCheckTimeTimeAnswer : Time -> Proposition checkTimeTask;
|
||||||
|
makeAddInfoTimeAnswer : Time -> Proposition addInfoTask;
|
||||||
|
|
||||||
|
makeAddEventDayAnswer : Weekday -> Proposition addTask;
|
||||||
|
makeRemEventDayAnswer : Weekday -> Proposition removeTask;
|
||||||
|
makeCheckupDayAnswer : Weekday -> Proposition checkupTask;
|
||||||
|
makeCheckTimeDayAnswer : Weekday -> Proposition checkTimeTask;
|
||||||
|
makeAddInfoDayAnswer : Weekday -> Proposition addInfoTask;
|
||||||
|
|
||||||
|
makeCheckAnswer : Location -> Proposition checkupTask;
|
||||||
|
makeAddInfoLocAnswer : Location -> Proposition addInfoTask;
|
||||||
|
makeCheckTimeLocAnswer : Location -> Proposition checkTimeTask;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
addTask : Task;
|
||||||
|
removeTask : Task;
|
||||||
|
changeTask : Task;
|
||||||
|
addInfoTask : Task;
|
||||||
|
checkupTask : Task; -- "har jag"
|
||||||
|
checkTimeTask : Task;
|
||||||
|
|
||||||
|
addEntry : Action addTask; -- "lägga till", "anteckna", "göra en anteckning", "boka", "boka in"
|
||||||
|
removeEntry : Action removeTask; -- "ta bort", "radera", "ta bort en anteckning", "ta bort anteckningen"
|
||||||
|
changeEntry : Action changeTask; -- "ändra anteckningen" - "request(change_info)"
|
||||||
|
augmentEntry : Action addInfoTask; -- "lägga till mer information" - "request(more_info)
|
||||||
|
checkupEntry : Action checkTimeTask;
|
||||||
|
|
||||||
|
checkup : Ask checkupTask; -- "vad har jag"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,148 @@
|
|||||||
|
--# -path=.:../:../Artist:../Numbers
|
||||||
|
|
||||||
|
|
||||||
|
concrete sharedDomainEng of sharedDomain = sharedCoreEng, numbersEng, orderNumEng, englishDBEng **
|
||||||
|
open SpecResEng in {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
answerSongPlay song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerSongAdd song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerSongRemove song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
questionSong song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
answerArtistPlay artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerArtistAdd artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerArtistRemove artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
questionArtist artist = { s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
answerStationPlay station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( ["the station"] ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerStationAdd station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( ["the station"] ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerStationRemove station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( ["the station"] ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LIST RELATED ANSWERS
|
||||||
|
|
||||||
|
-- nummer fem
|
||||||
|
-- fem
|
||||||
|
answerNumberInListPlay numb = {s = variants {
|
||||||
|
( (listForm ! Numeric) ++ numb.s );
|
||||||
|
( numb.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
answerNumberInListRemove numb = {s = variants {
|
||||||
|
( (listForm ! Numeric) ++ numb.s );
|
||||||
|
( numb.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- den femte låten
|
||||||
|
-- den femte
|
||||||
|
answerOrderInListPlay ordNum =
|
||||||
|
{s = variants {
|
||||||
|
("the" ++ ordNum.s ++ (itemForm ! Post));
|
||||||
|
("the" ++ ordNum.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerOrderInListRemove ordNum =
|
||||||
|
{s = variants {
|
||||||
|
("the" ++ ordNum.s ++ (itemForm ! Post));
|
||||||
|
("the" ++ ordNum.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
play_spec = (variants {["play"] ; ["listen to"] ; "hear"});
|
||||||
|
play_spec_alone = variants {["play a specific"] ; ["play a specific song"] ; ["listen to a specific song"] ; ["hear a specific song"]};
|
||||||
|
play = (variants {["start from the beginning"] ; ["play"] ; ["start"]});
|
||||||
|
stop = (variants {["stop"]});
|
||||||
|
pause = ["pause"];
|
||||||
|
resume = (variants {["resume"] ; ["resume playing"]});
|
||||||
|
|
||||||
|
next = "next";
|
||||||
|
previous = "previous";
|
||||||
|
|
||||||
|
raise_volume = ["raise the volume"] ;
|
||||||
|
lower_volume = ["lower the volume"];
|
||||||
|
|
||||||
|
shift = "shift" ++ variants{ ["the balance"] ; ""};
|
||||||
|
right = variants{"" ; ["to the"]} ++ "right";
|
||||||
|
left = variants{"" ; ["to the"]} ++ "left";
|
||||||
|
center = variants{"" ; ["to the"]} ++ "middle";
|
||||||
|
|
||||||
|
show_list = ["show the list"];
|
||||||
|
|
||||||
|
add = ["add"];
|
||||||
|
remove = ["remove"];
|
||||||
|
|
||||||
|
handle_list = ["manage the playlist"];
|
||||||
|
handle_player = ["talk to the player"];
|
||||||
|
handle_stations = ["choose a station"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
-- SWEDISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
--# -path=.:../:../DBase/Swedish:../DBase:../Shared:../System:../Numbers
|
||||||
|
concrete sharedDomainPro of sharedDomain = sharedCorePro, numbersEng, orderNumEng, swedishDBPro ** {
|
||||||
|
|
||||||
|
-- ENGLISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
-- --# -path=.:../:../DBase/English:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
|
||||||
|
-- concrete sharedDomainPro of sharedDomain = sharedCorePro, numbersEng, orderNumEng, englishDBPro ** {
|
||||||
|
|
||||||
|
flags lexer=code ; unlexer=code ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
answerSongPlay song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
answerSongAdd song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
answerSongRemove song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
questionSong song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
answerArtistPlay artist = { s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
answerArtistAdd artist = { s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
answerArtistRemove artist = { s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
questionArtist artist = {s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
answerStationPlay station = { s = "station" ++ "(" ++ station.s ++ ")"};
|
||||||
|
answerStationAdd station = { s = "station" ++ "(" ++ station.s ++ ")"};
|
||||||
|
answerStationRemove station = { s = "station" ++ "(" ++ station.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
answerNumberInListPlay numb = {s = "index" ++ "(" ++ "[" ++ numb.s ++ "]" ++ ")"};
|
||||||
|
answerNumberInListRemove numb = {s = "index" ++ "(" ++ "[" ++ numb.s ++ "]" ++ ")"};
|
||||||
|
|
||||||
|
answerOrderInListPlay ordNum = {s = "index" ++ "(" ++ "[" ++ ordNum.s ++ "]" ++ ")"};
|
||||||
|
answerOrderInListRemove ordNum = {s = "index" ++ "(" ++ "[" ++ ordNum.s ++ "]" ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
pattern
|
||||||
|
|
||||||
|
play_spec = "start_specific";
|
||||||
|
play_spec_alone = "start_specific";
|
||||||
|
play = "start";
|
||||||
|
stop = "stop";
|
||||||
|
pause = "pause";
|
||||||
|
resume = "resume";
|
||||||
|
|
||||||
|
next = "next";
|
||||||
|
previous = "previous";
|
||||||
|
|
||||||
|
raise_volume = "vol_up" ;
|
||||||
|
lower_volume = "vol_down" ;
|
||||||
|
|
||||||
|
shift = "set_balance";
|
||||||
|
right = "1.0";
|
||||||
|
left = "-1.0";
|
||||||
|
center = "0.0";
|
||||||
|
|
||||||
|
show_list = "show_list";
|
||||||
|
|
||||||
|
add = "playlist_add";
|
||||||
|
remove = "playlist_del";
|
||||||
|
|
||||||
|
handle_list = "handle_playlist";
|
||||||
|
handle_player = "handle_player";
|
||||||
|
handle_stations = "handle_stations";
|
||||||
|
|
||||||
|
askArtist = "songs_by_artist";
|
||||||
|
askSong = "artists_song";
|
||||||
|
|
||||||
|
askCurrent = "current_song";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
--# -path=.:../:../../../Resource/Time:../Shared:../../../Core:../../../Core/Shared:
|
||||||
|
|
||||||
|
concrete sharedDomainSwe of sharedDomain = sharedCoreSwe, DBSwe, TimeSwe, WeekdaySwe ** open SpecResSwe in{
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
|
||||||
|
makeAddEventAnswer event = {s = event.s};
|
||||||
|
makeRemEventAnswer event = {s = event.s};
|
||||||
|
makeCheckupAnswer event = {s = "om" ++ event.s};
|
||||||
|
makeCheckTimeAnswer event = {s = event.s};
|
||||||
|
makeAddInfoAnswer event = {s = "om" ++ event.s};
|
||||||
|
|
||||||
|
makeAddEventTimeAnswer time = {s = time.s};
|
||||||
|
makeRemEventTimeAnswer time = {s = time.s};
|
||||||
|
makeCheckupTimeAnswer time = {s = time.s};
|
||||||
|
makeCheckTimeTimeAnswer time = {s = time.s};
|
||||||
|
makeAddInfoTimeAnswer time = {s = time.s};
|
||||||
|
|
||||||
|
makeAddEventDayAnswer weekday = {s = "på" ++ weekday.s};
|
||||||
|
makeRemEventDayAnswer weekday = {s = "på" ++ weekday.s};
|
||||||
|
makeCheckupDayAnswer weekday = {s = "på" ++ weekday.s};
|
||||||
|
makeCheckTimeDayAnswer weekday = {s = "på" ++ weekday.s};
|
||||||
|
makeAddInfoDayAnswer weekday = {s = "på" ++ weekday.s};
|
||||||
|
|
||||||
|
makeCheckAnswer location = {s = location.s};
|
||||||
|
makeAddInfoLocAnswer location = {s = "om" ++ location.s};
|
||||||
|
makeCheckTimeLocAnswer location = {s = location.s};
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
addEntry = varaints {["lägga till"] ; ["anteckna"] ; ["göra en anteckning om"]};
|
||||||
|
removeEntry = variants{ ["ta bort"] ; ["radera en anteckning"]};
|
||||||
|
changeEntry = ["ändra en anteckning om"];
|
||||||
|
augmentEntry = ["lägga till mer information"];
|
||||||
|
checkupEntry = ["kolla tiden för"];
|
||||||
|
|
||||||
|
checkup = ["vad har jag uppskrivet"];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
-- SWEDISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
--# -path=.:../:../DBase/Swedish:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
-- ENGLISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
-- --# -path=.:../:../DBase/English:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
abstract systemDomain = sharedDomain, systemCore ** {
|
||||||
|
|
||||||
|
|
||||||
|
cat
|
||||||
|
|
||||||
|
Proposition;
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- PROPOSITIONS.
|
||||||
|
--
|
||||||
|
|
||||||
|
songProp : Song -> Proposition;
|
||||||
|
itemProp : Song -> Proposition;
|
||||||
|
currentSongProp : Song -> Proposition;
|
||||||
|
|
||||||
|
whatToPlayPropNum : Number -> Proposition;
|
||||||
|
whatToPlayPropOrd : Number -> Proposition;
|
||||||
|
|
||||||
|
itemRemPropNum : Number -> Proposition;
|
||||||
|
itemRemPropOrd : Number -> Proposition;
|
||||||
|
|
||||||
|
groupToAddProp : Artist -> Proposition;
|
||||||
|
artistProp : Artist -> Proposition;
|
||||||
|
groupProp : Artist -> Proposition;
|
||||||
|
songArtistProp : Artist -> Proposition;
|
||||||
|
|
||||||
|
albumProp : Album -> Proposition;
|
||||||
|
|
||||||
|
artistsSongProp : Artist -> Proposition;
|
||||||
|
artistsAlbumProp : Artist -> Proposition;
|
||||||
|
|
||||||
|
albumArtistProp : Album -> Proposition;
|
||||||
|
|
||||||
|
songsArtistProp : Song -> Proposition;
|
||||||
|
|
||||||
|
stationProp : Station -> Proposition;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
--# -path=.:../:../DBase/English:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
|
||||||
|
concrete systemDomainEng of systemDomain = sharedDomainEng, systemCoreEng ** {
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
songProp song = { s = song.s };
|
||||||
|
itemProp song = { s = song.s };
|
||||||
|
currentSongProp song = { s = song.s };
|
||||||
|
|
||||||
|
whatToPlayPropNum number = { s = number.s };
|
||||||
|
whatToPlayPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
itemRemPropNum number = { s = number.s };
|
||||||
|
itemRemPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
groupToAddProp artist = { s = artist.s };
|
||||||
|
artistProp artist = { s = artist.s};
|
||||||
|
groupProp artist = { s = artist.s };
|
||||||
|
songArtistProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumProp album = { s = album.s };
|
||||||
|
|
||||||
|
artistsSongProp artist = { s = artist.s };
|
||||||
|
artistsAlbumProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumArtistProp album = { s = album.s };
|
||||||
|
|
||||||
|
songsArtistProp song = { s = song.s };
|
||||||
|
|
||||||
|
stationProp station = { s = station.s };
|
||||||
|
|
||||||
|
-- sort_restr( song(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( item(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( current_song(X) ):- sem_sort(X,song).
|
||||||
|
-- sort_restr( what_to_play(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( groupToAdd(X) ):- group( X ).
|
||||||
|
-- sort_restr( artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( group(X) ):- group( X ).
|
||||||
|
-- sort_restr( song_artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( album(X) ):- album( X ).
|
||||||
|
-- sort_restr( artists_song(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( artists_album(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( albums_by_artist(X) ):- album_atom( X ).
|
||||||
|
-- sort_restr( songs_by_artist(X) ):- song_atom( X ).
|
||||||
|
-- sort_restr( station(X) ):- radio_station( X ).
|
||||||
|
-- sort_restr( year(X) ):- sem_sort( X, year ).
|
||||||
|
-- sort_restr( path(X) ):- atomic( X ).%,format("hallå: ~w\n",[X]).
|
||||||
|
-- %sort_restr( X^path(X) ):- atomic( X ),format("hallå: ~w\n",[X]).
|
||||||
|
-- sort_restr( not path(X) ):- format("hallå: ~w\n",[X]), atomic( X ).
|
||||||
|
-- sort_restr( fail(Path^path(Path),no_matches) ).
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
|
||||||
|
-- Because of differing linearisations in User and System usage these functions are not linearized in Shared.
|
||||||
|
|
||||||
|
askArtist = "songs" ;
|
||||||
|
|
||||||
|
|
||||||
|
askSong = "artist" ;
|
||||||
|
askCurrent = ["the current song"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
-- SWEDISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
--# -path=.:../:../DBase/Swedish:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
-- ENGLISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
-- --# -path=.:../:../DBase/English:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
|
||||||
|
concrete systemDomainPro of systemDomain = sharedDomainPro, systemCorePro ** {
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
-- Ok hur ska jag göra med propositions tro? Och vad menar David med song_to_add(Song).
|
||||||
|
-- Hur blir de till? Skulle man kunna göra som nedan?
|
||||||
|
|
||||||
|
songProp song = { s = "song" ++ "(" ++ song.s ++ ")" };
|
||||||
|
itemProp song = { s = "item" ++ "(" ++ song.s ++ ")" };
|
||||||
|
currentSongProp song = { s = "current_song" ++ "(" ++ song.s ++ ")" };
|
||||||
|
|
||||||
|
whatToPlayPropNum number = { s = "what_to_play" ++ "(" ++ number.s ++ ")" };
|
||||||
|
whatToPlayPropOrd order = { s = "what_to_play" ++ "(" ++ order.s ++ ")" };
|
||||||
|
|
||||||
|
itemRemPropNum number = { s = "itemRem" ++ "(" ++ number.s ++ ")" };
|
||||||
|
itemRemPropOrd order = { s = "itemRem" ++ "(" ++ order.s ++ ")" };
|
||||||
|
|
||||||
|
groupToAddProp artist = { s = "groupToAdd" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
artistProp artist = { s = "artist" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
groupProp artist = { s = "group" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
songArtistProp artist = { s = "song_artist" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
|
||||||
|
albumProp album = { s = "album" ++ "(" ++ album.s ++ ")" };
|
||||||
|
|
||||||
|
artistsSongProp artist = { s = "artist_song" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
artistsAlbumProp artist = { s = "artists_album" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
|
||||||
|
albumArtistProp album = { s = "albums_by_artist" ++ "(" ++ album.s ++ ")" };
|
||||||
|
|
||||||
|
songsArtistProp song = { s = "songs_by_artist" ++ "(" ++ song.s ++ ")" };
|
||||||
|
|
||||||
|
stationProp station = { s = "station" ++ "(" ++ station.s ++ ")" };
|
||||||
|
|
||||||
|
-- sort_restr( song(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( item(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( current_song(X) ):- sem_sort(X,song).
|
||||||
|
-- sort_restr( what_to_play(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( groupToAdd(X) ):- group( X ).
|
||||||
|
-- sort_restr( artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( group(X) ):- group( X ).
|
||||||
|
-- sort_restr( song_artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( album(X) ):- album( X ).
|
||||||
|
-- sort_restr( artists_song(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( artists_album(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( albums_by_artist(X) ):- album_atom( X ).
|
||||||
|
-- sort_restr( songs_by_artist(X) ):- song_atom( X ).
|
||||||
|
-- sort_restr( station(X) ):- radio_station( X ).
|
||||||
|
-- sort_restr( year(X) ):- sem_sort( X, year ).
|
||||||
|
-- sort_restr( path(X) ):- atomic( X ).%,format("hallå: ~w\n",[X]).
|
||||||
|
-- %sort_restr( X^path(X) ):- atomic( X ),format("hallå: ~w\n",[X]).
|
||||||
|
-- sort_restr( not path(X) ):- format("hallå: ~w\n",[X]), atomic( X ).
|
||||||
|
-- sort_restr( fail(Path^path(Path),no_matches) ).
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
--# -path=.:../:../DBase/Swedish:../DBase:../Shared:../System:../Numbers
|
||||||
|
|
||||||
|
|
||||||
|
concrete systemDomainSwe of systemDomain = sharedDomainSwe, systemCoreSwe ** {
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
songProp song = { s = song.s };
|
||||||
|
itemProp song = { s = song.s };
|
||||||
|
currentSongProp song = { s = song.s };
|
||||||
|
|
||||||
|
whatToPlayPropNum number = { s = number.s };
|
||||||
|
whatToPlayPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
itemRemPropNum number = { s = number.s };
|
||||||
|
itemRemPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
groupToAddProp artist = { s = artist.s };
|
||||||
|
artistProp artist = { s = artist.s};
|
||||||
|
groupProp artist = { s = artist.s };
|
||||||
|
songArtistProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumProp album = { s = album.s };
|
||||||
|
|
||||||
|
artistsSongProp artist = { s = artist.s };
|
||||||
|
artistsAlbumProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumArtistProp album = { s = album.s };
|
||||||
|
|
||||||
|
songsArtistProp song = { s = song.s };
|
||||||
|
|
||||||
|
stationProp station = { s = station.s };
|
||||||
|
|
||||||
|
-- sort_restr( song(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( item(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( current_song(X) ):- sem_sort(X,song).
|
||||||
|
-- sort_restr( what_to_play(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( groupToAdd(X) ):- group( X ).
|
||||||
|
-- sort_restr( artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( group(X) ):- group( X ).
|
||||||
|
-- sort_restr( song_artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( album(X) ):- album( X ).
|
||||||
|
-- sort_restr( artists_song(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( artists_album(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( albums_by_artist(X) ):- album_atom( X ).
|
||||||
|
-- sort_restr( songs_by_artist(X) ):- song_atom( X ).
|
||||||
|
-- sort_restr( station(X) ):- radio_station( X ).
|
||||||
|
-- sort_restr( year(X) ):- sem_sort( X, year ).
|
||||||
|
-- sort_restr( path(X) ):- atomic( X ).%,format("hallå: ~w\n",[X]).
|
||||||
|
-- %sort_restr( X^path(X) ):- atomic( X ),format("hallå: ~w\n",[X]).
|
||||||
|
-- sort_restr( not path(X) ):- format("hallå: ~w\n",[X]), atomic( X ).
|
||||||
|
-- sort_restr( fail(Path^path(Path),no_matches) ).
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
|
||||||
|
-- Because of differing linearisations in User and System usage these functions are not linearized in Shared.
|
||||||
|
|
||||||
|
askArtist = "låtar" ;
|
||||||
|
|
||||||
|
|
||||||
|
askSong = "artister" ;
|
||||||
|
askCurrent = ["låten som spelas nu"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
13
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/User/userDomain.gf
Normal file
13
grammars/TALK/GF_GoDiS/Domain/AgendaTalk/User/userDomain.gf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
--# -path=.:../:../../../Resource/Time:../../../Resource/Media:../Shared:../../../Core:../../../Core/Shared:../../../Core/User
|
||||||
|
|
||||||
|
abstract userDomain = userCore, sharedDomain ** {
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
-- CompoundedAnswers
|
||||||
|
|
||||||
|
answerEventLocAdd : Event -> Location -> AnswerList addTask;
|
||||||
|
answerEventLocRem : Event -> Location -> AnswerList removeTask;
|
||||||
|
|
||||||
|
answerEventLocTimeDay : Event -> Location -> Time -> Weekday -> AnswerList removeTask;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
--# -path=.:../:../DBase/English:../DBase:../Numbers:../Shared
|
||||||
|
|
||||||
|
concrete userDomainEng of userDomain = userCoreEng, sharedDomainEng ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerSongArtistPlay song artist = {s = variants {(song.s ++ "with" ++ artist.s)
|
||||||
|
; (artist.s ++ "with" ++ song.s)} };
|
||||||
|
|
||||||
|
answerSongArtistAdd song artist = {s = variants {(song.s ++ "with" ++ artist.s)
|
||||||
|
; (artist.s ++ "with" ++ song.s)} };
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
askArtist = variants { ["what do i have"] ; ["what songs do i have"] ; ["do i have anything"]}
|
||||||
|
++ variants {"with" ; "by"};
|
||||||
|
|
||||||
|
|
||||||
|
askSong = ["who"] ++ variants {"made"; "wrote"};
|
||||||
|
|
||||||
|
askCurrent = ["what"] ++ variants {["song is this"] ; ["is this called"]};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
-- SWEDISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
--# -path=.:../:../DBase/Swedish:../DBase:../Numbers:../Shared
|
||||||
|
|
||||||
|
-- ENGLISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
-- --# -path=.:../:../DBase/English/:../DBase/:../Numbers:../Shared
|
||||||
|
|
||||||
|
|
||||||
|
concrete userDomainPro of userDomain = userCorePro, sharedDomainPro ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
answerSongArtistPlay song artist = { s = "answer(item(" ++ song.s ++ ")," ++
|
||||||
|
"answer(group(" ++ artist.s ++ ")"};
|
||||||
|
answerSongArtistAdd song artist = { s = "answer(item(" ++ song.s ++ ")," ++
|
||||||
|
"answer(group(" ++ artist.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
--# -path=.:../:../../:../../../Resource/Time:../../../Resource/Media/:../Shared:../../../Core:../../../Core/Shared:../../../Core/User
|
||||||
|
|
||||||
|
concrete userDomainSwe of userDomain = userCoreSwe, sharedDomainSwe ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerEventLocAdd event loc = {s = event.s ++ loc.s };
|
||||||
|
|
||||||
|
answerEventLocRem event loc = {s = event.s ++ loc.s };
|
||||||
|
|
||||||
|
answerEventLocTimeDay event loc time day = {s = variants {
|
||||||
|
(event.s ++ loc.s ++ time.s ++ "på" ++ day.s);
|
||||||
|
(event.s ++ loc.s ++ "på" ++ day.s ++ time.s);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
-- (event.s ++ "på" ++ day.s ++ time.s);
|
||||||
|
-- (loc.s ++ time.s ++ "på" ++ day.s);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
6
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DB.gf
Normal file
6
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DB.gf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../../Resource/Numbers/
|
||||||
|
|
||||||
|
abstract DB = SwedishAlbums, SwedishArtists, SwedishRadioStations, SwedishSongs, numbers, orderNum ** {
|
||||||
|
--abstract DB = EnglishAlbums, EnglishArtists, EnglishRadioStations, EnglishSongs, numbers, orderNum ** {
|
||||||
|
|
||||||
|
}
|
||||||
7
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DBEng.gf
Normal file
7
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DBEng.gf
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../Resource/Numbers/
|
||||||
|
|
||||||
|
concrete DBEng of DB = EnglishAlbumsEng, EnglishArtistsEng,
|
||||||
|
--EnglishSongsEng,
|
||||||
|
EnglishRadioStationsEng, SwedishSongsSwe, numbersEng, orderNumEng ** {
|
||||||
|
|
||||||
|
}
|
||||||
6
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DBPro.gf
Normal file
6
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DBPro.gf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish
|
||||||
|
|
||||||
|
--concrete DBPro of DB = EnglishAlbumsPro, EnglishSongsPro, EnglishArtistsPro, EnglishRadioStationsPro, numbersPro, orderNumPro ** {
|
||||||
|
concrete DBPro of DB = SwedishAlbumsPro, SwedishSongsPro, SwedishArtistsPro, SwedishRadioStationsPro, numbersPro, orderNumPro ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DBSwe.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/DBSwe.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../Resource/Numbers/
|
||||||
|
|
||||||
|
concrete DBSwe of DB = SwedishAlbumsSwe, SwedishArtistsSwe, SwedishSongsSwe, SwedishRadioStationsSwe, numbersSwe, orderNumSwe ** {
|
||||||
|
|
||||||
|
}
|
||||||
105
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/Shared/sharedDomain.gf
Normal file
105
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/Shared/sharedDomain.gf
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
-- SWEDISH version, uncomment as needed.
|
||||||
|
-- --# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/
|
||||||
|
-- abstract sharedDomain = sharedCore, numbers, orderNum, swedishDB ** {
|
||||||
|
|
||||||
|
|
||||||
|
-- ENGLISH version, uncomment as needed.
|
||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/
|
||||||
|
|
||||||
|
abstract sharedDomain = sharedCore, DB ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
-- Request Answers
|
||||||
|
|
||||||
|
answerSongPlay : Song -> Proposition playTask;
|
||||||
|
answerSongAdd : Song -> Proposition addTask;
|
||||||
|
answerSongRemove : Song -> Proposition removeTask;
|
||||||
|
|
||||||
|
answerArtistPlay : Artist -> Proposition playTask;
|
||||||
|
answerArtistAdd : Artist -> Proposition addTask;
|
||||||
|
answerArtistRemove : Artist -> Proposition removeTask;
|
||||||
|
|
||||||
|
answerStationPlay : Station -> Proposition playTask;
|
||||||
|
answerStationAdd : Station -> Proposition addTask;
|
||||||
|
answerStationRemove : Station -> Proposition removeTask;
|
||||||
|
|
||||||
|
answerNumberInListPlay : Number -> Proposition playTask;
|
||||||
|
answerNumberInListRemove: Number -> Proposition removeTask;
|
||||||
|
|
||||||
|
answerOrderInListPlay : OrderNumber -> Proposition playTask;
|
||||||
|
answerOrderInListRemove : OrderNumber -> Proposition removeTask;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Ask Answers
|
||||||
|
questionSong : Song -> Proposition songQuestion;
|
||||||
|
questionArtist : Artist -> Proposition artistQuestion;
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
playTask : Task;
|
||||||
|
addTask : Task;
|
||||||
|
removeTask : Task;
|
||||||
|
speakerTask : Task;
|
||||||
|
|
||||||
|
artistQuestion : Task;
|
||||||
|
songQuestion : Task;
|
||||||
|
|
||||||
|
|
||||||
|
play_spec : Action playTask;
|
||||||
|
|
||||||
|
play_spec_alone : SingleAction;
|
||||||
|
play : SingleAction;
|
||||||
|
stop : SingleAction;
|
||||||
|
pause : SingleAction;
|
||||||
|
resume : SingleAction;
|
||||||
|
|
||||||
|
next : OrderNumber;
|
||||||
|
previous : OrderNumber;
|
||||||
|
|
||||||
|
raise_volume : SingleAction;
|
||||||
|
lower_volume : SingleAction;
|
||||||
|
|
||||||
|
fastforward : SingleAction;
|
||||||
|
rewind : SingleAction;
|
||||||
|
|
||||||
|
shift : Action speakerTask;
|
||||||
|
right : Proposition speakerTask;
|
||||||
|
left : Proposition speakerTask;
|
||||||
|
center : Proposition speakerTask;
|
||||||
|
|
||||||
|
show_list : SingleAction;
|
||||||
|
|
||||||
|
add : Action addTask;
|
||||||
|
add_alone : SingleAction;
|
||||||
|
remove : Action removeTask;
|
||||||
|
remove_alone : SingleAction;
|
||||||
|
|
||||||
|
remove_all : SingleAction;
|
||||||
|
|
||||||
|
|
||||||
|
handle_list : SingleAction;
|
||||||
|
handle_player : SingleAction;
|
||||||
|
handle_stations : SingleAction;
|
||||||
|
|
||||||
|
askArtist : Ask artistQuestion;
|
||||||
|
askSong : Ask songQuestion;
|
||||||
|
|
||||||
|
askCurrent : SingleAsk;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
154
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/Shared/sharedDomainEng.gf
Normal file
154
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/Shared/sharedDomainEng.gf
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/
|
||||||
|
|
||||||
|
concrete sharedDomainEng of sharedDomain = sharedCoreEng, DBEng **
|
||||||
|
open SpecResEng in {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
answerSongPlay song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerSongAdd song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerSongRemove song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
questionSong song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
answerArtistPlay artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerArtistAdd artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerArtistRemove artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
questionArtist artist = { s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
answerStationPlay station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( ["the station"] ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerStationAdd station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( ["the station"] ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerStationRemove station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( ["the station"] ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LIST RELATED ANSWERS
|
||||||
|
|
||||||
|
-- nummer fem
|
||||||
|
-- fem
|
||||||
|
answerNumberInListPlay numb = {s = variants {
|
||||||
|
( (listForm ! Numeric) ++ numb.s );
|
||||||
|
( numb.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
answerNumberInListRemove numb = {s = variants {
|
||||||
|
( (listForm ! Numeric) ++ numb.s );
|
||||||
|
( numb.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- den femte låten
|
||||||
|
-- den femte
|
||||||
|
answerOrderInListPlay ordNum =
|
||||||
|
{s = variants {
|
||||||
|
("the" ++ ordNum.s ++ (itemForm ! Post));
|
||||||
|
("the" ++ ordNum.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerOrderInListRemove ordNum =
|
||||||
|
{s = variants {
|
||||||
|
("the" ++ ordNum.s ++ (itemForm ! Post));
|
||||||
|
("the" ++ ordNum.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
play_spec = (variants {["play"] ; ["listen to"] ; "hear"});
|
||||||
|
play_spec_alone = variants {["play a specific song"] ; ["play a specific"] ; ["listen to a specific song"] ; ["hear a specific song"]};
|
||||||
|
play = (variants {["start from the beginning"] ; ["play"] ; ["start"]});
|
||||||
|
stop = (variants {["stop"]});
|
||||||
|
pause = ["pause"];
|
||||||
|
resume = (variants {["resume"] ; ["resume playing"]});
|
||||||
|
|
||||||
|
next = "next";
|
||||||
|
previous = "previous";
|
||||||
|
|
||||||
|
raise_volume = ["raise the volume"] ;
|
||||||
|
lower_volume = ["lower the volume"];
|
||||||
|
|
||||||
|
fastforward = ["fast forward"];
|
||||||
|
rewind = "rewind";
|
||||||
|
|
||||||
|
shift = "shift" ++ variants{ ["the balance"] ; ""};
|
||||||
|
right = variants{"" ; ["to the"]} ++ "right";
|
||||||
|
left = variants{"" ; ["to the"]} ++ "left";
|
||||||
|
center = variants{"" ; ["to the"]} ++ "middle";
|
||||||
|
|
||||||
|
show_list = ["show the list"];
|
||||||
|
|
||||||
|
add = ["add"];
|
||||||
|
add_alone = variants {["add a specific song"] ; ["add this"] ; ["add this one"]};
|
||||||
|
remove = ["remove"];
|
||||||
|
remove_alone = variants {["remove"] ; ["renmove this"] ; ["remove this one"]};
|
||||||
|
|
||||||
|
remove_all = ["clear the playlist"];
|
||||||
|
|
||||||
|
handle_list = ["manage the playlist"];
|
||||||
|
handle_player = ["talk to the player"];
|
||||||
|
handle_stations = ["choose a station"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
-- SWEDISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
-- --# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/
|
||||||
|
--concrete sharedDomainPro of sharedDomain = sharedCorePro, numbersEng, orderNumEng, swedishDBPro ** {
|
||||||
|
|
||||||
|
|
||||||
|
-- ENGLISH VERSION, UNCOMMENT AS NEEDED
|
||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/
|
||||||
|
|
||||||
|
concrete sharedDomainPro of sharedDomain = sharedCorePro, DBPro ** {
|
||||||
|
|
||||||
|
flags lexer=code ; unlexer=code ;
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
answerSongPlay song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
answerSongAdd song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
answerSongRemove song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
questionSong song = { s = "item" ++ "(" ++ song.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
answerArtistPlay artist = { s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
answerArtistAdd artist = { s = "groupToAdd" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
answerArtistRemove artist = { s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
questionArtist artist = {s = "group" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
answerStationPlay station = { s = "station" ++ "(" ++ station.s ++ ")"};
|
||||||
|
answerStationAdd station = { s = "station" ++ "(" ++ station.s ++ ")"};
|
||||||
|
answerStationRemove station = { s = "station" ++ "(" ++ station.s ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
answerNumberInListPlay numb = {s = "index" ++ "(" ++ "[" ++ numb.s ++ "]" ++ ")"};
|
||||||
|
answerNumberInListRemove numb = {s = "itemRem" ++ "(" ++ "[" ++ numb.s ++ "]" ++ ")"};
|
||||||
|
|
||||||
|
answerOrderInListPlay ordNum = {s = "index" ++ "(" ++ "[" ++ ordNum.s ++ "]" ++ ")"};
|
||||||
|
answerOrderInListRemove ordNum = {s = "itemRem" ++ "(" ++ "[" ++ ordNum.s ++ "]" ++ ")"};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
pattern
|
||||||
|
|
||||||
|
play_spec = "start_specific";
|
||||||
|
play_spec_alone = "start_specific";
|
||||||
|
play = "start";
|
||||||
|
stop = "stop";
|
||||||
|
pause = "pause";
|
||||||
|
resume = "resume";
|
||||||
|
|
||||||
|
next = "next";
|
||||||
|
previous = "previous";
|
||||||
|
|
||||||
|
raise_volume = "vol_up" ;
|
||||||
|
lower_volume = "vol_down" ;
|
||||||
|
|
||||||
|
|
||||||
|
fastforward = "fast_forward";
|
||||||
|
rewind = "rewind";
|
||||||
|
|
||||||
|
|
||||||
|
shift = "set_balance";
|
||||||
|
right = "1.0";
|
||||||
|
left = "-1.0";
|
||||||
|
center = "0.0";
|
||||||
|
|
||||||
|
show_list = "show_list";
|
||||||
|
|
||||||
|
add = "playlist_add";
|
||||||
|
add_alone = "playlist_add";
|
||||||
|
remove = "playlist_del";
|
||||||
|
remove_alone = "playlist_del";
|
||||||
|
|
||||||
|
remove_all = "playlist_clear";
|
||||||
|
|
||||||
|
handle_list = "handle_playlist";
|
||||||
|
handle_player = "handle_player";
|
||||||
|
handle_stations = "handle_stations";
|
||||||
|
|
||||||
|
askArtist = "songs_by_artist";
|
||||||
|
askSong = "artists_song";
|
||||||
|
|
||||||
|
askCurrent = "current_song";
|
||||||
|
|
||||||
|
}
|
||||||
170
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/Shared/sharedDomainSwe.gf
Normal file
170
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/Shared/sharedDomainSwe.gf
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/
|
||||||
|
|
||||||
|
concrete sharedDomainSwe of sharedDomain = sharedCoreSwe, DBSwe ** open SpecResSwe in{
|
||||||
|
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
answerSongPlay song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerSongAdd song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerSongRemove song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
questionSong song = {s = variants {
|
||||||
|
( song.s );
|
||||||
|
( (itemForm ! Song) ++ song.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
answerArtistPlay artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerArtistAdd artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerArtistRemove artist = {s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
questionArtist artist = { s = variants {
|
||||||
|
( artist.s );
|
||||||
|
( (itemForm ! Artist) ++ artist.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
answerStationPlay station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( "stationen" ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerStationAdd station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( "stationen" ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerStationRemove station = {s = variants {
|
||||||
|
( station.s);
|
||||||
|
( "stationen" ++ station.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- LIST RELATED ANSWERS
|
||||||
|
|
||||||
|
-- nummer fem
|
||||||
|
-- fem
|
||||||
|
answerNumberInListPlay numb = {s = variants {
|
||||||
|
( (listForm ! Numeric) ++ numb.s );
|
||||||
|
( numb.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
answerNumberInListRemove numb = {s = variants {
|
||||||
|
( (listForm ! Numeric) ++ numb.s );
|
||||||
|
( numb.s )
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- den femte låten
|
||||||
|
-- den femte
|
||||||
|
answerOrderInListPlay ordNum =
|
||||||
|
{s = variants {
|
||||||
|
("den" ++ ordNum.s ++ (itemForm ! Post));
|
||||||
|
("den" ++ ordNum.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
answerOrderInListRemove ordNum =
|
||||||
|
{s = variants {
|
||||||
|
("den" ++ ordNum.s ++ (itemForm ! Post));
|
||||||
|
("den" ++ ordNum.s)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
play_spec = (variants {["spela"] ; ["starta"] ; ["höra"] ; ["lyssna på"]});
|
||||||
|
play_spec_alone = variants {["spela"] ; ["spela den här"] ; ["spela den"] ; ["spela en speciell"] ; ["spela en speciell låt"]};
|
||||||
|
play = (variants {["spela från början"] ; ["spela"] ; ["starta"]});
|
||||||
|
stop = (variants {["stoppa"] ; ["avbryta"]});
|
||||||
|
pause = (variants {["pausa"] });
|
||||||
|
resume = (variants {["återuppta spelningen"] ; ["starta igen"]});
|
||||||
|
|
||||||
|
next = "nästa";
|
||||||
|
previous = "föregående";
|
||||||
|
|
||||||
|
raise_volume = "höja" ++ variants { ("volymen") ; ("ljudet")};
|
||||||
|
lower_volume = "sänka" ++ variants { ("volymen") ; ("ljudet")};
|
||||||
|
|
||||||
|
|
||||||
|
fastforward = ["spola framåt"];
|
||||||
|
rewind = ["spola bakåt"];
|
||||||
|
|
||||||
|
|
||||||
|
shift = variants{ ["ändra balansen"] ; "skifta"};
|
||||||
|
right = variants{"" ; "till"} ++ "höger";
|
||||||
|
left = variants{"" ; "till"} ++ "vänster";
|
||||||
|
center = variants{"" ; "till"} ++ "mitten";
|
||||||
|
|
||||||
|
show_list = ["visa listan"];
|
||||||
|
|
||||||
|
add = ["lägga till"];
|
||||||
|
add_alone = variants {["lägga till"]; ["lägg till den här"] ; ["lägg till den"]};
|
||||||
|
remove = ["ta bort"];
|
||||||
|
remove_alone = variants { ["ta bort"] ; ["ta bort den"] ; ["ta bort den här"] };
|
||||||
|
|
||||||
|
remove_all = variants {["rensa listan"] ; ["ta bort allt"]};
|
||||||
|
|
||||||
|
handle_list = ["ändra i spellistan"];
|
||||||
|
handle_player = ["prata med spelaren"];
|
||||||
|
handle_stations = ["välja en radiostation"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- FLYTTAT TILL userSpecificSwe.gf och systemSpecificSwe.gf pga
|
||||||
|
-- olika linearisering for system och användare.
|
||||||
|
|
||||||
|
--askArtist = variants { "låtar" ;
|
||||||
|
-- variants { variants {"vad" ; ["vilka låtar"]} ++ ["har jag"] ;
|
||||||
|
-- ["har jag någonting"]} ++ variants {"med" ; "av"}};
|
||||||
|
|
||||||
|
|
||||||
|
--askSong = variants { "artister" ; (["vem har"] ++ variants {"skrivit"; "gjort"})};
|
||||||
|
|
||||||
|
--askCurrent = ["vad heter"] ++ variants {["den här"] ; ["låten som spelas nu"]};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
75
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/System/systemDomain.gf
Normal file
75
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/System/systemDomain.gf
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resorce/Media/English:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
abstract systemDomain = sharedDomain, systemCore ** {
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- PROPOSITIONS.
|
||||||
|
|
||||||
|
songProp : Song -> Proposition;
|
||||||
|
itemProp : Song -> Proposition;
|
||||||
|
currentSongProp : Song -> Proposition;
|
||||||
|
|
||||||
|
whatToPlayPropNum : Number -> Proposition;
|
||||||
|
whatToPlayPropOrd : Number -> Proposition;
|
||||||
|
|
||||||
|
itemRemPropNum : Number -> Proposition;
|
||||||
|
itemRemPropOrd : Number -> Proposition;
|
||||||
|
|
||||||
|
groupToAddProp : Artist -> Proposition;
|
||||||
|
artistProp : Artist -> Proposition;
|
||||||
|
groupProp : Artist -> Proposition;
|
||||||
|
songArtistProp : Artist -> Proposition;
|
||||||
|
|
||||||
|
albumProp : Album -> Proposition;
|
||||||
|
|
||||||
|
artistsSongProp : Artist -> Proposition;
|
||||||
|
artistsAlbumProp : Artist -> Proposition;
|
||||||
|
|
||||||
|
albumArtistProp : Album -> Proposition;
|
||||||
|
songsArtistProp : Song -> Proposition;
|
||||||
|
stationProp : Station -> Proposition;
|
||||||
|
|
||||||
|
actionProp : (t: Task) -> Action (t) -> Proposition;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
whatSongQuestion : SingleAsk; -- "what song do you mean?"
|
||||||
|
whatArtistQuestion : SingleAsk; -- "what artist do you mean?"
|
||||||
|
whatIndexQuestion : SingleAsk; -- "what index do you mean?"
|
||||||
|
whatToRemoveQuestion : SingleAsk;
|
||||||
|
whatStationQuestion : SingleAsk; -- "what station do you want?"
|
||||||
|
whatAlbumQuestion : SingleAsk; -- "what album do you mean?"
|
||||||
|
whatToPlayQuestion : SingleAsk; -- "which song in the playlist do you want to lay?"
|
||||||
|
whatToRemove : SingleAsk; -- "What number do you want to remove?"
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
addedToPlaylist : Confirm; -- "The playlist is increased"
|
||||||
|
removedFromPLaylist : Confirm; -- "The playlist is reduced"
|
||||||
|
clearedPlaylist : Confirm; -- "The playlist is cleared"
|
||||||
|
turnedUpVolume : Confirm; -- "Turning up the volume"
|
||||||
|
loweredVolume : Confirm; -- "Lowering the volume"
|
||||||
|
startingThePlayer : Confirm; -- "Starting the music"
|
||||||
|
stoppingThePlayer : Confirm; -- "Stopping the music"
|
||||||
|
pausingThePlayer : Confirm; -- "Pausing the music"
|
||||||
|
resumingThePlayer : Confirm; -- "Resuming the music"
|
||||||
|
shuffleTheList : Confirm; -- "The list has been shuffled"
|
||||||
|
ffing : Confirm;
|
||||||
|
rewinding : Confirm;
|
||||||
|
handlingstations : Confirm;
|
||||||
|
handlingplayer : Confirm;
|
||||||
|
handlingplaylist : Confirm;
|
||||||
|
showedList : Confirm;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
106
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/System/systemDomainEng.gf
Normal file
106
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/System/systemDomainEng.gf
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resorce/Media/Swedish:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
concrete systemDomainEng of systemDomain = sharedDomainEng, systemCoreEng ** {
|
||||||
|
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
songProp song = { s = song.s };
|
||||||
|
itemProp song = { s = song.s };
|
||||||
|
currentSongProp song = { s = song.s };
|
||||||
|
|
||||||
|
whatToPlayPropNum number = { s = number.s };
|
||||||
|
whatToPlayPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
itemRemPropNum number = { s = number.s };
|
||||||
|
itemRemPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
groupToAddProp artist = { s = artist.s };
|
||||||
|
artistProp artist = { s = artist.s};
|
||||||
|
groupProp artist = { s = artist.s };
|
||||||
|
songArtistProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumProp album = { s = album.s };
|
||||||
|
|
||||||
|
artistsSongProp artist = { s = artist.s };
|
||||||
|
artistsAlbumProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumArtistProp album = { s = album.s };
|
||||||
|
|
||||||
|
songsArtistProp song = { s = song.s };
|
||||||
|
|
||||||
|
stationProp station = { s = station.s };
|
||||||
|
|
||||||
|
actionProp _ action = {s = action.s };
|
||||||
|
|
||||||
|
-- sort_restr( song(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( item(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( current_song(X) ):- sem_sort(X,song).
|
||||||
|
-- sort_restr( what_to_play(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( groupToAdd(X) ):- group( X ).
|
||||||
|
-- sort_restr( artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( group(X) ):- group( X ).
|
||||||
|
-- sort_restr( song_artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( album(X) ):- album( X ).
|
||||||
|
-- sort_restr( artists_song(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( artists_album(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( albums_by_artist(X) ):- album_atom( X ).
|
||||||
|
-- sort_restr( songs_by_artist(X) ):- song_atom( X ).
|
||||||
|
-- sort_restr( station(X) ):- radio_station( X ).
|
||||||
|
-- sort_restr( year(X) ):- sem_sort( X, year ).
|
||||||
|
-- sort_restr( path(X) ):- atomic( X ).%,format("hallå: ~w\n",[X]).
|
||||||
|
-- %sort_restr( X^path(X) ):- atomic( X ),format("hallå: ~w\n",[X]).
|
||||||
|
-- sort_restr( not path(X) ):- format("hallå: ~w\n",[X]), atomic( X ).
|
||||||
|
-- sort_restr( fail(Path^path(Path),no_matches) ).
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
|
||||||
|
-- Because of differing linearisations in User and System usage these functions are not linearized in Shared.
|
||||||
|
|
||||||
|
askArtist = "song" ;
|
||||||
|
askSong = "artist" ;
|
||||||
|
askCurrent = ["the current song"];
|
||||||
|
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
whatSongQuestion = ["what song do you mean"];
|
||||||
|
whatArtistQuestion = ["what artist do you mean"];
|
||||||
|
whatIndexQuestion = ["what index number do you want to play"];
|
||||||
|
whatToRemoveQuestion = ["what song do you want to remove from the playlist"];
|
||||||
|
whatStationQuestion = ["what radio station do you want to listen to"];
|
||||||
|
whatAlbumQuestion = ["what album do you mean"];
|
||||||
|
whatToPlayQuestion = ["what song in the playlist do you want to play"];
|
||||||
|
whatToRemove = ["what song in the playlist do you want to remove"];
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
addedToPlaylist = ["the playlist is increased"];
|
||||||
|
removedFromPLaylist = ["the playlist is reduced"];
|
||||||
|
clearedPlaylist = ["the playlist is cleared"];
|
||||||
|
turnedUpVolume = ["turning up the volume"];
|
||||||
|
loweredVolume = ["lowering the volume"];
|
||||||
|
startingThePlayer = ["starting the music"];
|
||||||
|
stoppingThePlayer = ["the player is stopped"];
|
||||||
|
pausingThePlayer = ["pausing the player"];
|
||||||
|
resumingThePlayer = ["resuming the music"];
|
||||||
|
shuffleTheList = ["the playlist has been shuffled"];
|
||||||
|
ffing = ["performing fast forward"];
|
||||||
|
rewinding = ["rewinding"];
|
||||||
|
handlingstations = ["done with choosing a station"];
|
||||||
|
handlingplayer = ["your wish is my command"];
|
||||||
|
handlingplaylist = ["done fiddling with the playlist"];
|
||||||
|
showedList = ["finished showing the list"];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
-- --# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resorce/Media/Swedish:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
concrete systemDomainPro of systemDomain = sharedDomainPro, systemCorePro ** {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
songProp song = { s = "song" ++ "(" ++ song.s ++ ")" };
|
||||||
|
itemProp song = { s = "item" ++ "(" ++ song.s ++ ")" };
|
||||||
|
currentSongProp song = { s = "current_song" ++ "(" ++ song.s ++ ")" };
|
||||||
|
|
||||||
|
whatToPlayPropNum number = { s = "what_to_play" ++ "(" ++ number.s ++ ")" };
|
||||||
|
whatToPlayPropOrd order = { s = "what_to_play" ++ "(" ++ order.s ++ ")" };
|
||||||
|
|
||||||
|
itemRemPropNum number = { s = "itemRem" ++ "(" ++ number.s ++ ")" };
|
||||||
|
itemRemPropOrd order = { s = "itemRem" ++ "(" ++ order.s ++ ")" };
|
||||||
|
|
||||||
|
groupToAddProp artist = { s = "groupToAdd" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
artistProp artist = { s = "artist" ++ "(" ++ artist.s ++ ")"};
|
||||||
|
groupProp artist = { s = "group" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
songArtistProp artist = { s = "song_artist" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
|
||||||
|
albumProp album = { s = "album" ++ "(" ++ album.s ++ ")" };
|
||||||
|
|
||||||
|
artistsSongProp artist = { s = "artist_song" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
artistsAlbumProp artist = { s = "artists_album" ++ "(" ++ artist.s ++ ")" };
|
||||||
|
|
||||||
|
albumArtistProp album = { s = "albums_by_artist" ++ "(" ++ album.s ++ ")" };
|
||||||
|
|
||||||
|
songsArtistProp song = { s = "songs_by_artist" ++ "(" ++ song.s ++ ")" };
|
||||||
|
|
||||||
|
stationProp station = { s = "station" ++ "(" ++ station.s ++ ")" };
|
||||||
|
|
||||||
|
actionProp _ action = {s = "action" ++ "(" ++ action.s ++ ")"};
|
||||||
|
|
||||||
|
-- sort_restr( song(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( item(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( current_song(X) ):- sem_sort(X,song).
|
||||||
|
-- sort_restr( what_to_play(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( groupToAdd(X) ):- group( X ).
|
||||||
|
-- sort_restr( artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( group(X) ):- group( X ).
|
||||||
|
-- sort_restr( song_artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( album(X) ):- album( X ).
|
||||||
|
-- sort_restr( artists_song(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( artists_album(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( albums_by_artist(X) ):- album_atom( X ).
|
||||||
|
-- sort_restr( songs_by_artist(X) ):- song_atom( X ).
|
||||||
|
-- sort_restr( station(X) ):- radio_station( X ).
|
||||||
|
-- sort_restr( year(X) ):- sem_sort( X, year ).
|
||||||
|
-- sort_restr( path(X) ):- atomic( X ).%,format("hallå: ~w\n",[X]).
|
||||||
|
-- %sort_restr( X^path(X) ):- atomic( X ),format("hallå: ~w\n",[X]).
|
||||||
|
-- sort_restr( not path(X) ):- format("hallå: ~w\n",[X]), atomic( X ).
|
||||||
|
-- sort_restr( fail(Path^path(Path),no_matches) ).
|
||||||
|
|
||||||
|
pattern
|
||||||
|
-- Asks
|
||||||
|
whatSongQuestion = ["x ^ item ( x )"];
|
||||||
|
whatArtistQuestion = ["x ^ group ( x )"];
|
||||||
|
whatIndexQuestion = ["x ^ index ( x )"];
|
||||||
|
whatToRemoveQuestion = ["x ^ song_to_remove ( x )"];
|
||||||
|
whatStationQuestion = ["x ^ station ( x )"];
|
||||||
|
whatAlbumQuestion = ["x ^ album ( x )"];
|
||||||
|
whatToPlayQuestion = ["x ^ what_to_play ( x )"];
|
||||||
|
whatToRemove = ["x ^ itemRem ( x )"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
addedToPlaylist = "playlist_add"; -- "The playlist is increased"
|
||||||
|
removedFromPLaylist = "playlist_del"; -- "The playlist is reduced"
|
||||||
|
clearedPlaylist = "playlist_clear"; -- "The playlist is cleared"
|
||||||
|
turnedUpVolume = "vol_up"; -- "Turning up the volume"
|
||||||
|
loweredVolume = "vol_down"; -- "Lowering the volume"
|
||||||
|
startingThePlayer = variants {"start" ; "start_specific"};
|
||||||
|
stoppingThePlayer = "stop"; -- "Stopping the music"
|
||||||
|
pausingThePlayer = "pause"; -- "Pausing the music"
|
||||||
|
resumingThePlayer = "resume"; -- "Resuming the music"
|
||||||
|
shuffleTheList = "shuffle"; -- "The list has been shuffled"
|
||||||
|
ffing = "fast_fowrward";
|
||||||
|
rewinding = "rewind";
|
||||||
|
handlingstations = "handle_stations";
|
||||||
|
handlingplayer = "handle_player";
|
||||||
|
handlingplaylist = "handle_playlist";
|
||||||
|
showedList = "show_list";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
105
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/System/systemDomainSwe.gf
Normal file
105
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/System/systemDomainSwe.gf
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resorce/Media/English:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
concrete systemDomainSwe of systemDomain = sharedDomainSwe, systemCoreSwe ** {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
songProp song = { s = song.s };
|
||||||
|
itemProp song = { s = song.s };
|
||||||
|
currentSongProp song = { s = song.s };
|
||||||
|
|
||||||
|
whatToPlayPropNum number = { s = number.s };
|
||||||
|
whatToPlayPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
itemRemPropNum number = { s = number.s };
|
||||||
|
itemRemPropOrd order = { s = order.s };
|
||||||
|
|
||||||
|
groupToAddProp artist = { s = artist.s };
|
||||||
|
artistProp artist = { s = artist.s};
|
||||||
|
groupProp artist = { s = artist.s };
|
||||||
|
songArtistProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumProp album = { s = album.s };
|
||||||
|
|
||||||
|
artistsSongProp artist = { s = artist.s };
|
||||||
|
artistsAlbumProp artist = { s = artist.s };
|
||||||
|
|
||||||
|
albumArtistProp album = { s = album.s };
|
||||||
|
|
||||||
|
songsArtistProp song = { s = song.s };
|
||||||
|
|
||||||
|
stationProp station = { s = station.s };
|
||||||
|
|
||||||
|
-- sort_restr( song(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( item(X) ):- sem_sort(X,item).
|
||||||
|
-- sort_restr( current_song(X) ):- sem_sort(X,song).
|
||||||
|
-- sort_restr( what_to_play(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( itemRem(X) ):- sem_sort(X,index).
|
||||||
|
-- sort_restr( groupToAdd(X) ):- group( X ).
|
||||||
|
-- sort_restr( artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( group(X) ):- group( X ).
|
||||||
|
-- sort_restr( song_artist(X) ):- group( X ).
|
||||||
|
-- sort_restr( album(X) ):- album( X ).
|
||||||
|
-- sort_restr( artists_song(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( artists_album(X) ):- group_atom( X ).
|
||||||
|
-- sort_restr( albums_by_artist(X) ):- album_atom( X ).
|
||||||
|
-- sort_restr( songs_by_artist(X) ):- song_atom( X ).
|
||||||
|
-- sort_restr( station(X) ):- radio_station( X ).
|
||||||
|
-- sort_restr( year(X) ):- sem_sort( X, year ).
|
||||||
|
-- sort_restr( path(X) ):- atomic( X ).%,format("hallå: ~w\n",[X]).
|
||||||
|
-- %sort_restr( X^path(X) ):- atomic( X ),format("hallå: ~w\n",[X]).
|
||||||
|
-- sort_restr( not path(X) ):- format("hallå: ~w\n",[X]), atomic( X ).
|
||||||
|
-- sort_restr( fail(Path^path(Path),no_matches) ).
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
|
||||||
|
-- Because of differing linearisations in User and System usage these functions are not linearized in Shared.
|
||||||
|
|
||||||
|
askArtist = "låtar" ;
|
||||||
|
|
||||||
|
|
||||||
|
askSong = "artister" ;
|
||||||
|
askCurrent = ["låten som spelas nu"];
|
||||||
|
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
whatSongQuestion = ["vilken sång menar du"];
|
||||||
|
whatArtistQuestion = ["vilken artist menar du"];
|
||||||
|
whatIndexQuestion = ["vilket index nummer vill du spela"];
|
||||||
|
whatToRemoveQuestion = ["vilken sång vill du ta bort från spellistan"];
|
||||||
|
whatStationQuestion = ["vilken radiostation vill du lyssna på"];
|
||||||
|
whatAlbumQuestion = ["vilket album menar du"];
|
||||||
|
whatToPlayQuestion = ["vad i spellistan vill du spela"];
|
||||||
|
whatToRemove = ["vad i spellistan vill du ta bort"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
addedToPlaylist = ["spellistan är utökad"];
|
||||||
|
removedFromPLaylist = ["spellistan är reducerad"];
|
||||||
|
clearedPlaylist = ["spellistan är rensad"];
|
||||||
|
turnedUpVolume = ["höjer volymen"];
|
||||||
|
loweredVolume = ["sänker volymen"];
|
||||||
|
startingThePlayer = ["startar uppspelningen"];
|
||||||
|
stoppingThePlayer = ["spelaren är stoppad"];
|
||||||
|
pausingThePlayer = ["pausar uppspelningen"];
|
||||||
|
resumingThePlayer = ["återupptar uppspelningen"];
|
||||||
|
shuffleTheList = ["spellistan har blandats"];
|
||||||
|
ffing = ["spolar frammåt"];
|
||||||
|
rewinding = ["spolar bakåt"];
|
||||||
|
handlingstations = ["klar med att välja radiostation"];
|
||||||
|
handlingplayer = ["jag fixar"];
|
||||||
|
handlingplaylist = ["klar med spellistan"];
|
||||||
|
showedList = ["spellistan är visad"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
682015
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/TestDomainSwe.gf
Normal file
682015
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/TestDomainSwe.gf
Normal file
File diff suppressed because it is too large
Load Diff
19
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomain.gf
Normal file
19
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomain.gf
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
-- SWEDISH VERSION, UNCOMMENT WHEN NEEDED
|
||||||
|
----# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
|
||||||
|
-- ENGLISH VERSION, UNCOMMENT WHEN NEEDED
|
||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resorce/Media/Swedish:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
|
||||||
|
abstract userDomain = userCore, sharedDomain ** {
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
-- CompoundedAnswers
|
||||||
|
|
||||||
|
answerSongArtistPlay : Song -> Artist -> AnswerList playTask;
|
||||||
|
answerSongArtistAdd : Song -> Artist -> AnswerList addTask;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
29
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomainEng.gf
Normal file
29
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomainEng.gf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resource/Media/English:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
concrete userDomainEng of userDomain = userCoreEng, sharedDomainEng ** {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerSongArtistPlay song artist = {s = variants {(song.s ++ "with" ++ artist.s)
|
||||||
|
; (artist.s ++ "with" ++ song.s)} };
|
||||||
|
|
||||||
|
answerSongArtistAdd song artist = {s = variants {(song.s ++ "with" ++ artist.s)
|
||||||
|
; (artist.s ++ "with" ++ song.s)} };
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
askArtist = variants { ["what do i have"] ; ["what songs do i have"] ; ["do i have anything"]}
|
||||||
|
++ variants {"with" ; "by"};
|
||||||
|
|
||||||
|
|
||||||
|
askSong = ["who"] ++ variants {"made"; "wrote"};
|
||||||
|
|
||||||
|
askCurrent = ["what"] ++ variants {["song is this"] ; ["is this called"]};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
15
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomainPro.gf
Normal file
15
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomainPro.gf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/English/:../../../Resource/Media/Swedish:../../../Resorce/Media/Swedish:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
concrete userDomainPro of userDomain = userCorePro, sharedDomainPro ** {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
answerSongArtistPlay song artist = { s = ["answer ( item ("] ++ song.s ++ [" ) ) ,"] ++
|
||||||
|
["answer ( group ("] ++ artist.s ++ [") )"]};
|
||||||
|
answerSongArtistAdd song artist = { s = ["answer ( item ("] ++ song.s ++ [" ) ) ,"] ++
|
||||||
|
["answer ( group ("] ++ artist.s ++ [") )"]};
|
||||||
|
}
|
||||||
29
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomainSwe.gf
Normal file
29
grammars/TALK/GF_GoDiS/Domain/DJGoDiS/User/userDomainSwe.gf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Media/:../../../Resource/Media/Swedish/:../../../Resorce/Media/English:../../../Resource/Numbers/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
|
||||||
|
concrete userDomainSwe of userDomain = userCoreSwe, sharedDomainSwe ** {
|
||||||
|
|
||||||
|
flags conversion=finite;
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerSongArtistPlay song artist = {s = variants {(song.s ++ "med" ++ artist.s)
|
||||||
|
; (artist.s ++ "med" ++ song.s)} };
|
||||||
|
|
||||||
|
answerSongArtistAdd song artist = {s = variants {(song.s ++ "med" ++ artist.s)
|
||||||
|
; (artist.s ++ "med" ++ song.s)} };
|
||||||
|
|
||||||
|
|
||||||
|
pattern
|
||||||
|
askArtist = variants { ["vad har jag"] ; ["vilka låtar har jag"] ; ["har jag någonting"]}
|
||||||
|
++ variants {"med" ; "av"};
|
||||||
|
|
||||||
|
|
||||||
|
askSong = ["vem har"] ++ variants {"skrivit"; "gjort"};
|
||||||
|
|
||||||
|
askCurrent = ["vad heter"] ++ variants {["den här"] ; ["låten som spelas nu"]};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
27
grammars/TALK/GF_GoDiS/Domain/SpecResEng.gf
Normal file
27
grammars/TALK/GF_GoDiS/Domain/SpecResEng.gf
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-- A file with Pointers...
|
||||||
|
-- With pointers I mean the phrases that point out a specific semantics of a segment.
|
||||||
|
-- Example "I want to listen to the artist Sting" where "the artist" makes clear
|
||||||
|
-- that "Sting" is an artist and not a song for instance.
|
||||||
|
|
||||||
|
resource SpecResEng = {
|
||||||
|
|
||||||
|
param ListInfo = Numeric | Ordered ;
|
||||||
|
param ItemChoice = Artist | Song | Post;
|
||||||
|
|
||||||
|
oper listForm : ListInfo => Str
|
||||||
|
= table {
|
||||||
|
Numeric => ["number"];
|
||||||
|
Ordered => ["the"]
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
oper itemForm : ItemChoice => Str
|
||||||
|
= table {
|
||||||
|
Artist => ["the artist"];
|
||||||
|
Song => ["the song"];
|
||||||
|
Post => ""
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
27
grammars/TALK/GF_GoDiS/Domain/SpecResSwe.gf
Normal file
27
grammars/TALK/GF_GoDiS/Domain/SpecResSwe.gf
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
-- A file with Pointers...
|
||||||
|
-- With pointers I mean the phrases that point out a specific semantics of a segment.
|
||||||
|
-- Example "I want to listen to the artist Sting" where "the artist" makes clear
|
||||||
|
-- that "Sting" is an artist and not a song for instance.
|
||||||
|
|
||||||
|
resource SpecResSwe = {
|
||||||
|
|
||||||
|
param ListInfo = Numeric | Ordered ;
|
||||||
|
param ItemChoice = Artist | Song | Post;
|
||||||
|
|
||||||
|
oper listForm : ListInfo => Str
|
||||||
|
= table {
|
||||||
|
Numeric => ["nummer"];
|
||||||
|
Ordered => ["den"]
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
oper itemForm : ItemChoice => Str
|
||||||
|
= table {
|
||||||
|
Artist => "artisten";
|
||||||
|
Song => "låten";
|
||||||
|
Post => ""
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/deLux/DB.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/deLux/DB.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Home
|
||||||
|
|
||||||
|
abstract DB = Lamps, Rooms ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/deLux/DBEng.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/deLux/DBEng.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Home
|
||||||
|
|
||||||
|
concrete DBEng of DB= LampsEng, RoomsEng ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/deLux/DBPro.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/deLux/DBPro.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Home
|
||||||
|
|
||||||
|
concrete DBPro of DB= LampsPro, RoomsPro ** {
|
||||||
|
|
||||||
|
}
|
||||||
5
grammars/TALK/GF_GoDiS/Domain/deLux/DBSwe.gf
Normal file
5
grammars/TALK/GF_GoDiS/Domain/deLux/DBSwe.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
--# -path=.:../../Resource/Home
|
||||||
|
|
||||||
|
concrete DBSwe of DB= LampsSwe, RoomsSwe ** {
|
||||||
|
|
||||||
|
}
|
||||||
50
grammars/TALK/GF_GoDiS/Domain/deLux/Shared/sharedDomain.gf
Normal file
50
grammars/TALK/GF_GoDiS/Domain/deLux/Shared/sharedDomain.gf
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
abstract sharedDomain = sharedCore, DB ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
answerLampOn : Lamp -> Proposition onTask;
|
||||||
|
answerLampOff : Lamp -> Proposition offTask;
|
||||||
|
|
||||||
|
answerLocation : Room -> Proposition locateTask;
|
||||||
|
|
||||||
|
-- Ask Answers
|
||||||
|
questionWhichLamp : Lamp -> Proposition lampQuestion;
|
||||||
|
questionLocation : Room -> Proposition locQuestion;
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
onTask : Task;
|
||||||
|
offTask : Task;
|
||||||
|
locateTask : Task;
|
||||||
|
lampQuestion : Task;
|
||||||
|
locQuestion : Task;
|
||||||
|
|
||||||
|
turnOn : Action onTask;
|
||||||
|
turnOff : Action offTask;
|
||||||
|
|
||||||
|
turnOnThis : SingleAction;
|
||||||
|
turnOffThis : SingleAction;
|
||||||
|
|
||||||
|
dimmerUp : SingleAction;
|
||||||
|
dimmerDown : SingleAction;
|
||||||
|
|
||||||
|
--askLamp : Ask lampQuestion;
|
||||||
|
--askLocation : Ask locQuestion;
|
||||||
|
|
||||||
|
askStatusLamp : SingleAsk;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
|
||||||
|
concrete sharedDomainEng of sharedDomain = sharedCoreEng, DBEng **
|
||||||
|
open SpecResEng in {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
answerLampOn lamp = {s = lamp.s};
|
||||||
|
answerLampOff lamp = {s = lamp.s};
|
||||||
|
answerLocation loc = {s = loc.s};
|
||||||
|
|
||||||
|
questionWhichLamp lamp = {s = lamp.s};
|
||||||
|
questionLocation loc = {s = loc.s};
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
turnOn = ["turn on"];
|
||||||
|
turnOff = ["turn off"];
|
||||||
|
|
||||||
|
turnOnThis = ["turn on"];
|
||||||
|
turnOffThis = ["turn off"];
|
||||||
|
|
||||||
|
dimmerUp = ["dim up"];
|
||||||
|
dimmerDown = ["dim down"];
|
||||||
|
|
||||||
|
--askLamp = ["do i have a"];
|
||||||
|
--askLocation = ["is there a"];
|
||||||
|
|
||||||
|
askStatusLamp = ["what lights are on"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
concrete sharedDomainPro of sharedDomain = sharedCorePro, DBPro ** {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
answerLampOn lamp = {s = lamp.s};
|
||||||
|
answerLampOff lamp = {s = lamp.s};
|
||||||
|
answerLocation loc = {s = loc.s};
|
||||||
|
|
||||||
|
questionWhichLamp lamp = {s = lamp.s};
|
||||||
|
questionLocation loc = {s = loc.s};
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
turnOn = "turnOn";
|
||||||
|
turnOff = "turnOff";
|
||||||
|
|
||||||
|
turnOnThis = "turnOn_closest";
|
||||||
|
turnOffThis = "turnOff_closest";
|
||||||
|
|
||||||
|
dimmerUp = "dimmer_up";
|
||||||
|
dimmerDown = "dimmer_down";
|
||||||
|
|
||||||
|
--askLamp = "lamps";
|
||||||
|
--askLocation = "locations";
|
||||||
|
|
||||||
|
askStatusLamp = "status";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
concrete sharedDomainSwe of sharedDomain = sharedCoreSwe, DBSwe ** {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
answerLampOn lamp = {s = lamp.s};
|
||||||
|
answerLampOff lamp = {s = lamp.s};
|
||||||
|
answerLocation loc = {s = loc.s};
|
||||||
|
|
||||||
|
questionWhichLamp lamp = {s = lamp.s};
|
||||||
|
questionLocation loc = {s = loc.s};
|
||||||
|
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
turnOn = "tända";
|
||||||
|
turnOff = "släcka";
|
||||||
|
|
||||||
|
turnOnThis = "tända";
|
||||||
|
turnOffThis = "släcka";
|
||||||
|
|
||||||
|
dimmerUp = ["dimma upp"];
|
||||||
|
dimmerDown = ["dimma ner"];
|
||||||
|
|
||||||
|
--askLamp = ["har jag en"];
|
||||||
|
--askLocation = ["finns det ett"];
|
||||||
|
|
||||||
|
askStatusLamp = ["vilka lampor är tända"];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
58
grammars/TALK/GF_GoDiS/Domain/deLux/Shared/sharedSpecific.gf
Normal file
58
grammars/TALK/GF_GoDiS/Domain/deLux/Shared/sharedSpecific.gf
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
abstract sharedDomain = sharedCore, DB ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- ANSWERS
|
||||||
|
|
||||||
|
|
||||||
|
-- Ett alternativ är att gära en Task för varje action som
|
||||||
|
-- finns i domänen. Alltså En erase Task, en play Task och en add Task
|
||||||
|
-- på det sattet kan man gora funktioner som tar "nummer fem" och gör en
|
||||||
|
-- "Object play" och en "Object erase" men inte en "Object add".
|
||||||
|
|
||||||
|
-- Request Answers
|
||||||
|
|
||||||
|
answerLampOn : Lamp -> Object onTask;
|
||||||
|
answerLampOff : Lamp -> Object offTask;
|
||||||
|
|
||||||
|
answerLocation : Location -> Object locateTask;
|
||||||
|
|
||||||
|
-- Ask Answers
|
||||||
|
questionWhichLamp : Lamp -> Object lampQuestion;
|
||||||
|
questionLocation : Location -> Object locQuestion;
|
||||||
|
|
||||||
|
-- LEXICON
|
||||||
|
|
||||||
|
onTask : Task;
|
||||||
|
offTask : Task;
|
||||||
|
locateTask : Task;
|
||||||
|
lampQuestion : Task;
|
||||||
|
locQuestion : Task;
|
||||||
|
|
||||||
|
turnOn : Action onTask;
|
||||||
|
turnOff : Action offTask;
|
||||||
|
|
||||||
|
turnOnThis : SingleAction;
|
||||||
|
turnOffThis : SingleAction;
|
||||||
|
|
||||||
|
dimmerUp : SingleAction;
|
||||||
|
dimmerDown : SingleAction;
|
||||||
|
|
||||||
|
--askLamp : Ask lampQuestion;
|
||||||
|
--askLocation : Ask locQuestion;
|
||||||
|
|
||||||
|
askStatusLamp : SingleAsk;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
34
grammars/TALK/GF_GoDiS/Domain/deLux/System/systemDomain.gf
Normal file
34
grammars/TALK/GF_GoDiS/Domain/deLux/System/systemDomain.gf
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
abstract systemDomain = sharedDomain, systemCore ** {
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- PROPOSITIONS.
|
||||||
|
--
|
||||||
|
|
||||||
|
|
||||||
|
lampProp : Lamp -> Proposition onTask;
|
||||||
|
locProp : Room -> Proposition onTask;
|
||||||
|
|
||||||
|
whatToTurnOffProp : Lamp -> Proposition offTask;
|
||||||
|
whatToTurnOnProp : Lamp -> Proposition onTask;
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
whatLampQuestion : SingleAsk; -- "what song do you mean?"
|
||||||
|
whatLocQuestion : SingleAsk; -- "what artist do you mean?"
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
turnedOnLamp : Confirm;
|
||||||
|
turnedOffLamp : Confirm;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
--# -path=.:../:../DBase/:../Shared
|
||||||
|
|
||||||
|
|
||||||
|
concrete systemDomainEng of systemDomain = sharedDomainEng, systemCoreEng ** {
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
lampProp lamp = { s = lamp.s };
|
||||||
|
locProp loc = { s = loc.s };
|
||||||
|
|
||||||
|
whatToTurnOffProp lamp = { s = lamp.s };
|
||||||
|
whatToTurnOnProp lamp = { s = lamp.s };
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
|
||||||
|
whatLampQuestion = ["what lamp do you mean"];
|
||||||
|
whatLocQuestion = ["what room do you mean"];
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
turnedOnLamp = ["the light is on"];
|
||||||
|
turnedOffLamp = ["the light is turned off"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
concrete systemDomainPro of systemDomain = sharedDomainPro, systemCorePro ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
lampProp lamp = { s = lamp.s };
|
||||||
|
locProp loc = { s = loc.s };
|
||||||
|
|
||||||
|
whatToTurnOffProp lamp = { s = lamp.s };
|
||||||
|
whatToTurnOnProp lamp = { s = lamp.s };
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
|
||||||
|
whatLampQuestion = ["X^lamp(X)"];
|
||||||
|
whatLocQuestion = ["X^loc(X)"];
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
turnedOnLamp = ["turnOn"];
|
||||||
|
turnedOffLamp = ["turnOff"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/System
|
||||||
|
|
||||||
|
concrete systemDomainSwe of systemDomain = sharedDomainSwe, systemCoreSwe ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- PROPOSITIONS
|
||||||
|
|
||||||
|
lampProp lamp = { s = lamp.s };
|
||||||
|
locProp loc = { s = loc.s };
|
||||||
|
|
||||||
|
whatToTurnOffProp lamp = { s = lamp.s };
|
||||||
|
whatToTurnOnProp lamp = { s = lamp.s };
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
-- Asks
|
||||||
|
|
||||||
|
whatLampQuestion = ["vilken lampa menar du"];
|
||||||
|
whatLocQuestion = ["vilket rum menar du"];
|
||||||
|
|
||||||
|
-- Confirms
|
||||||
|
|
||||||
|
turnedOnLamp = ["lampan är tänd"];
|
||||||
|
turnedOffLamp = ["lampan är släckt"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
13
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomain.gf
Normal file
13
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomain.gf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
abstract userDomain = userCore, sharedDomain ** {
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
-- CompoundedAnswers
|
||||||
|
|
||||||
|
answerLampLocTurnOn : Lamp -> Room -> AnswerList onTask;
|
||||||
|
answerLampLocTurnOff : Lamp -> Room -> AnswerList offTask;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
12
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomainEng.gf
Normal file
12
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomainEng.gf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
concrete userDomainEng of userDomain = userCoreEng, sharedDomainEng ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerLampLocTurnOn lamp loc = {s = lamp.s ++ "in" ++ loc.s};
|
||||||
|
|
||||||
|
answerLampLocTurnOff lamp loc = {s = lamp.s ++ "in" ++ loc.s};
|
||||||
|
}
|
||||||
14
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomainPro.gf
Normal file
14
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomainPro.gf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
concrete userDomainPro of userDomain = userCorePro, sharedDomainPro ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerLampLocTurnOn lamp loc = {s = "answer(lamp(" ++ lamp.s ++ ")," ++
|
||||||
|
"answer(loc(" ++ loc.s ++ ")"};
|
||||||
|
|
||||||
|
answerLampLocTurnOff lamp loc = {s = "answer(lamp(" ++ lamp.s ++ ")," ++
|
||||||
|
"answer(loc(" ++ loc.s ++ ")"};
|
||||||
|
|
||||||
|
}
|
||||||
11
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomainSwe.gf
Normal file
11
grammars/TALK/GF_GoDiS/Domain/deLux/User/userDomainSwe.gf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
--# -path=.:../:../../:../Shared/:../../../Resource/Home/:../../../Core:../../../Core/Shared/:../../../Core/User
|
||||||
|
|
||||||
|
concrete userDomainSwe of userDomain = userCoreSwe, sharedDomainSwe ** {
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
-- CompoundedAnswers
|
||||||
|
answerLampLocTurnOn lamp loc = {s = lamp.s ++ "i" ++ loc.s};
|
||||||
|
|
||||||
|
answerLampLocTurnOff lamp loc = {s = lamp.s ++ "i" ++ loc.s};
|
||||||
|
}
|
||||||
37
grammars/TALK/GF_GoDiS/Resource/Events_Locations/DB.gf
Normal file
37
grammars/TALK/GF_GoDiS/Resource/Events_Locations/DB.gf
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
abstract DB = {
|
||||||
|
|
||||||
|
cat
|
||||||
|
Event;
|
||||||
|
Location;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- anEvent : Event;
|
||||||
|
meeting : Event;
|
||||||
|
presentation : Event;
|
||||||
|
date : Event;
|
||||||
|
lecture : Event;
|
||||||
|
|
||||||
|
{-
|
||||||
|
appointment : Event;
|
||||||
|
class : Event;
|
||||||
|
converence : Event;
|
||||||
|
hairdresser : Event;
|
||||||
|
dentist : Event;
|
||||||
|
party : Event;
|
||||||
|
deadline : Event;
|
||||||
|
-}
|
||||||
|
|
||||||
|
-- aLocation : Location;
|
||||||
|
plaza : Location;
|
||||||
|
station : Location;
|
||||||
|
university : Location;
|
||||||
|
{-
|
||||||
|
fair : Location;
|
||||||
|
ritz : Location;
|
||||||
|
cafe : Location;
|
||||||
|
-}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
17
grammars/TALK/GF_GoDiS/Resource/Events_Locations/DBPro.gf
Normal file
17
grammars/TALK/GF_GoDiS/Resource/Events_Locations/DBPro.gf
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
concrete DBPro of DB = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
-- anEvent = "EVENT";
|
||||||
|
meeting = "meeting";
|
||||||
|
presentation = "presentation";
|
||||||
|
date = "appointment";
|
||||||
|
lecture = "lecture";
|
||||||
|
|
||||||
|
|
||||||
|
-- aLocation = "LOCATION";
|
||||||
|
plaza = "plaza";
|
||||||
|
station = "station";
|
||||||
|
university = "university";
|
||||||
|
|
||||||
|
}
|
||||||
29
grammars/TALK/GF_GoDiS/Resource/Events_Locations/DBSwe.gf
Normal file
29
grammars/TALK/GF_GoDiS/Resource/Events_Locations/DBSwe.gf
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
concrete DBSwe of DB = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
|
||||||
|
-- anEvent = "EVENT";
|
||||||
|
meeting = ["ett möte"];
|
||||||
|
presentation = ["en presentation"];
|
||||||
|
date = ["en träff"];
|
||||||
|
lecture = ["en lektion"];
|
||||||
|
|
||||||
|
-- aLocation = "LOCATION";
|
||||||
|
plaza = ["på plaza"];
|
||||||
|
station = ["på stationen"];
|
||||||
|
university = ["på universitetet"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
14
grammars/TALK/GF_GoDiS/Resource/Home/Lamps.gf
Normal file
14
grammars/TALK/GF_GoDiS/Resource/Home/Lamps.gf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
abstract Lamps = {
|
||||||
|
|
||||||
|
cat Lamp;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
--aLamp : Lamp;
|
||||||
|
ceilinglamp : Lamp;
|
||||||
|
tablelamp : Lamp;
|
||||||
|
desklamp : Lamp;
|
||||||
|
floorlamp : Lamp;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
12
grammars/TALK/GF_GoDiS/Resource/Home/LampsEng.gf
Normal file
12
grammars/TALK/GF_GoDiS/Resource/Home/LampsEng.gf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
concrete LampsEng of Lamps = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
--aLamp = "LIGHT";
|
||||||
|
ceilinglamp = ["the ceiling light"];
|
||||||
|
tablelamp = ["the table light"];
|
||||||
|
desklamp = ["the desk light"];
|
||||||
|
floorlamp = ["the floor light"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
11
grammars/TALK/GF_GoDiS/Resource/Home/LampsPro.gf
Normal file
11
grammars/TALK/GF_GoDiS/Resource/Home/LampsPro.gf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
concrete LampsPro of Lamps = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
--aLamp = "LIGHT";
|
||||||
|
ceilinglamp = "[ceilinglamp]";
|
||||||
|
tablelamp = "[tablelamp]";
|
||||||
|
desklamp = "[desklamp]";
|
||||||
|
floorlamp = "[floorlamp]";
|
||||||
|
|
||||||
|
}
|
||||||
11
grammars/TALK/GF_GoDiS/Resource/Home/LampsSwe.gf
Normal file
11
grammars/TALK/GF_GoDiS/Resource/Home/LampsSwe.gf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
concrete LampsSwe of Lamps = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
--aLamp = "LAMPA";
|
||||||
|
ceilinglamp = variants{"taklampan" ; ["en taklampa"]};
|
||||||
|
tablelamp = variants{ "bordslampan" ; ["en bordslampa"]};
|
||||||
|
desklamp = variants{ "skrivbordslampan" ; ["en skrivbordslampa"]};
|
||||||
|
floorlamp = variants{ "golvlampan" ; ["en golvlampa"]};
|
||||||
|
|
||||||
|
}
|
||||||
15
grammars/TALK/GF_GoDiS/Resource/Home/Rooms.gf
Normal file
15
grammars/TALK/GF_GoDiS/Resource/Home/Rooms.gf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
abstract Rooms = {
|
||||||
|
|
||||||
|
cat Room;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
--aRoom : Room;
|
||||||
|
kitchen : Room;
|
||||||
|
bedroom : Room;
|
||||||
|
hall : Room;
|
||||||
|
livingroom : Room;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
12
grammars/TALK/GF_GoDiS/Resource/Home/RoomsEng.gf
Normal file
12
grammars/TALK/GF_GoDiS/Resource/Home/RoomsEng.gf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
concrete RoomsEng of Rooms = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
--aRoom = "ROOM";
|
||||||
|
kitchen = ["the kitchen"];
|
||||||
|
bedroom = ["the bedroom"];
|
||||||
|
hall = ["the hall"];
|
||||||
|
livingroom = ["the living room"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
11
grammars/TALK/GF_GoDiS/Resource/Home/RoomsPro.gf
Normal file
11
grammars/TALK/GF_GoDiS/Resource/Home/RoomsPro.gf
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
concrete RoomsPro of Rooms = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
--aLocation = "ROOM";
|
||||||
|
kitchen = "[kitchen]";
|
||||||
|
bedroom = "[bedroom]";
|
||||||
|
hall = "[hall]";
|
||||||
|
livingroom = "[livingroom]";
|
||||||
|
|
||||||
|
}
|
||||||
12
grammars/TALK/GF_GoDiS/Resource/Home/RoomsSwe.gf
Normal file
12
grammars/TALK/GF_GoDiS/Resource/Home/RoomsSwe.gf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
concrete RoomsSwe of Rooms = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
--aRoom = "RUM";
|
||||||
|
kitchen = "köket";
|
||||||
|
bedroom = "sovrumet";
|
||||||
|
hall = "hallen";
|
||||||
|
livingroom = "vardagsrumet";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
abstract EnglishAlbums = {
|
||||||
|
|
||||||
|
cat Album;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
london_calling_album : Album;
|
||||||
|
singles_album : Album;
|
||||||
|
wish_album : Album;
|
||||||
|
in_the_city_album : Album;
|
||||||
|
the_sidewinder_album : Album;
|
||||||
|
the_immaculate_collection_album : Album;
|
||||||
|
lets_get_it_on_album : Album;
|
||||||
|
mezzanine_album : Album;
|
||||||
|
protection_album : Album;
|
||||||
|
heads_high_album : Album;
|
||||||
|
every_good_boy_deserves_fudge_album : Album;
|
||||||
|
please_album : Album;
|
||||||
|
doolittle_album : Album;
|
||||||
|
music_for_the_jilted_generation_album : Album;
|
||||||
|
swedish_classics : Album;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
concrete EnglishAlbumsEng of EnglishAlbums = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
london_calling_album = ["london calling"];
|
||||||
|
singles_album = ["singles"];
|
||||||
|
wish_album = ["wish"];
|
||||||
|
in_the_city_album = ["in the city"];
|
||||||
|
the_sidewinder_album = ["the sidewinder"];
|
||||||
|
the_immaculate_collection_album = ["the immaculate collection"];
|
||||||
|
lets_get_it_on_album = ["lets get it on"];
|
||||||
|
mezzanine_album = ["mezzanine"];
|
||||||
|
protection_album = ["protection"];
|
||||||
|
heads_high_album = ["heads high"];
|
||||||
|
every_good_boy_deserves_fudge_album = ["every good boy deserves fudge"];
|
||||||
|
please_album = ["please"];
|
||||||
|
doolittle_album = ["doolittle"];
|
||||||
|
music_for_the_jilted_generation_album = ["music for the jilted generation"];
|
||||||
|
swedish_classics = ["swedish classics"];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
concrete EnglishAlbumsPro of EnglishAlbums = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
london_calling_album = "[london,calling]";
|
||||||
|
singles_album = "[singles]";
|
||||||
|
wish_album = "[wish]";
|
||||||
|
in_the_city_album = "[in,the,city]";
|
||||||
|
the_sidewinder_album = "[the,sidewinder]";
|
||||||
|
the_immaculate_collection_album = "[the,immaculate,collection]";
|
||||||
|
lets_get_it_on_album = "[lets,get,it,on]";
|
||||||
|
mezzanine_album = "[mezzanine]";
|
||||||
|
protection_album = "[protection]";
|
||||||
|
heads_high_album = "[heads,high]";
|
||||||
|
every_good_boy_deserves_fudge_album = "[every,good,boy,deserves,fudge]";
|
||||||
|
please_album = "[please]";
|
||||||
|
doolittle_album = "[doolittle]";
|
||||||
|
music_for_the_jilted_generation_album = "[music,for,the,jilted,generation]";
|
||||||
|
swedish_classics = "[svenska,klassiker]";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
abstract EnglishArtists = {
|
||||||
|
|
||||||
|
cat
|
||||||
|
|
||||||
|
Artist;
|
||||||
|
|
||||||
|
fun
|
||||||
|
-- ENGELSKA
|
||||||
|
|
||||||
|
-- ARTIST
|
||||||
|
beborn_beton : Artist;
|
||||||
|
clash : Artist;
|
||||||
|
covenant : Artist;
|
||||||
|
cure : Artist;
|
||||||
|
enigma : Artist;
|
||||||
|
garbage : Artist;
|
||||||
|
jam : Artist;
|
||||||
|
kate_bush : Artist;
|
||||||
|
lee_morgan : Artist;
|
||||||
|
madonna : Artist;
|
||||||
|
marvin_gaye : Artist;
|
||||||
|
massive_attack : Artist;
|
||||||
|
michael_jackson : Artist;
|
||||||
|
morlocks : Artist;
|
||||||
|
morrisey : Artist;
|
||||||
|
mr_vegas : Artist;
|
||||||
|
mudhoney : Artist;
|
||||||
|
nitzer_ebb : Artist;
|
||||||
|
pain : Artist;
|
||||||
|
pet_shop_boys : Artist;
|
||||||
|
pixies : Artist;
|
||||||
|
prodigy : Artist;
|
||||||
|
project_pitchfork : Artist;
|
||||||
|
vnv_nation : Artist;
|
||||||
|
britney_spears : Artist;
|
||||||
|
usher : Artist;
|
||||||
|
fifty_cent : Artist;
|
||||||
|
green_day : Artist;
|
||||||
|
billy_idol : Artist;
|
||||||
|
elvis_presley : Artist;
|
||||||
|
shania_twain : Artist;
|
||||||
|
trace_adkins : Artist;
|
||||||
|
the_chemical_brothers : Artist;
|
||||||
|
eminem : Artist;
|
||||||
|
ozzy_osbourne : Artist;
|
||||||
|
norah_jones : Artist;
|
||||||
|
jessica_simpson : Artist;
|
||||||
|
guns_and_roses : Artist;
|
||||||
|
europe : Artist;
|
||||||
|
led_zeppelin : Artist;
|
||||||
|
the_cardigans : Artist;
|
||||||
|
ace_of_base : Artist;
|
||||||
|
atomic_swing : Artist;
|
||||||
|
jessica_simpson : Artist;
|
||||||
|
creeps : Artist;
|
||||||
|
eagle_eye_cherry : Artist;
|
||||||
|
stephen_simmonds : Artist;
|
||||||
|
the_ark : Artist;
|
||||||
|
trance_dance : Artist;
|
||||||
|
vacuum : Artist;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
concrete EnglishArtistsEng of EnglishArtists = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
beborn_beton = ["beborn beton"];
|
||||||
|
clash = "clash";
|
||||||
|
covenant = "covenant";
|
||||||
|
cure = "cure";
|
||||||
|
enigma = "enigma";
|
||||||
|
garbage = "garbage";
|
||||||
|
jam = "jam";
|
||||||
|
kate_bush = ["kate bush"];
|
||||||
|
lee_morgan = ["lee morgan"];
|
||||||
|
madonna = "madonna";
|
||||||
|
marvin_gaye = ["mavin gaye"];
|
||||||
|
massive_attack = ["massive attack"];
|
||||||
|
michael_jackson = ["michael jackson"];
|
||||||
|
morlocks = "morlocks";
|
||||||
|
morrisey = "morrisey";
|
||||||
|
mr_vegas = ["mister vegas"];
|
||||||
|
mudhoney = "mudhoney";
|
||||||
|
nitzer_ebb = ["nitzer ebb"];
|
||||||
|
pain = "pain";
|
||||||
|
pet_shop_boys = ["pet shop boys"];
|
||||||
|
pixies = "pixies";
|
||||||
|
prodigy = "prodigy";
|
||||||
|
project_pitchfork = ["project pitchfork"];
|
||||||
|
vnv_nation = ["vnv nation"];
|
||||||
|
britney_spears = ["britney spears"];
|
||||||
|
usher = "usher";
|
||||||
|
fifty_cent = ["fifty cent"];
|
||||||
|
green_day = ["green day"];
|
||||||
|
billy_idol = ["billy idol"];
|
||||||
|
elvis_presley = ["elvis presley"];
|
||||||
|
shania_twain = ["shania twain"];
|
||||||
|
trace_adkins = ["trace adkins"];
|
||||||
|
the_chemical_brothers = ["the chemical brothers"];
|
||||||
|
eminem = "eminem";
|
||||||
|
ozzy_osbourne = ["ozzy osbourne"];
|
||||||
|
norah_jones = ["norah jones"];
|
||||||
|
jessica_simpson = ["jessica simpson"];
|
||||||
|
guns_and_roses = ["guns and roses"];
|
||||||
|
europe = "europe";
|
||||||
|
led_zeppelin = ["led zeppelin"];
|
||||||
|
the_cardigans = ["the cardigans"];
|
||||||
|
ace_of_base = ["ace of base"];
|
||||||
|
atomic_swing = ["atomic swing"];
|
||||||
|
jessica_simpson = ["jessica simpson"];
|
||||||
|
creeps = "creeps";
|
||||||
|
eagle_eye_cherry = ["eagle eye cherry"];
|
||||||
|
stephen_simmonds = ["stephen simmonds"];
|
||||||
|
the_ark = ["the ark"];
|
||||||
|
trance_dance = ["trance dance"];
|
||||||
|
vacuum = "vacuum";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
concrete EnglishArtistsPro of EnglishArtists = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
beborn_beton = "[beborn,beton]";
|
||||||
|
clash = "[clash]";
|
||||||
|
covenant = "[covenant]";
|
||||||
|
cure = "[cure]";
|
||||||
|
enigma = "[enigma]";
|
||||||
|
garbage = "[garbage]";
|
||||||
|
jam = "[jam]";
|
||||||
|
kate_bush = "[kate,bush]";
|
||||||
|
lee_morgan = "[lee,morgan]";
|
||||||
|
madonna = "[madonna]";
|
||||||
|
marvin_gaye = "[mavin,gaye]";
|
||||||
|
massive_attack = "[massive,attack]";
|
||||||
|
michael_jackson = "[michael,jackson]";
|
||||||
|
morlocks = "[morlocks]";
|
||||||
|
morrisey = "[morrisey]";
|
||||||
|
mr_vegas = "[mister,vegas]";
|
||||||
|
mudhoney = "[mudhoney]";
|
||||||
|
nitzer_ebb = "[nitzer,ebb]";
|
||||||
|
pain = "[pain]";
|
||||||
|
pet_shop_boys = "[pet,shop,boys]";
|
||||||
|
pixies = "[pixies]";
|
||||||
|
prodigy = "[prodigy]";
|
||||||
|
project_pitchfork = "[project,pitchfork]";
|
||||||
|
vnv_nation = "[vnv,nation]";
|
||||||
|
britney_spears = "[britney,spears]";
|
||||||
|
usher = "[usher]";
|
||||||
|
fifty_cent = "[fifty,cent]";
|
||||||
|
green_day = "[green,day]";
|
||||||
|
billy_idol = "[billy,idol]";
|
||||||
|
elvis_presley = "[elvis,presley]";
|
||||||
|
shania_twain = "[shania,twain]";
|
||||||
|
trace_adkins = "[trace,adkins]";
|
||||||
|
the_chemical_brothers = "[the,chemical,brothers]";
|
||||||
|
eminem = "[eminem]";
|
||||||
|
ozzy_osbourne = "[ozzy,osbourne]";
|
||||||
|
norah_jones = "[norah,jones]";
|
||||||
|
jessica_simpson = "[jessica,simpson]";
|
||||||
|
guns_and_roses = "[guns,and,roses]";
|
||||||
|
europe = "[europe]";
|
||||||
|
led_zeppelin = "[led,zeppelin]";
|
||||||
|
the_cardigans = "[the,cardigans]";
|
||||||
|
ace_of_base = "[ace,of,base]";
|
||||||
|
atomic_swing = "[atomic,swing]";
|
||||||
|
jessica_simpson = "[jessica,simpson]";
|
||||||
|
creeps = "[creeps]";
|
||||||
|
eagle_eye_cherry = "[eagle,eye,cherry]";
|
||||||
|
stephen_simmonds = "[stephen,simmonds]";
|
||||||
|
the_ark = "[the,ark]";
|
||||||
|
trance_dance = "[trance,dance]";
|
||||||
|
vacuum = "[vacuum]";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
abstract EnglishRadioStations = {
|
||||||
|
|
||||||
|
cat Station;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
digital_gunfire : Station;
|
||||||
|
rant_radio : Station;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
concrete EnglishRadioStationsEng of EnglishRadioStations = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
digital_gunfire = ["digital gunfire"];
|
||||||
|
rant_radio = ["rant radio"];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
concrete EnglishRadioStationsPro of EnglishRadioStations = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
digital_gunfire = "[digital,gunfire]";
|
||||||
|
rant_radio = "[rant,radio]";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
abstract EnglishSongs = {
|
||||||
|
cat Song;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
another_world : Song;
|
||||||
|
deeper_than_the_usual_feeling : Song;
|
||||||
|
london_calling : Song;
|
||||||
|
should_i_stay_or_should_i_go : Song;
|
||||||
|
dead_stars : Song;
|
||||||
|
like_tears_in_rain : Song;
|
||||||
|
figurehead : Song;
|
||||||
|
leviathan : Song;
|
||||||
|
stalker : Song;
|
||||||
|
friday_im_in_love : Song;
|
||||||
|
sadness : Song;
|
||||||
|
i_think_im_paranoid : Song;
|
||||||
|
in_the_city : Song;
|
||||||
|
time_for_truth : Song;
|
||||||
|
the_man_with_the_child_in_his_eyes : Song;
|
||||||
|
totem_pole : Song;
|
||||||
|
lucky_star : Song;
|
||||||
|
material_girl : Song;
|
||||||
|
if_i_should_die_tonight : Song;
|
||||||
|
angel : Song;
|
||||||
|
teardrop : Song;
|
||||||
|
sly : Song;
|
||||||
|
sex_by_force : Song;
|
||||||
|
ars_magica : Song;
|
||||||
|
razors_through_flesh : Song;
|
||||||
|
heads_high : Song;
|
||||||
|
latest_news : Song;
|
||||||
|
good_enough : Song;
|
||||||
|
thorn : Song;
|
||||||
|
let_beauty_loose : Song;
|
||||||
|
eleanor_rigby : Song;
|
||||||
|
west_end_girls : Song;
|
||||||
|
suburbia : Song;
|
||||||
|
debaser : Song;
|
||||||
|
poison : Song;
|
||||||
|
existence : Song;
|
||||||
|
darkangel : Song;
|
||||||
|
rubicon : Song;
|
||||||
|
all_that_she_wants : Song;
|
||||||
|
the_final_countdown : Song;
|
||||||
|
stone_me_into_the_groove : Song;
|
||||||
|
oh_i_like_it : Song;
|
||||||
|
save_tonight : Song;
|
||||||
|
tears_never_dry : Song;
|
||||||
|
it_takes_a_fool_to_remain_sain : Song;
|
||||||
|
youre_gonna_get_it : Song;
|
||||||
|
i_breathe : Song;
|
||||||
|
legion : Song;
|
||||||
|
standing : Song;
|
||||||
|
like_a_prayer : Song;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
concrete EnglishSongsEng of EnglishSongs = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
another_world = ["another world"];
|
||||||
|
deeper_than_the_usual_feeling = ["deeper then the usual feeling"];
|
||||||
|
london_calling = ["london calling"];
|
||||||
|
should_i_stay_or_should_i_go = ["should i stay or should i go"];
|
||||||
|
dead_stars = ["dead stars"];
|
||||||
|
like_tears_in_rain = ["like tears in rain"];
|
||||||
|
figurehead = ["figurehead"];
|
||||||
|
leviathan = ["leviathan"];
|
||||||
|
stalker = ["stalker"];
|
||||||
|
friday_im_in_love = ["friday im in love"];
|
||||||
|
sadness = ["sadness"];
|
||||||
|
i_think_im_paranoid = ["i think im paranoid"];
|
||||||
|
in_the_city = ["in the city"];
|
||||||
|
time_for_truth = ["time for truth"];
|
||||||
|
the_man_with_the_child_in_his_eyes = ["the man with the child in his eyes"];
|
||||||
|
totem_pole = ["totem pole"];
|
||||||
|
lucky_star = ["lucky star"];
|
||||||
|
material_girl = ["material girl"];
|
||||||
|
if_i_should_die_tonight = ["if i should die tonight"];
|
||||||
|
angel = ["angel"];
|
||||||
|
teardrop = ["teardrop"];
|
||||||
|
sly = ["sly"];
|
||||||
|
sex_by_force = ["sex by force"];
|
||||||
|
ars_magica = ["ars magica"];
|
||||||
|
razors_through_flesh = ["razors through flesh"];
|
||||||
|
heads_high = ["heads high"];
|
||||||
|
latest_news = ["latest news"];
|
||||||
|
good_enough = ["good enough"];
|
||||||
|
thorn = ["thorn"];
|
||||||
|
let_beauty_loose = ["let beauty loose"];
|
||||||
|
eleanor_rigby = ["eleanor rigby"];
|
||||||
|
west_end_girls = ["west end girls"];
|
||||||
|
suburbia = ["suburbia"];
|
||||||
|
debaser = ["debaser"];
|
||||||
|
poison = ["poison"];
|
||||||
|
existence = ["existance"];
|
||||||
|
darkangel = ["darkangel"];
|
||||||
|
rubicon = ["rubicon"];
|
||||||
|
all_that_she_wants = ["all that she wants"];
|
||||||
|
the_final_countdown = ["the final countown"];
|
||||||
|
stone_me_into_the_groove = ["stone me into the groove"];
|
||||||
|
oh_i_like_it = ["oh i like it"];
|
||||||
|
save_tonight = ["save tonight"];
|
||||||
|
tears_never_dry = ["tears never dry"];
|
||||||
|
it_takes_a_fool_to_remain_sain = ["it takes s fool to remain sain"];
|
||||||
|
youre_gonna_get_it = ["youre gonna get it"];
|
||||||
|
i_breathe = ["i breathe"];
|
||||||
|
legion = ["legion"];
|
||||||
|
standing = ["standing"];
|
||||||
|
like_a_prayer = ["like a prayer"];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
concrete EnglishSongsPro of EnglishSongs = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
another_world = "[another,world]";
|
||||||
|
deeper_than_the_usual_feeling = "[deeper,then,the,usual,feeling]";
|
||||||
|
london_calling = "[london,calling]";
|
||||||
|
should_i_stay_or_should_i_go = "[should,i,stay,or,should,i,go]";
|
||||||
|
dead_stars = "[dead,stars]";
|
||||||
|
like_tears_in_rain = "[like,tears,in,rain]";
|
||||||
|
figurehead = "[figurehead]";
|
||||||
|
leviathan = "[leviathan]";
|
||||||
|
stalker = "[stalker]";
|
||||||
|
friday_im_in_love = "[friday,im,in,love]";
|
||||||
|
sadness = "[sadness]";
|
||||||
|
i_think_im_paranoid = "[i,think,im,paranoid]";
|
||||||
|
in_the_city = "[in,the,city]";
|
||||||
|
time_for_truth = "[time,for,truth]";
|
||||||
|
the_man_with_the_child_in_his_eyes = "[the,man,with,the,child,in,his,eyes]";
|
||||||
|
totem_pole = "[totem,pole]";
|
||||||
|
lucky_star = "[lucky,star]";
|
||||||
|
material_girl = "[material,girl]";
|
||||||
|
if_i_should_die_tonight = "[if,i,should,die,tonight]";
|
||||||
|
angel = "[angel]";
|
||||||
|
teardrop = "[teardrop]";
|
||||||
|
sly = "[sly]";
|
||||||
|
sex_by_force = "[sex,by,force]";
|
||||||
|
ars_magica = "[ars,magica]";
|
||||||
|
razors_through_flesh = "[razors,through,flesh]";
|
||||||
|
heads_high = "[heads,high]";
|
||||||
|
latest_news = "[latest,news]";
|
||||||
|
good_enough = "[good,enough]";
|
||||||
|
thorn = "[thorn]";
|
||||||
|
let_beauty_loose = "[let,beauty,loose]";
|
||||||
|
eleanor_rigby = "[eleanor,rigby]";
|
||||||
|
west_end_girls = "[west,end,girls]";
|
||||||
|
suburbia = "[suburbia]";
|
||||||
|
debaser = "[debaser]";
|
||||||
|
poison = "[poison]";
|
||||||
|
existence = "[existance]";
|
||||||
|
darkangel = "[darkangel]";
|
||||||
|
rubicon = "[rubicon]";
|
||||||
|
all_that_she_wants = "[all,that,she,wants]";
|
||||||
|
the_final_countdown = "[the,final,countown]";
|
||||||
|
stone_me_into_the_groove = "[stone,me,into,trh,groove]";
|
||||||
|
oh_i_like_it = "[oh,i,like,it]";
|
||||||
|
save_tonight = "[save,tonight]";
|
||||||
|
tears_never_dry = "[tears,never,dry]";
|
||||||
|
it_takes_a_fool_to_remain_sain = "[it,takes,s,fool,to,remain,sain]";
|
||||||
|
youre_gonna_get_it = "[youre,gonna,get,it]";
|
||||||
|
i_breathe = "[i,breathe]";
|
||||||
|
legion = "[legion]";
|
||||||
|
standing = "[standing]";
|
||||||
|
like_a_prayer = "[like,a,prayer]";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
abstract SwedishAlbums = {
|
||||||
|
|
||||||
|
cat Album;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
peps_one : Album;
|
||||||
|
peps_two : Album;
|
||||||
|
swedish_classics : Album;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
concrete SwedishAlbumsPro of SwedishAlbums = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
peps_one = "[peps,bitar,ett]";
|
||||||
|
peps_two = "[peps,bitar,två]";
|
||||||
|
swedish_classics = "[svenska,klassiker]";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
concrete SwedishAlbumsSwe of SwedishAlbums = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
swedish_classics = ["svenska klassiker"];
|
||||||
|
peps_one = ["peps bitar ett"];
|
||||||
|
peps_two = ["peps bitar två"];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
abstract SwedishArtists = {
|
||||||
|
|
||||||
|
cat Artist;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
abba : Artist;
|
||||||
|
adolphson_och_falk : Artist;
|
||||||
|
anne_lie_ryde : Artist;
|
||||||
|
bo_kaspers_orkester : Artist;
|
||||||
|
christer_sandelin : Artist;
|
||||||
|
dan_hylander_och_rmb : Artist;
|
||||||
|
di_leva : Artist;
|
||||||
|
dilba : Artist;
|
||||||
|
docent_dod : Artist;
|
||||||
|
dr_alban : Artist;
|
||||||
|
ebba_gron : Artist;
|
||||||
|
eldkvarn : Artist;
|
||||||
|
eric_gadd : Artist;
|
||||||
|
eva_dahlgren : Artist;
|
||||||
|
freda : Artist;
|
||||||
|
gyllende_tider : Artist;
|
||||||
|
imperiet : Artist;
|
||||||
|
irma : Artist;
|
||||||
|
jakob_hellman : Artist;
|
||||||
|
jumper : Artist;
|
||||||
|
kent : Artist;
|
||||||
|
lars_winnerback : Artist;
|
||||||
|
lisa_ekdahl : Artist;
|
||||||
|
lisa_nilsson : Artist;
|
||||||
|
lolita_pop : Artist;
|
||||||
|
lustans_lakejer : Artist;
|
||||||
|
marie_fredriksson : Artist;
|
||||||
|
mauro_scocco : Artist;
|
||||||
|
mikael_rickfors : Artist;
|
||||||
|
mikael_wiehe : Artist;
|
||||||
|
monica_tornell : Artist;
|
||||||
|
nordman : Artist;
|
||||||
|
norum_och_nilsson : Artist;
|
||||||
|
orup : Artist;
|
||||||
|
patrik_isaksson : Artist;
|
||||||
|
peter_lemarc : Artist;
|
||||||
|
petter : Artist;
|
||||||
|
peps_persson : Artist;
|
||||||
|
ratata : Artist;
|
||||||
|
robyn : Artist;
|
||||||
|
roger_pontare : Artist;
|
||||||
|
roxette : Artist;
|
||||||
|
staffan_hellstrand : Artist;
|
||||||
|
stakka_bo : Artist;
|
||||||
|
stefan_andersson : Artist;
|
||||||
|
stina_nordenstam : Artist;
|
||||||
|
tomas_ledin : Artist;
|
||||||
|
ulf_lundell : Artist;
|
||||||
|
uno_svenningsson : Artist;
|
||||||
|
viba_femba : Artist;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
concrete SwedishArtistsPro of SwedishArtists = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
abba = "[abba]";
|
||||||
|
adolphson_och_falk = "[adolphson,och,falk]";
|
||||||
|
anne_lie_ryde = "[anne-lie,ryde]";
|
||||||
|
bo_kaspers_orkester = "[bo,kaspers,orkester]";
|
||||||
|
christer_sandelin = "[christer,sandelin]";
|
||||||
|
dan_hylander_och_rmb = "[dan,hylander,och,rmb]";
|
||||||
|
di_leva = "[di,leva]";
|
||||||
|
dilba = "[dilba]";
|
||||||
|
docent_dod = "[docent,dod]";
|
||||||
|
dr_alban = "[dr,alban]";
|
||||||
|
ebba_gron = "[ebba,gron]";
|
||||||
|
eldkvarn = "[eldkvarn]";
|
||||||
|
eric_gadd = "[eric,gadd]";
|
||||||
|
eva_dahlgren = "[eva,dahlgren]";
|
||||||
|
freda = "[freda]";
|
||||||
|
gyllende_tider = "[gyllende,tider]";
|
||||||
|
imperiet = "[imperiet]";
|
||||||
|
irma = "[irma]";
|
||||||
|
jakob_hellman = "[jakob,hellman]";
|
||||||
|
jumper = "[jumper]";
|
||||||
|
kent = "[kent]";
|
||||||
|
lars_winnerback = "[lars,winnerback]";
|
||||||
|
lisa_ekdahl = "[lisa,ekdahl]";
|
||||||
|
lisa_nilsson = "[lisa,nilsson]";
|
||||||
|
lolita_pop = "[lolita,pop]";
|
||||||
|
lustans_lakejer = "[lustans,lakejer]";
|
||||||
|
marie_fredriksson = "[marie,fredriksson]";
|
||||||
|
mauro_scocco = "[mauro,scocco]";
|
||||||
|
mikael_rickfors = "[mikael,rickfors]";
|
||||||
|
mikael_wiehe = "[mikael,wiehe]";
|
||||||
|
monica_tornell = "[monica,tornell]";
|
||||||
|
nordman = "[nordman]";
|
||||||
|
norum_och_nilsson = "[norum,och,nilsson]";
|
||||||
|
orup = "[orup]";
|
||||||
|
patrik_isaksson = "[patrik,isaksson]";
|
||||||
|
peter_lemarc = "[peter,lemarc]";
|
||||||
|
petter = "[petter]";
|
||||||
|
peps_persson = "[peps,persson]";
|
||||||
|
ratata = "[ratata]";
|
||||||
|
robyn = "[robyn]";
|
||||||
|
roger_pontare = "[roger,pontare]";
|
||||||
|
roxette = "[roxette]";
|
||||||
|
staffan_hellstrand = "[staffan,hellstrand]";
|
||||||
|
stakka_bo = "[stakka_bo]";
|
||||||
|
stefan_andersson = "[stefan,andersson]";
|
||||||
|
stina_nordenstam = "[stina,nordenstam]";
|
||||||
|
tomas_ledin = "[tomas,ledin]";
|
||||||
|
ulf_lundell = "[ulf,lundell]";
|
||||||
|
uno_svenningsson = "[uno,svenningsson]";
|
||||||
|
viba_femba = "[viba,femba]";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
concrete SwedishArtistsSwe of SwedishArtists = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
abba = ["abba"];
|
||||||
|
adolphson_och_falk = ["adolphson och falk"];
|
||||||
|
anne_lie_ryde = ["anne-lie rydé"];
|
||||||
|
bo_kaspers_orkester = ["bo kaspers orkester"];
|
||||||
|
christer_sandelin = ["christer sandelin"];
|
||||||
|
dan_hylander_och_rmb = ["dan hylander och rmb"];
|
||||||
|
di_leva = ["di leva"];
|
||||||
|
dilba = ["dilba"];
|
||||||
|
docent_dod = ["docent död"];
|
||||||
|
dr_alban = ["dr alban"];
|
||||||
|
ebba_gron = ["ebba grön"];
|
||||||
|
eldkvarn = ["eldkvarn"];
|
||||||
|
eric_gadd = ["eric gadd"];
|
||||||
|
eva_dahlgren = ["eva dahlgren"];
|
||||||
|
freda = ["freda"];
|
||||||
|
gyllende_tider = ["gyllene tider"];
|
||||||
|
imperiet = ["imperiet"];
|
||||||
|
irma = ["irma"];
|
||||||
|
jakob_hellman = ["jakob hellman"];
|
||||||
|
jumper = ["jumper"];
|
||||||
|
kent = ["kent"];
|
||||||
|
lars_winnerback = ["lars winnerbäck"];
|
||||||
|
lisa_ekdahl = ["lisa ekdahl"];
|
||||||
|
lisa_nilsson = ["lisa nilsson"];
|
||||||
|
lolita_pop = ["lolita pop"];
|
||||||
|
lustans_lakejer = ["lustans lakejer"];
|
||||||
|
marie_fredriksson = ["marie fredriksson"];
|
||||||
|
mauro_scocco = ["mauro scocco"];
|
||||||
|
mikael_rickfors = ["mikael rickfors"];
|
||||||
|
mikael_wiehe = ["mikael wiehe"];
|
||||||
|
monica_tornell = ["monica törnell"];
|
||||||
|
nordman = ["nordman"];
|
||||||
|
norum_och_nilsson = ["norum och nilsson"];
|
||||||
|
orup = ["orup"];
|
||||||
|
patrik_isaksson = ["patrik isaksson"];
|
||||||
|
peter_lemarc = ["peter lemarc"];
|
||||||
|
petter = ["petter"];
|
||||||
|
peps_persson = ["peps persson"];
|
||||||
|
ratata = ["ratata"];
|
||||||
|
robyn = ["robyn"];
|
||||||
|
roger_pontare = ["roger pontare"];
|
||||||
|
roxette = ["roxette"];
|
||||||
|
staffan_hellstrand = ["staffan hellstrand"];
|
||||||
|
stakka_bo = ["stakka_bo"];
|
||||||
|
stefan_andersson = ["stefan andersson"];
|
||||||
|
stina_nordenstam = ["stina nordenstam"];
|
||||||
|
tomas_ledin = ["tomas ledin"];
|
||||||
|
ulf_lundell = ["ulf lundell"];
|
||||||
|
uno_svenningsson = ["uno svenningsson"];
|
||||||
|
viba_femba = ["viba femba"];
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
abstract SwedishRadioStations = {
|
||||||
|
|
||||||
|
cat Station;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
lugna_favoriter : Station;
|
||||||
|
sveriges_radio : Station;
|
||||||
|
mix_megapol : Station;
|
||||||
|
stockholm : Station;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
concrete SwedishRadioStationsPro of SwedishRadioStations = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
lugna_favoriter = "[lugna,favoriter]";
|
||||||
|
sveriges_radio = "[sveriges,radio]";
|
||||||
|
mix_megapol = "[mix,megapol]";
|
||||||
|
stockholm = "[stockholm,närradio]";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
concrete SwedishRadioStationsSwe of SwedishRadioStations = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
lugna_favoriter = ["lugna favoriter"];
|
||||||
|
sveriges_radio = ["sveriges radio"];
|
||||||
|
mix_megapol = ["mix megapol"];
|
||||||
|
stockholm = ["stockholm närradio"];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
abstract SwedishSongs = {
|
||||||
|
|
||||||
|
cat Song;
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
blinkar_bla : Song;
|
||||||
|
segla_pa_ett_moln : Song;
|
||||||
|
undantag : Song;
|
||||||
|
det_hon_vill_ha : Song;
|
||||||
|
skuggor_i_skymningen : Song;
|
||||||
|
vem_ska_jag_tro_pa : Song;
|
||||||
|
solglasogon : Song;
|
||||||
|
atta_hundra_grader : Song;
|
||||||
|
karlekens_tunga : Song;
|
||||||
|
angeln_i_rummet : Song;
|
||||||
|
vem_tander_stjarnorna : Song;
|
||||||
|
vindarna : Song;
|
||||||
|
flickorna_pa_tv_tva : Song;
|
||||||
|
du_ska_va_president : Song;
|
||||||
|
precis_som_du : Song;
|
||||||
|
vara_vanner : Song;
|
||||||
|
om_du_var_har : Song;
|
||||||
|
kom_ihag_mig : Song;
|
||||||
|
vem_vet : Song;
|
||||||
|
himlen_runt_hornet : Song;
|
||||||
|
diamanter : Song;
|
||||||
|
efter_stormen : Song;
|
||||||
|
det_finns : Song;
|
||||||
|
sarah : Song;
|
||||||
|
vingar : Song;
|
||||||
|
flickan_och_krakan : Song;
|
||||||
|
vintersaga : Song;
|
||||||
|
allt_som_jag_kanner : Song;
|
||||||
|
jag_blir_hellre_jagad_av_vargar : Song;
|
||||||
|
du_far_gora_som_du_vill : Song;
|
||||||
|
hall_om_mig : Song;
|
||||||
|
sag_som_det_ar : Song;
|
||||||
|
vinden_har_vant : Song;
|
||||||
|
jackie : Song;
|
||||||
|
lilla_fagel_bla : Song;
|
||||||
|
sommaren_ar_kort : Song;
|
||||||
|
en_del_av_mitt_hjarta : Song;
|
||||||
|
oppna_landskap : Song;
|
||||||
|
under_ytan : Song;
|
||||||
|
teknikens_under : Song;
|
||||||
|
tva_av_oss : Song;
|
||||||
|
vandraren : Song;
|
||||||
|
under_norrskenet : Song;
|
||||||
|
vill_ha_mer : Song;
|
||||||
|
flykting : Song;
|
||||||
|
sanningens_krigare : Song;
|
||||||
|
i_vargens_spar : Song;
|
||||||
|
nu_tandas_tusen_julejus : Song;
|
||||||
|
alla_alskar_dig : Song;
|
||||||
|
hon_far : Song;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
concrete SwedishSongsPro of SwedishSongs = {
|
||||||
|
|
||||||
|
pattern
|
||||||
|
|
||||||
|
blinkar_bla = "[blinkar,blå]";
|
||||||
|
segla_pa_ett_moln = "[segla,på,ett,moln]";
|
||||||
|
undantag = "[undantag]";
|
||||||
|
det_hon_vill_ha = "[det,hon,vill,ha]";
|
||||||
|
skuggor_i_skymningen = "[skuggor,i,skymningen]";
|
||||||
|
vem_ska_jag_tro_pa = "[vem,ska,jag,tro,på]";
|
||||||
|
solglasogon = "[solglasögon]";
|
||||||
|
atta_hundra_grader = "[åtta,hundra,grader]";
|
||||||
|
karlekens_tunga = "[kärlekens,tunga]";
|
||||||
|
angeln_i_rummet = "[ängeln,i,rummet]";
|
||||||
|
vem_tander_stjarnorna = "[vem,tänder,stjärnorna]";
|
||||||
|
vindarna = "[vindarna]";
|
||||||
|
flickorna_pa_tv_tva = "[flickorna,på,tv,två]";
|
||||||
|
du_ska_va_president = "[du,ska,va,president]";
|
||||||
|
precis_som_du = "[precis,som,du]";
|
||||||
|
vara_vanner = "[vara,vänner]";
|
||||||
|
om_du_var_har = "[om,du,var,här]";
|
||||||
|
kom_ihag_mig = "[kom,ihåg,mig]";
|
||||||
|
vem_vet = "[vem,vet]";
|
||||||
|
himlen_runt_hornet = "[himlen,runt,hörnet]";
|
||||||
|
diamanter = "[diamanter]";
|
||||||
|
efter_stormen = "[efter,stormen]";
|
||||||
|
det_finns = "[det,finns]";
|
||||||
|
sarah = "[sarah]";
|
||||||
|
vingar = "[vingar]";
|
||||||
|
flickan_och_krakan = "[flickan,och,kråkan]";
|
||||||
|
vintersaga = "[vintersaga]";
|
||||||
|
allt_som_jag_kanner = "[allt,som,jag,känner]";
|
||||||
|
jag_blir_hellre_jagad_av_vargar = "[jag,blir,hellre,jagad,av,vargar]";
|
||||||
|
du_far_gora_som_du_vill = "[du,får,göra,som,du,vill]";
|
||||||
|
hall_om_mig = "[håll,om,mig]";
|
||||||
|
sag_som_det_ar = "[säg,som,det,är]";
|
||||||
|
vinden_har_vant = "[vinden,har,vänt]";
|
||||||
|
jackie = "[jackie]";
|
||||||
|
lilla_fagel_bla = "[lilla,fågel,blå]";
|
||||||
|
sommaren_ar_kort = "[sommaren,är,kort]";
|
||||||
|
en_del_av_mitt_hjarta = "[en,del,av,mitt,hjärta]";
|
||||||
|
oppna_landskap = "[öppna,landskap]";
|
||||||
|
under_ytan = "[under,ytan]";
|
||||||
|
teknikens_under = "[teknikens,under]";
|
||||||
|
tva_av_oss = "[två,av,oss]";
|
||||||
|
vandraren = "[vandraren]";
|
||||||
|
under_norrskenet = "[under,norrskenet]";
|
||||||
|
vill_ha_mer = "[vill,ha,mer]";
|
||||||
|
flykting = "[flykting]";
|
||||||
|
sanningens_krigare = "[sanningens,krigare]";
|
||||||
|
i_vargens_spar = "[i,vargens,spår]";
|
||||||
|
nu_tandas_tusen_julejus = "[nu,tändas,tusen,julejus]";
|
||||||
|
alla_alskar_dig = "[alla,älskar,dig]";
|
||||||
|
hon_far = "[hon,får]";
|
||||||
|
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user