diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-11-14 17:32:34 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-11-14 17:32:34 +0000 |
| commit | d5fa908250517476d69fae92ec7648a207007c0a (patch) | |
| tree | c0b685f8e506cc64d0b9260239cb0c7e26452167 /next-lib/src/api | |
| parent | f2a5937120e4c9d0e633f252b50a008746422a07 (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.gf | 22 |
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 |
