mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
Remove the grammars directory. It was full of old grammars that don't compile these days. See the old source distributions if you want them.
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
distr:
|
|
||||||
sh mkDistr.sh
|
|
||||||
|
|
||||||
test:
|
|
||||||
sh tst.sh
|
|
||||||
|
|
||||||
lib:
|
|
||||||
sh mkLib.sh
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
-- 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"
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
-- 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"
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,133 +0,0 @@
|
|||||||
-- 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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
--# -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";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
-- 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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,146 +0,0 @@
|
|||||||
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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
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";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,141 +0,0 @@
|
|||||||
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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
-- 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;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
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};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Media:../../Resource/Time:
|
|
||||||
|
|
||||||
abstract DB = TVStations, Time, Weekday ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Media:../../Resource/Time:
|
|
||||||
|
|
||||||
concrete DBEng of DB = TVStationsEng, TimeEng, WeekdayEng ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Media:../../Resource/Time:
|
|
||||||
|
|
||||||
concrete DBPro of DB = TVStationsPro, TimeProlog, WeekdayProlog ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Media:../../Resource/Time:
|
|
||||||
|
|
||||||
concrete DBSwe of DB = TVStationsSwe, TimeSwe, WeekdaySwe ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
--# -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"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,148 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
-- 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";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
-- 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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
-- 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) ).
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
--# -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;
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
--# -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"]};
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
-- 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 ++ ")"};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
--# -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);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
--# -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 ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../Resource/Numbers/
|
|
||||||
|
|
||||||
concrete DBEng of DB = EnglishAlbumsEng, EnglishArtistsEng,
|
|
||||||
--EnglishSongsEng,
|
|
||||||
EnglishRadioStationsEng, SwedishSongsSwe, numbersEng, orderNumEng ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
--# -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 ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../Resource/Numbers/
|
|
||||||
|
|
||||||
concrete DBSwe of DB = SwedishAlbumsSwe, SwedishArtistsSwe, SwedishSongsSwe, SwedishRadioStationsSwe, numbersSwe, orderNumSwe ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
-- 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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,154 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
-- 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";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,170 +0,0 @@
|
|||||||
--# -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"]};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
--# -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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
-- --# -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";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
-- 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;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
|
|
||||||
--# -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"]};
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
--# -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 ++ [") )"]};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
--# -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"]};
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
-- 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 => ""
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
-- 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 => ""
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Home
|
|
||||||
|
|
||||||
abstract DB = Lamps, Rooms ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Home
|
|
||||||
|
|
||||||
concrete DBEng of DB= LampsEng, RoomsEng ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Home
|
|
||||||
|
|
||||||
concrete DBPro of DB= LampsPro, RoomsPro ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../../Resource/Home
|
|
||||||
|
|
||||||
concrete DBSwe of DB= LampsSwe, RoomsSwe ** {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
--# -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
--# -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";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
--# -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
--# -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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
--# -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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
--# -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;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
--# -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};
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
--# -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 ++ ")"};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
--# -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};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
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;
|
|
||||||
-}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
concrete DBPro of DB = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
-- anEvent = "EVENT";
|
|
||||||
meeting = "meeting";
|
|
||||||
presentation = "presentation";
|
|
||||||
date = "appointment";
|
|
||||||
lecture = "lecture";
|
|
||||||
|
|
||||||
|
|
||||||
-- aLocation = "LOCATION";
|
|
||||||
plaza = "plaza";
|
|
||||||
station = "station";
|
|
||||||
university = "university";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
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"];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
abstract Lamps = {
|
|
||||||
|
|
||||||
cat Lamp;
|
|
||||||
|
|
||||||
fun
|
|
||||||
|
|
||||||
--aLamp : Lamp;
|
|
||||||
ceilinglamp : Lamp;
|
|
||||||
tablelamp : Lamp;
|
|
||||||
desklamp : Lamp;
|
|
||||||
floorlamp : Lamp;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
concrete LampsEng of Lamps = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
--aLamp = "LIGHT";
|
|
||||||
ceilinglamp = ["the ceiling light"];
|
|
||||||
tablelamp = ["the table light"];
|
|
||||||
desklamp = ["the desk light"];
|
|
||||||
floorlamp = ["the floor light"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
concrete LampsPro of Lamps = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
--aLamp = "LIGHT";
|
|
||||||
ceilinglamp = "[ceilinglamp]";
|
|
||||||
tablelamp = "[tablelamp]";
|
|
||||||
desklamp = "[desklamp]";
|
|
||||||
floorlamp = "[floorlamp]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
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"]};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
abstract Rooms = {
|
|
||||||
|
|
||||||
cat Room;
|
|
||||||
|
|
||||||
fun
|
|
||||||
|
|
||||||
--aRoom : Room;
|
|
||||||
kitchen : Room;
|
|
||||||
bedroom : Room;
|
|
||||||
hall : Room;
|
|
||||||
livingroom : Room;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
concrete RoomsEng of Rooms = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
--aRoom = "ROOM";
|
|
||||||
kitchen = ["the kitchen"];
|
|
||||||
bedroom = ["the bedroom"];
|
|
||||||
hall = ["the hall"];
|
|
||||||
livingroom = ["the living room"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
concrete RoomsPro of Rooms = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
--aLocation = "ROOM";
|
|
||||||
kitchen = "[kitchen]";
|
|
||||||
bedroom = "[bedroom]";
|
|
||||||
hall = "[hall]";
|
|
||||||
livingroom = "[livingroom]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
concrete RoomsSwe of Rooms = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
--aRoom = "RUM";
|
|
||||||
kitchen = "köket";
|
|
||||||
bedroom = "sovrumet";
|
|
||||||
hall = "hallen";
|
|
||||||
livingroom = "vardagsrumet";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
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;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
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"];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
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]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
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;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
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";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
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]";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
abstract EnglishRadioStations = {
|
|
||||||
|
|
||||||
cat Station;
|
|
||||||
|
|
||||||
fun
|
|
||||||
|
|
||||||
digital_gunfire : Station;
|
|
||||||
rant_radio : Station;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
concrete EnglishRadioStationsEng of EnglishRadioStations = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
digital_gunfire = ["digital gunfire"];
|
|
||||||
rant_radio = ["rant radio"];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
concrete EnglishRadioStationsPro of EnglishRadioStations = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
digital_gunfire = "[digital,gunfire]";
|
|
||||||
rant_radio = "[rant,radio]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
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;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
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"];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
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]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
abstract SwedishAlbums = {
|
|
||||||
|
|
||||||
cat Album;
|
|
||||||
|
|
||||||
fun
|
|
||||||
|
|
||||||
peps_one : Album;
|
|
||||||
peps_two : Album;
|
|
||||||
swedish_classics : Album;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
concrete SwedishAlbumsPro of SwedishAlbums = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
peps_one = "[peps,bitar,ett]";
|
|
||||||
peps_two = "[peps,bitar,två]";
|
|
||||||
swedish_classics = "[svenska,klassiker]";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
concrete SwedishAlbumsSwe of SwedishAlbums = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
swedish_classics = ["svenska klassiker"];
|
|
||||||
peps_one = ["peps bitar ett"];
|
|
||||||
peps_two = ["peps bitar två"];
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
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;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
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]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
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"];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
abstract SwedishRadioStations = {
|
|
||||||
|
|
||||||
cat Station;
|
|
||||||
|
|
||||||
fun
|
|
||||||
|
|
||||||
lugna_favoriter : Station;
|
|
||||||
sveriges_radio : Station;
|
|
||||||
mix_megapol : Station;
|
|
||||||
stockholm : Station;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
concrete SwedishRadioStationsPro of SwedishRadioStations = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
lugna_favoriter = "[lugna,favoriter]";
|
|
||||||
sveriges_radio = "[sveriges,radio]";
|
|
||||||
mix_megapol = "[mix,megapol]";
|
|
||||||
stockholm = "[stockholm,närradio]";
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
concrete SwedishRadioStationsSwe of SwedishRadioStations = {
|
|
||||||
|
|
||||||
pattern
|
|
||||||
|
|
||||||
lugna_favoriter = ["lugna favoriter"];
|
|
||||||
sveriges_radio = ["sveriges radio"];
|
|
||||||
mix_megapol = ["mix megapol"];
|
|
||||||
stockholm = ["stockholm närradio"];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
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;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
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