summaryrefslogtreecommitdiff
path: root/next-lib/src/api
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-11-14 17:32:34 +0000
committeraarne <aarne@cs.chalmers.se>2008-11-14 17:32:34 +0000
commitd5fa908250517476d69fae92ec7648a207007c0a (patch)
treec0b685f8e506cc64d0b9260239cb0c7e26452167 /next-lib/src/api
parentf2a5937120e4c9d0e633f252b50a008746422a07 (diff)
rules for constructing structural words (separate from Paradigms - is this desirable?)
Diffstat (limited to 'next-lib/src/api')
-rw-r--r--next-lib/src/api/Constructors.gf22
1 files changed, 20 insertions, 2 deletions
diff --git a/next-lib/src/api/Constructors.gf b/next-lib/src/api/Constructors.gf
index a6804b56c..4c3e91c38 100644
--- a/next-lib/src/api/Constructors.gf
+++ b/next-lib/src/api/Constructors.gf
@@ -749,7 +749,9 @@ incomplete resource Constructors = open Grammar in {
mkRS : overload {
mkRS : RCl -> RS ; -- 1. that walk
- mkRS : (Tense) -> (Ant) -> (Pol) -> RCl -> RS -- 2. that wouldn't have walked
+ mkRS : (Tense) -> (Ant) -> (Pol) -> RCl -> RS ; -- 2. that wouldn't have walked
+ mkRS : Conj -> RS -> RS -> RS ; -- 3. who walks and whom I know
+ mkRS : Conj -> ListRS -> RS ; -- 4. who walks, whose son runs, and whom I know
} ;
--3 RCl, relative clauses
@@ -857,6 +859,12 @@ incomplete resource Constructors = open Grammar in {
mkListNP : NP -> ListNP -> ListNP -- 2. John, I, that
} ;
+--3 ListRS, relative clause lists
+
+ mkListRS : overload {
+ mkListRS : RS -> RS -> ListRS ; -- 1. who walks, who runs
+ mkListRS : RS -> ListRS -> ListRS -- 2. who walks, who runs, who sleeps
+ } ;
--.
-- Definitions
@@ -1473,7 +1481,12 @@ incomplete resource Constructors = open Grammar in {
mkRS : Ant -> Pol -> RCl -> RS
= \a,p -> TUseRCl TPres a p ;
mkRS : Tense -> Ant -> Pol -> RCl -> RS
- = TUseRCl
+ = TUseRCl ;
+ mkRS : Conj -> RS -> RS -> RS
+ = \c,x,y -> ConjRS c (BaseRS x y) ;
+ mkRS : Conj -> ListRS -> RS
+ = \c,xy -> ConjRS c xy ;
+
} ;
param Punct = PFullStop | PExclMark | PQuestMark ;
@@ -1618,6 +1631,11 @@ incomplete resource Constructors = open Grammar in {
mkListNP : NP -> ListNP -> ListNP = ConsNP
} ;
+ mkListRS = overload {
+ mkListRS : RS -> RS -> ListRS = BaseRS ;
+ mkListRS : RS -> ListRS -> ListRS = ConsRS
+ } ;
+
------------ for backward compatibility