summaryrefslogtreecommitdiff
path: root/examples/phrasebook/WordsFre.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2010-05-26 14:11:23 +0000
committeraarne <aarne@chalmers.se>2010-05-26 14:11:23 +0000
commit231c63aa419dfb442a9225126bca064b5287666f (patch)
treed21c9625f5de1ccfaa5a4debdd9087d4d36b7705 /examples/phrasebook/WordsFre.gf
parent0f82695c310d571b5cce8e806581acd604508551 (diff)
Ita and Fre superlatives, Ita possessives, in Phrasebook
Diffstat (limited to 'examples/phrasebook/WordsFre.gf')
-rw-r--r--examples/phrasebook/WordsFre.gf35
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) ;