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:
bjorn
2008-08-14 07:58:04 +00:00
parent 0bbb906141
commit 77270a010a
484 changed files with 0 additions and 37662 deletions

View File

@@ -1,8 +0,0 @@
distr:
sh mkDistr.sh
test:
sh tst.sh
lib:
sh mkLib.sh

View File

@@ -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"
};
}

View File

@@ -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"
};
}

View File

@@ -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;
}

View File

@@ -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.
}

View File

@@ -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";
}

View File

@@ -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.
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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";
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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};
}

View File

@@ -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"];
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Media:../../Resource/Time:
abstract DB = TVStations, Time, Weekday ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Media:../../Resource/Time:
concrete DBEng of DB = TVStationsEng, TimeEng, WeekdayEng ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Media:../../Resource/Time:
concrete DBPro of DB = TVStationsPro, TimeProlog, WeekdayProlog ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Media:../../Resource/Time:
concrete DBSwe of DB = TVStationsSwe, TimeSwe, WeekdaySwe ** {
}

View File

@@ -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"
}

View File

@@ -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"];
}

View File

@@ -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";
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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) ).
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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"]};
}

View File

@@ -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 ++ ")"};
}

View File

@@ -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);
}

View File

@@ -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 ** {
}

View File

@@ -1,7 +0,0 @@
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../Resource/Numbers/
concrete DBEng of DB = EnglishAlbumsEng, EnglishArtistsEng,
--EnglishSongsEng,
EnglishRadioStationsEng, SwedishSongsSwe, numbersEng, orderNumEng ** {
}

View File

@@ -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 ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Media/English:../../Resource/Media/Swedish:../../Resource/Numbers/
concrete DBSwe of DB = SwedishAlbumsSwe, SwedishArtistsSwe, SwedishSongsSwe, SwedishRadioStationsSwe, numbersSwe, orderNumSwe ** {
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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";
}

View File

@@ -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"]};
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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";
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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"]};
}

View File

@@ -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 ++ [") )"]};
}

View File

@@ -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"]};
}

View File

@@ -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 => ""
};
}

View File

@@ -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 => ""
};
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Home
abstract DB = Lamps, Rooms ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Home
concrete DBEng of DB= LampsEng, RoomsEng ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Home
concrete DBPro of DB= LampsPro, RoomsPro ** {
}

View File

@@ -1,5 +0,0 @@
--# -path=.:../../Resource/Home
concrete DBSwe of DB= LampsSwe, RoomsSwe ** {
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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";
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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"];
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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};
}

View File

@@ -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 ++ ")"};
}

View File

@@ -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};
}

View File

@@ -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;
-}
}

View File

@@ -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";
}

View File

@@ -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"];
}

View File

@@ -1,14 +0,0 @@
abstract Lamps = {
cat Lamp;
fun
--aLamp : Lamp;
ceilinglamp : Lamp;
tablelamp : Lamp;
desklamp : Lamp;
floorlamp : Lamp;
}

View File

@@ -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"];
}

View File

@@ -1,11 +0,0 @@
concrete LampsPro of Lamps = {
pattern
--aLamp = "LIGHT";
ceilinglamp = "[ceilinglamp]";
tablelamp = "[tablelamp]";
desklamp = "[desklamp]";
floorlamp = "[floorlamp]";
}

View File

@@ -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"]};
}

View File

@@ -1,15 +0,0 @@
abstract Rooms = {
cat Room;
fun
--aRoom : Room;
kitchen : Room;
bedroom : Room;
hall : Room;
livingroom : Room;
}

View File

@@ -1,12 +0,0 @@
concrete RoomsEng of Rooms = {
pattern
--aRoom = "ROOM";
kitchen = ["the kitchen"];
bedroom = ["the bedroom"];
hall = ["the hall"];
livingroom = ["the living room"];
}

View File

@@ -1,11 +0,0 @@
concrete RoomsPro of Rooms = {
pattern
--aLocation = "ROOM";
kitchen = "[kitchen]";
bedroom = "[bedroom]";
hall = "[hall]";
livingroom = "[livingroom]";
}

View File

@@ -1,12 +0,0 @@
concrete RoomsSwe of Rooms = {
pattern
--aRoom = "RUM";
kitchen = "köket";
bedroom = "sovrumet";
hall = "hallen";
livingroom = "vardagsrumet";
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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]";
}

View File

@@ -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;
}

View File

@@ -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";
}

View File

@@ -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]";
}

View File

@@ -1,11 +0,0 @@
abstract EnglishRadioStations = {
cat Station;
fun
digital_gunfire : Station;
rant_radio : Station;
}

View File

@@ -1,8 +0,0 @@
concrete EnglishRadioStationsEng of EnglishRadioStations = {
pattern
digital_gunfire = ["digital gunfire"];
rant_radio = ["rant radio"];
}

View File

@@ -1,8 +0,0 @@
concrete EnglishRadioStationsPro of EnglishRadioStations = {
pattern
digital_gunfire = "[digital,gunfire]";
rant_radio = "[rant,radio]";
}

View File

@@ -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;
}

View File

@@ -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"];
}

View File

@@ -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]";
}

View File

@@ -1,11 +0,0 @@
abstract SwedishAlbums = {
cat Album;
fun
peps_one : Album;
peps_two : Album;
swedish_classics : Album;
}

View File

@@ -1,10 +0,0 @@
concrete SwedishAlbumsPro of SwedishAlbums = {
pattern
peps_one = "[peps,bitar,ett]";
peps_two = "[peps,bitar,två]";
swedish_classics = "[svenska,klassiker]";
}

View File

@@ -1,10 +0,0 @@
concrete SwedishAlbumsSwe of SwedishAlbums = {
pattern
swedish_classics = ["svenska klassiker"];
peps_one = ["peps bitar ett"];
peps_two = ["peps bitar två"];
}

View File

@@ -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;
}

View File

@@ -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]";
}

View File

@@ -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"];
}

View File

@@ -1,12 +0,0 @@
abstract SwedishRadioStations = {
cat Station;
fun
lugna_favoriter : Station;
sveriges_radio : Station;
mix_megapol : Station;
stockholm : Station;
}

View File

@@ -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]";
}

View File

@@ -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"];
}

View File

@@ -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;
}

View File

@@ -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