diff options
| author | aarne <aarne@chalmers.se> | 2010-05-26 14:11:23 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2010-05-26 14:11:23 +0000 |
| commit | 231c63aa419dfb442a9225126bca064b5287666f (patch) | |
| tree | d21c9625f5de1ccfaa5a4debdd9087d4d36b7705 /examples/phrasebook/WordsFre.gf | |
| parent | 0f82695c310d571b5cce8e806581acd604508551 (diff) | |
Ita and Fre superlatives, Ita possessives, in Phrasebook
Diffstat (limited to 'examples/phrasebook/WordsFre.gf')
| -rw-r--r-- | examples/phrasebook/WordsFre.gf | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/examples/phrasebook/WordsFre.gf b/examples/phrasebook/WordsFre.gf index 9b6bbe0bf..7f65bcde6 100644 --- a/examples/phrasebook/WordsFre.gf +++ b/examples/phrasebook/WordsFre.gf @@ -199,15 +199,27 @@ lin -- modifiers of places - TheBest = mkSuperl L.good_A ; - TheClosest = mkSuperl L.near_A ; - TheCheapest = mkSuperl (compADeg {s = \\_ => (M.mkAdj "bon marché" "bon marché" "bon marché" "bon marché").s ; isPre = False ; lock_A = <>}) ; - TheMostExpensive = mkSuperl (mkA "cher") ; - TheMostPopular = mkSuperl (mkA "populair") ; - TheWorst = mkSuperl L.bad_A ; - - SuperlPlace sup p = placeNP sup p ; - + TheBest = mkSuperl True L.good_A ; + TheClosest = mkSuperl False L.near_A ; + TheCheapest = mkSuperl False + (compADeg {s = \\_ => (M.mkAdj "bon marché" "bon marché" "bon marché" "bon marché").s ; + isPre = False ; lock_A = <>}) ; ---- + TheMostExpensive = mkSuperl False (mkA "cher") ; + TheMostPopular = mkSuperl False (mkA "populaire") ; + TheWorst = mkSuperl True L.bad_A ; + + SuperlPlace sup kind = + let + det : Det = mkDet the_Art sup.s ; + name : NP = case sup.isPre of { + True => mkNP det kind.name ; -- le meilleur bar + False => mkNP the_Art (mkCN kind.name (mkNP det)) -- le bar le plus cher + } + in { + name = name ; + at = SyntaxFre.mkAdv kind.at name ; + to = SyntaxFre.mkAdv kind.to name + } ; -- transports @@ -252,8 +264,9 @@ lin en_Prep = mkPrep "en" ; par_Prep = mkPrep "par" ; - mkSuperl : A -> Det = \a -> SyntaxFre.mkDet the_Art (SyntaxFre.mkOrd a) ; - + mkSuperl : Bool -> A -> {s : Ord ; isPre : Bool} = \b,a -> + {s = SyntaxFre.mkOrd a ; isPre = b} ; + far_IAdv = ss "loin" ; distance_NP : NP = mkNP the_Det (mkN "distance" feminine) ; |
