diff options
| author | bjorn <bjorn@bringert.net> | 2008-08-14 07:58:04 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-08-14 07:58:04 +0000 |
| commit | 77270a010a0b453e9a84c3e62db7cfd22e49d55d (patch) | |
| tree | d17682a545d6ac1e68ff49b8c20964182794baf7 /grammars/aggregation/Abstract.gf | |
| parent | 0bbb906141711767678f82b15a7b43e65e0b5bd6 (diff) | |
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.
Diffstat (limited to 'grammars/aggregation/Abstract.gf')
| -rw-r--r-- | grammars/aggregation/Abstract.gf | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/grammars/aggregation/Abstract.gf b/grammars/aggregation/Abstract.gf deleted file mode 100644 index 719bfe150..000000000 --- a/grammars/aggregation/Abstract.gf +++ /dev/null @@ -1,57 +0,0 @@ --- testing transfer: aggregation by def definitions. AR 12/4/2003 -- 9/10 - --- p "Mary runs or John runs and John walks" | l -transfer=Aggregation --- Mary runs or John runs and walks --- Mary or John runs and John walks - --- The two results are due to ambiguity in parsing. Thus it is not spurious! - -abstract Abstract = { - -cat - S ; NP ; VP ; Conj ; - -fun - Pred : NP -> VP -> S ; - ConjS : Conj -> S -> S -> S ; - ConjVP : Conj -> VP -> VP -> VP ; - ConjNP : Conj -> NP -> NP -> NP ; - - John, Mary, Bill : NP ; - Walk, Run, Swim : VP ; - And, Or : Conj ; - -fun aggreg : S -> S ; -def - aggreg (ConjS c (Pred Q F) B) = aggrAux c Q F B ; - aggreg (ConjS c A B) = ConjS c (aggreg A) (aggreg B) ; - aggreg A = A ; - --- this auxiliary makes pattern matching on NP to test equality - -fun aggrAux : Conj -> NP -> VP -> S -> S ; -def - -- aggregate verbs with shared subject - aggrAux c John F (Pred John G) = Pred John (ConjVP c F G) ; - aggrAux c Mary F (Pred Mary G) = Pred Mary (ConjVP c F G) ; - aggrAux c Bill F (Pred Bill G) = Pred Bill (ConjVP c F G) ; - - -- aggregate subjects with shared verbs - aggrAux c Q Run (Pred R Run) = Pred (ConjNP c Q R) Run ; - aggrAux c Q Walk (Pred R Walk) = Pred (ConjNP c Q R) Walk ; - aggrAux c Q Swim (Pred R Swim) = Pred (ConjNP c Q R) Swim ; - - -- this case takes care of munching - aggrAux c Q F (ConjS e A B) = aggrAux c Q F (aggreg (ConjS e A B)) ; - - aggrAux c Q F B = ConjS c (Pred Q F) (aggreg B) ; - --- unfortunately we cannot test string equality for Name : String -> NP ; --- It would also be tedious to test the equality of complex --- NPs and VPs, but not impossible. - --- have to add these, otherwise constants are not constructor patterns! - -data NP = John | Mary | Bill ; -data VP = Run | Walk | Swim ; -} |
