summaryrefslogtreecommitdiff
path: root/grammars/TALK/GF_GoDiS/Core/User
diff options
context:
space:
mode:
authoraarne <unknown>2005-06-27 12:20:33 +0000
committeraarne <unknown>2005-06-27 12:20:33 +0000
commit3c508f4f89557318d8e0b50372a3f0d024e317f0 (patch)
tree3251ede247f32b51ad4d4204e84a1c325c8fe628 /grammars/TALK/GF_GoDiS/Core/User
parentb9e13711db0085b25e9257d1034b43a3a2c47b7e (diff)
added Ann-Charlotte's grammars
Diffstat (limited to 'grammars/TALK/GF_GoDiS/Core/User')
-rw-r--r--grammars/TALK/GF_GoDiS/Core/User/userCore.gf27
-rw-r--r--grammars/TALK/GF_GoDiS/Core/User/userCoreEng.gf93
-rw-r--r--grammars/TALK/GF_GoDiS/Core/User/userCorePro.gf22
-rw-r--r--grammars/TALK/GF_GoDiS/Core/User/userCoreSwe.gf98
4 files changed, 240 insertions, 0 deletions
diff --git a/grammars/TALK/GF_GoDiS/Core/User/userCore.gf b/grammars/TALK/GF_GoDiS/Core/User/userCore.gf
new file mode 100644
index 000000000..1864c7967
--- /dev/null
+++ b/grammars/TALK/GF_GoDiS/Core/User/userCore.gf
@@ -0,0 +1,27 @@
+-- general grammar
+
+abstract userCore = sharedCore ** {
+
+cat
+ -- A Dialogue Move that consists of a Request and arguments.
+ CompoundedRequest;
+ CompoundedAsk;
+ AnswerList Task;
+
+
+fun
+
+ makeAnswerListS : (t : Task) -> AnswerList t -> DMove;
+
+ makeCompoundedRequest : CompoundedRequest -> DMove;
+ makeNegCompoundedRequest : CompoundedRequest -> DMove;
+ makeCompoundedAsk : CompoundedAsk -> DMove;
+
+
+ requestCompounded : (t : Task) -> Action t -> Answer t -> CompoundedRequest ;
+ requestCompoundedMulti : (t : Task) -> Action t -> AnswerList t -> CompoundedRequest;
+
+ makeAskMove : (t : Task) -> Ask t -> Answer t -> CompoundedAsk;
+
+
+}
diff --git a/grammars/TALK/GF_GoDiS/Core/User/userCoreEng.gf b/grammars/TALK/GF_GoDiS/Core/User/userCoreEng.gf
new file mode 100644
index 000000000..8f02dde07
--- /dev/null
+++ b/grammars/TALK/GF_GoDiS/Core/User/userCoreEng.gf
@@ -0,0 +1,93 @@
+concrete userCoreEng of userCore = sharedCoreEng ** open GenResEng in {
+
+flags conversion=finite;
+
+
+lin
+
+-- Greet
+ makeGreetMove gre = {s = gre.s};
+
+-- Quit
+ makeQuitMove qui = {s = qui.s};
+
+-- Answer
+ makeAnswer _ ans = {s = ans.s};
+ makeNegAnswer _ ans = {s = "not" ++ ans.s};
+ makeAnswerMove _ sha = {s = sha.s};
+ makeNegAnswerMove _ sha = {s = sha.s};
+
+-- Ask
+ singleAsk _ ask = {s = ask.s};
+ makeYesNoAsk _ action = {s = action.s};
+ makeAsk ask = {s = ask.s};
+
+
+
+
+-- Requests
+
+
+ makeAnswerListS _ alist = {s = alist.s};
+ requestCompounded _ req obj = {s = req.s ++ obj.s};
+ requestCompoundedMulti _ req obj = {s = req.s ++ obj.s };
+
+ makeRequest req = {s = req.s};
+
+ makeCompoundedRequest crq = {s = variants {
+ ( (choosePre ! Req) ++ crq.s ++ (choosePost ! Req) );
+ ( (choosePre ! Req) ++ crq.s );
+ ( crq.s ++ (choosePost ! Req) );
+ ( crq.s )
+ }
+ };
+
+ makeNegCompoundedRequest crq = {s = variants {
+ ( (choosePre ! ReqNeg) ++ crq.s ++ (choosePost ! Req) );
+ ( (choosePre ! ReqNeg) ++ crq.s );
+ ( "not" ++ crq.s ++ (choosePost ! Req) );
+ ( "not" ++ crq.s )
+ }
+ };
+
+
+ makeRequestMove req = {s = variants {
+ ( req.s );
+ ( (choosePre ! Req) ++ req.s ++ (choosePost ! Req) );
+ ( (choosePre ! Req) ++ req.s );
+ ( req.s ++ (choosePost ! Req) )
+
+ }
+ };
+
+ makeNegRequestMove req = {s = variants {
+ ( "not" ++ req.s );
+ ( (choosePre ! ReqNeg) ++ req.s ++ (choosePost ! Req) );
+ ( (choosePre ! ReqNeg) ++ req.s );
+ ( "not" ++ req.s ++ (choosePost ! Req) )
+
+ }
+ };
+
+
+
+-- Asks
+ makeCompoundedAsk ask = {s = ask.s};
+
+ makeAskMove _ ques answer = {s = ques.s ++ answer.s};
+
+pattern
+ -- ICMs
+ -- Moved from General because of differing linearisations for user and system.
+
+ per_neg = variants {"what" ; "pardon"; ["pardon i did not hear what you said"]};
+ per_int = variants { "pardon" ; ["what did you say"] };
+
+ acc_pos = variants { "okay" ; "ok" ; "sure" ; "yup" ; "right" };
+ acc_neg = ["i do not know"];
+ acc_neg_alone = ["i do not know"];
+
+
+}
+
+
diff --git a/grammars/TALK/GF_GoDiS/Core/User/userCorePro.gf b/grammars/TALK/GF_GoDiS/Core/User/userCorePro.gf
new file mode 100644
index 000000000..0c28fe9d7
--- /dev/null
+++ b/grammars/TALK/GF_GoDiS/Core/User/userCorePro.gf
@@ -0,0 +1,22 @@
+concrete userCorePro of userCore = sharedCorePro ** {
+
+flags lexer=code ; unlexer=concat ;
+flags conversion=finite;
+
+
+lin
+ makeAnswerListS _ alist = {s = alist.s};
+
+ makeCompoundedRequest crq = {s = crq.s};
+ makeNegCompoundedRequest crq = { s = "~" ++ crq.s};
+ makeCompoundedAsk ask = {s = ask.s};
+
+
+ requestCompounded _ req obj = {s = "request(" ++ req.s ++ ")," ++ obj.s };
+ requestCompoundedMulti _ req obj = {s = "request(" ++ req.s ++ ")," ++ obj.s };
+
+ makeAskMove _ ques answer = {s = "ask" ++ "(" ++ "X" ++ "^" ++ ques.s ++
+ "(" ++ "X" ++ ")" ++ ")," ++ answer.s};
+
+}
+
diff --git a/grammars/TALK/GF_GoDiS/Core/User/userCoreSwe.gf b/grammars/TALK/GF_GoDiS/Core/User/userCoreSwe.gf
new file mode 100644
index 000000000..a90dbed0f
--- /dev/null
+++ b/grammars/TALK/GF_GoDiS/Core/User/userCoreSwe.gf
@@ -0,0 +1,98 @@
+concrete userCoreSwe of userCore = sharedCoreSwe ** open GenResSwe in {
+
+flags conversion=finite;
+
+
+lin
+
+-- Greet
+ makeGreetMove gre = {s = gre.s};
+
+-- Quit
+ makeQuitMove qui = {s = qui.s};
+
+-- Answer
+ makeAnswer _ ans = {s = ans.s};
+ makeNegAnswer _ ans = {s = "inte" ++ ans.s};
+ makeAnswerMove _ sha = {s = sha.s};
+ makeNegAnswerMove _ sha = {s = sha.s};
+
+-- Ask
+ singleAsk _ ask = {s = ask.s};
+ makeYesNoAsk _ action = {s = action.s};
+ makeAsk ask = {s = ask.s };
+
+
+-- Request
+
+ -- makeRequestMove moved to System and User respectively
+ -- because of differing linearizations
+
+ makeRequest req = {s = req.s};
+
+
+
+-- Requests
+
+
+ makeAnswerListS _ alist = {s = alist.s};
+ requestCompounded _ req obj = {s = req.s ++ obj.s};
+ requestCompoundedMulti _ req obj = {s = req.s ++ obj.s };
+
+
+ makeRequestMove req = {s = variants {
+ ( req.s );
+ ( (choosePre ! Req) ++ req.s ++ (choosePost ! Req) );
+ ( (choosePre ! Req) ++ req.s );
+ ( req.s ++ (choosePost ! Req) )
+
+ }
+ };
+
+ makeNegCompoundedRequest crq = {s = variants {
+ ( (choosePre ! ReqNeg) ++ crq.s ++ (choosePost ! Req) );
+ ( (choosePre ! ReqNeg) ++ crq.s );
+ ( "inte" ++ crq.s ++ (choosePost ! Req) );
+ ( "inte" ++ crq.s )
+ }
+ };
+
+
+
+ makeCompoundedRequest crq = {s = variants {
+ ( (choosePre ! Req) ++ crq.s ++ (choosePost ! Req) );
+ ( (choosePre ! Req) ++ crq.s );
+ ( crq.s ++ (choosePost ! Req) );
+ ( crq.s )
+ }
+ };
+
+ makeNegRequestMove req = {s = variants {
+ ( "inte" ++ req.s );
+ ( (choosePre ! ReqNeg) ++ req.s ++ (choosePost ! Req) );
+ ( (choosePre ! ReqNeg) ++ req.s );
+ ( "inte" ++ req.s ++ (choosePost ! Req) )
+
+ }
+ };
+
+
+-- Asks
+ makeCompoundedAsk ask = {s = ask.s};
+
+ makeAskMove _ ques answer = {s = ques.s ++ answer.s};
+
+pattern
+ -- ICMs
+ -- Moved from General because of differing linearisations for user and system.
+
+ per_neg = variants {"va" ; "ursäkta"; "förlåt" ; ["ursäkta jag hörde inte vad du sa"]};
+ per_int = variants { "ursäkta" ; ["vad sa du"] };
+
+ acc_pos = variants { "okej" ; "ok" ; "visst" ; "japp" ; "jaha" };
+ acc_neg = ["vet inte"];
+
+
+}
+
+