From 65f81204987a15fbdb2992274544344e0a3ceeec Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 20 Apr 2008 10:39:07 +0000 Subject: [PATCH] simplified Det structure in exper --- lib/resource/exper/abstract/Backward.gf | 5 +++++ lib/resource/exper/abstract/Noun.gf | 17 ++++++++--------- lib/resource/exper/english/BackwardEng.gf | 12 ++++++++++++ lib/resource/exper/english/NounEng.gf | 23 +++++++---------------- 4 files changed, 32 insertions(+), 25 deletions(-) diff --git a/lib/resource/exper/abstract/Backward.gf b/lib/resource/exper/abstract/Backward.gf index dfc98775d..efdbbd209 100644 --- a/lib/resource/exper/abstract/Backward.gf +++ b/lib/resource/exper/abstract/Backward.gf @@ -23,6 +23,11 @@ fun NumInt : Int -> Num ; -- 51 OrdInt : Int -> Ord ; -- 51st (DEPRECATED) + -- 20/4 + DetSg : Art -> Ord -> Det ; -- the best man + DetPl : Art -> Num -> Ord -> Det ; -- the five best men + NoNum : Num ; + -- from Structural 19/4/2008 that_NP : NP ; diff --git a/lib/resource/exper/abstract/Noun.gf b/lib/resource/exper/abstract/Noun.gf index 4b630d7ca..5cb7890cd 100644 --- a/lib/resource/exper/abstract/Noun.gf +++ b/lib/resource/exper/abstract/Noun.gf @@ -35,16 +35,14 @@ abstract Noun = Cat ** { -- (This is modified from CLE by further dividing their $Num$ into -- cardinal and ordinal.) - DetSg : Art -> Ord -> Det ; -- the best man - DetPl : Art -> Num -> Ord -> Det ; -- the five best men + DetArt : Art -> Num -> Ord -> Det ; -- the five best men -- Notice that $DetPl$ can still result in a singular determiner, because -- "one" is a numeral: "this one man". -- Quantifiers can form noun phrases directly. - DetSgNP : Quant -> Ord -> NP ; -- this - DetPlNP : Quant -> Num -> Ord -> NP ; -- these five + DetQuant : Quant -> Num -> Ord -> NP ; -- these five -- Quantifiers can also be used in the same way as articles. @@ -60,7 +58,8 @@ abstract Noun = Cat ** { -- All parts of the determiner can be empty, except $Quant$, which is -- the "kernel" of a determiner. - NoNum : Num ; + NumSg : Num ; + NumPl : Num ; NoOrd : Ord ; -- $Num$ consists of either digits or numeral words. @@ -76,7 +75,7 @@ abstract Noun = Cat ** { -- $Ord$ consists of either digits or numeral words. - OrdDigits : Digits -> Ord ; -- 51st + OrdDigits : Digits -> Ord ; -- 51st OrdNumeral : Numeral -> Ord ; -- fifty-first -- Superlative forms of adjectives behave syntactically in the same way as @@ -86,9 +85,9 @@ abstract Noun = Cat ** { -- Ordinals and cardinals can be used as noun phrases alone. - OrdSuperlNP : A -> NP ; -- the largest - OrdNumeralNP : Numeral -> NP ; -- the fiftieth - NumNumeralNP : Numeral -> NP ; -- fifty + OrdSuperlNP : Num -> A -> NP ; -- the five best + OrdNumeralNP : Numeral -> NP ; -- the fiftieth + NumNumeralNP : Numeral -> NP ; -- fifty -- Definite and indefinite constructions are sometimes realized as -- neatly distinct words (Spanish "un, unos ; el, los") but also without diff --git a/lib/resource/exper/english/BackwardEng.gf b/lib/resource/exper/english/BackwardEng.gf index 2e39582e6..602ad1ee9 100644 --- a/lib/resource/exper/english/BackwardEng.gf +++ b/lib/resource/exper/english/BackwardEng.gf @@ -39,6 +39,18 @@ concrete BackwardEng of Backward = CatEng ** open ResEng in { NumInt n = {s = n.s ; n = Pl} ; OrdInt n = {s = n.s ++ "th"} ; --- DEPRECATED + DetSg quant ord = { + s = quant.s ! Sg ++ ord.s ; + n = Sg + } ; + + DetPl quant num ord = { + s = quant.s ! num.n ++ num.s ++ ord.s ; + n = num.n + } ; + + NoNum = {s = []; n = Pl } ; + -- from Structural 19/4/2008 that_NP = regNP "that" Sg ; diff --git a/lib/resource/exper/english/NounEng.gf b/lib/resource/exper/english/NounEng.gf index d77c36cbf..11bde516d 100644 --- a/lib/resource/exper/english/NounEng.gf +++ b/lib/resource/exper/english/NounEng.gf @@ -26,22 +26,12 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in { a = np.a } ; - DetSg quant ord = { - s = quant.s ! Sg ++ ord.s ; - n = Sg - } ; - - DetPl quant num ord = { + DetArt quant num ord = { s = quant.s ! num.n ++ num.s ++ ord.s ; n = num.n } ; - DetSgNP quant ord = { - s = \\c => quant.s ! Sg ++ ord.s ; ---- case - a = agrP3 Sg - } ; - - DetPlNP quant num ord = { + DetQuant quant num ord = { s = \\c => quant.s ! num.n ++ num.s ++ ord.s ; ---- case a = agrP3 num.n } ; @@ -50,7 +40,8 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in { PossPron p = {s = \\_ => p.s ! Gen} ; - NoNum = {s = []; n = Pl } ; + NumSg = {s = []; n = Sg} ; + NumPl = {s = []; n = Pl} ; NoOrd = {s = []} ; NumDigits n = {s = n.s ! NCard ; n = n.n} ; @@ -81,9 +72,9 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in { a = agrP3 Sg } ; - OrdSuperlNP a = { - s = \\c => "the" ++ a.s ! AAdj Superl ; ---- case - a = agrP3 Sg + OrdSuperlNP n a = { + s = \\c => "the" ++ n.s ++ a.s ! AAdj Superl ; ---- case + a = agrP3 n.n } ; DefArt = {s = \\_ => artDef} ;