Add FoodsFre, fails because pre is not implemented

Also an unhandled Projection case
This commit is contained in:
John J. Camilleri
2021-02-15 01:14:34 +01:00
parent 109822675b
commit 4f0abe5540
3 changed files with 46 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ FoodsBul: онова вино е превъзходно
FoodsChi: 那 瓶 酒 是 美 味 的
FoodsEng: that wine is delicious
FoodsFin: tuo viini on herkullinen
FoodsFre: ce vin est délicieux
FoodsHeb: היין ההוא טעים
FoodsSwe: det där vinet är läckert
@@ -11,6 +12,7 @@ FoodsBul: тази пица е много еднообразна
FoodsChi: 这 张 比 萨 饼 是 非 常 难 吃 的
FoodsEng: this pizza is very boring
FoodsFin: tämä pizza on erittäin tylsä
FoodsFre: cette pizza est très ennuyeuse
FoodsHeb: הפיצה הזאת מאוד משעממת
FoodsSwe: den här pizzan är mycket tråkig
@@ -19,6 +21,7 @@ FoodsBul: това сирене е свежо
FoodsChi: 这 块 奶 酪 是 新 鲜 的
FoodsEng: this cheese is fresh
FoodsFin: tämä juusto on tuore
FoodsFre: ce fromage est frais
FoodsHeb: הגבינה הזאת טריה
FoodsSwe: den här osten är färsk
@@ -27,6 +30,7 @@ FoodsBul: онези риби са горещи
FoodsChi: 那 几 条 鱼 是 温 热 的
FoodsEng: those fish are warm
FoodsFin: nuo kalat ovat lämpimiä
FoodsFre: ces poissons sont chauds
FoodsHeb: הדגים ההם חמים
FoodsSwe: de där fiskarna är varma
@@ -35,6 +39,7 @@ FoodsBul: онази еднообразна италианска пица е с
FoodsChi: 那 张 又 难 吃 又 意 大 利 式 的 比 萨 饼 是 昂 贵 的
FoodsEng: that boring Italian pizza is expensive
FoodsFin: tuo tylsä italialainen pizza on kallis
FoodsFre: cette pizza italienne ennuyeuse est chère
FoodsHeb: הפיצה האיטלקית המשעממת ההיא יקרה
FoodsSwe: den där tråkiga italienska pizzan är dyr

View File

@@ -0,0 +1,31 @@
concrete FoodsFre of Foods = open SyntaxFre, ParadigmsFre in {
flags coding = utf8 ;
lincat
Comment = Utt ;
Item = NP ;
Kind = CN ;
Quality = AP ;
lin
Pred item quality = mkUtt (mkCl item quality) ;
This kind = mkNP this_QuantSg kind ;
That kind = mkNP that_QuantSg kind ;
These kind = mkNP these_QuantPl kind ;
Those kind = mkNP those_QuantPl kind ;
Mod quality kind = mkCN quality kind ;
Very quality = mkAP very_AdA quality ;
Wine = mkCN (mkN "vin" masculine) ;
Pizza = mkCN (mkN "pizza" feminine) ;
Cheese = mkCN (mkN "fromage" masculine) ;
Fish = mkCN (mkN "poisson" masculine) ;
Fresh = mkAP (mkA "frais" "fraîche" "frais" "fraîchement") ;
Warm = mkAP (mkA "chaud") ;
Italian = mkAP (mkA "italien") ;
Expensive = mkAP (mkA "cher") ;
Delicious = mkAP (mkA "délicieux") ;
Boring = mkAP (mkA "ennuyeux") ;
}

View File

@@ -8,7 +8,7 @@ import qualified Data.List as L
import qualified Data.Map as Map
import Text.Printf (printf)
import System.Directory (listDirectory)
import System.FilePath ((</>), (<.>), takeBaseName, takeExtension)
import System.FilePath ((</>), (<.>), takeBaseName, takeExtension, dropExtension)
dir :: FilePath
dir = "testsuite" </> "lpgf"
@@ -20,12 +20,19 @@ main = do
doGrammar "Params"
doGrammar "Walking"
doGrammar "Foods"
-- doGrammar' "Foods" ["Fre"]
doGrammar :: String -> IO ()
doGrammar gname = do
doGrammar gname = doGrammar' gname []
doGrammar' :: String -> [String] -> IO ()
doGrammar' gname cncs = do
-- Collect concrete modules
mods <- map (dir </>)
. filter (\p -> gname `L.isPrefixOf` takeBaseName p && takeExtension p == ".gf")
. filter (\p -> gname `L.isPrefixOf` takeBaseName p
&& takeExtension p == ".gf"
&& null cncs || any (`L.isSuffixOf` dropExtension p) cncs
)
<$> listDirectory dir
-- Compile LPGF