small adjustments in Make.hs and some resources to make the lib compile with less warnings and without errors

This commit is contained in:
aarne
2010-04-14 16:25:17 +00:00
parent bb6c246f99
commit a761872256
12 changed files with 129 additions and 59 deletions

View File

@@ -1,8 +1,8 @@
DisambPhrasebookEng :
PhrasebookEng :
PhrasebookFin :
PhrasebookFre :
PhrasebookGer : Bar Chicken Cinema Coffee Dollar GNiceToMeetYou Hotel Lei Meat Museum PSeeYou PSeeYouPlace Park School Shop Suspect Tea Theatre Toilet
PhrasebookFre : AHasRoom AHasTable AReady Cheap Cinema Hotel PSeeYou PSeeYouPlace Park School Shop Suspect Theatre Tomorrow University
PhrasebookGer : AHasAge AHasChildren AHasRoom AHasTable AMarried AReady Bar Cheap Chicken Children Cinema Coffee Daughter Dollar Flemish GNiceToMeetYou Hotel Husband Lei Meat Museum PSeeYou PSeeYouPlace Park QWhatAge Romanian School Shop Son Suspect Swedish SwedishCrown Tea Theatre Toilet Tomorrow Wife
PhrasebookIta :
PhrasebookRon : AHungry AThirsty Flemish GExcusePol GPleaseGivePol GSorryPol
PhrasebookSwe :

View File

@@ -10,7 +10,7 @@ import System.Exit
-- Make commands for compiling and testing resource grammars.
-- usage: runghc Make ((present? OPT?) | (clone FILE))? LANGS?
-- where
-- - OPT = (lang | api | math | pgf | test | parse | clean | clone)
-- - OPT = (lang | api | pgf | test | parse | clean | clone)
-- - LANGS has the form e.g. langs=Eng,Fin,Rus
-- - clone with a flag file=FILENAME clones the file to the specified languages,
-- by replacing the 3-letter language name of the original in both
@@ -56,11 +56,17 @@ implied (_,lan) = [fun | ((_,la),fun) <- langsCoding, la == lan, fun /= ""]
langs = map fst langsCoding
-- languagues for which to compile Lang
langsLang = langs `except` ["Tur"]
-- all languagues for which Lang can be compiled
langsLangAll = langs
-- languagues that are almost complete and for which Lang is normally compiled
langsLang = langs `except` ["Ara","Hin","Lat","Tha","Tur"]
-- languages for which to compile Try
langsAPI = langsLang `except` ["Ara","Hin","Ina","Lat","Rus","Tha"]
langsAPI = langsLang `except` ["Ina"]
-- languages for which to compile Symbolic
langsSymbolic = langsLang `except` ["Rus","Ina"]
-- languages for which to compile minimal Syntax
langsMinimal = langs `only` ["Ara","Eng","Bul","Rus"]
@@ -108,12 +114,17 @@ make xx = do
ifx "api" $ do
let lans = optl langsAPI
mapM_ (gfc pres presApiPath . try) lans
copy "api/Constructors.gfo api/Combinators.gfo api/Syntax.gfo" dir
copyld lans "api/*" ".gfo" dir
ifx "symbolic" $ do
let lans = optl langsSymbolic
mapM_ (gfc pres presApiPath . symbolic) lans
copyld lans "api" ".gfo" dir
copy "api/Symbolic.gfo" dir
copyld lans "api/Symbolic" ".gfo" dir
ifx "minimal" $ do
let lans = optl langsMinimal
mapM_ (gfcmin presApiPath . syntax) lans
copyld lans "api" ".gfo" "../minimal"
copyld lans "api/*" ".gfo" "../minimal"
ifxx "pgf" $ do
run_gfc $ ["-s","--make","--name=langs","--parser=off",
"--output-dir=" ++ dir]
@@ -227,8 +238,8 @@ copyl lans from to = do
copyld :: [(String,String)] -> String -> String -> String -> IO ()
copyld lans dir from to = do
mapM_ (\lan -> echosystem $ "cp " ++ dir ++ "/*" ++ lan ++ from ++ " " ++ to)
(map snd lans ++ if (dir == "api") then [] else concatMap implied lans)
mapM_ (\lan -> echosystem $ "cp " ++ dir ++ lan ++ from ++ " " ++ to)
(map snd lans ++ if (take 3 dir == "api") then [] else concatMap implied lans)
return ()
echosystem c = do

View File

@@ -5,15 +5,17 @@ GF_LIB_PATH=..
.PHONY: all present alltenses lang api math prelude test demo parse synopsis link compiled constructX clean
all: link prelude constructX present alltenses compat
all: link prelude constructX present alltenses
present:
$(RUNMAKE) present lang
$(RUNMAKE) present api
$(RUNMAKE) present symbolic
alltenses:
$(RUNMAKE) lang
$(RUNMAKE) api
$(RUNMAKE) symbolic
lang:
$(RUNMAKE) lang
@@ -21,7 +23,7 @@ lang:
api:
$(RUNMAKE) api
compat:
compatibility:
$(RUNMAKE) present compat
prelude:

View File

@@ -48,8 +48,8 @@ oper
mkAdject : (_,_,_,_,_ : Str) -> Adj =
\stor,stort,store,storre,storst -> {s = table {
AF (APosit (Strong SgUtr )) c => mkCase c stor ;
AF (APosit (Strong SgNeutr)) c => mkCase c stort ;
AF (APosit (Strong (GSg Utr))) c => mkCase c stor ;
AF (APosit (Strong (GSg Neutr))) c => mkCase c stort ;
AF (APosit _) c => mkCase c store ;
AF ACompar c => mkCase c storre ;
AF (ASuperl SupStrong) c => mkCase c storst ;

View File

@@ -20,7 +20,7 @@ concrete CatDut of Cat =
-- Question
QCl = {s : Tense => Anteriority => Polarity => QForm => Str} ;
QCl = {s : ResDut.Tense => Anteriority => Polarity => QForm => Str} ;
IP = {s : NPCase => Str ; n : Number} ;
IComp = {s : Agr => Str} ;
IDet = {s : Gender => Str ; n : Number} ;
@@ -28,7 +28,7 @@ concrete CatDut of Cat =
-- Relative
RCl = {s : Tense => Anteriority => Polarity => Gender => Number => Str} ;
RCl = {s : ResDut.Tense => Anteriority => Polarity => Gender => Number => Str} ;
RP = {s : Gender => Number => Str ; a : RAgr} ;
-- Verb

View File

@@ -1,5 +1,5 @@
concrete IdiomDut of Idiom = CatDut **
open MorphoDut, ParadigmsDut, IrregDut, Prelude in {
open MorphoDut, (P = ParadigmsDut), IrregDut, Prelude in {
flags optimize=all_subs ;

View File

@@ -38,6 +38,7 @@ concrete StructuralDut of Structural = CatDut, Prelude **
here7from_Adv = ss ["van hier"] ; ----
here_Adv = ss "hier" ;
how_IAdv = ss "hoe" ;
how8much_IAdv = ss "hoeveel" ;
how8many_IDet = mkDet "hoeveel" "hoeveel" Pl ;
if_Subj = ss "als" ;
in8front_Prep = mkPrep "voor" ;
@@ -71,6 +72,7 @@ concrete StructuralDut of Structural = CatDut, Prelude **
something_NP = mkNP "iets" Utr Sg ;
somewhere_Adv = ss "ergens" ;
that_Quant = mkQuant "die" "dat" ;
that_Subj = ss "dat" ;
there_Adv = ss "daar" ;
there7to_Adv = ss "daar" ;
there7from_Adv = ss "van daar" ;
@@ -116,7 +118,7 @@ concrete StructuralDut of Structural = CatDut, Prelude **
except_Prep = mkPrep "met uitzondering van" ;
as_CAdv = X.mkCAdv "zo" "als" ;
have_V2 = mkV2 hebben_V ;
have_V2 = mkV2 ParadigmsDut.hebben_V ;
lin language_title_Utt = ss "nederlands" ;

View File

@@ -79,5 +79,5 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in {
oper
v2v : VVerb -> VVerb = \v ->
{s = v.s ; aux = v.aux ; prefix = v.prefix ; vtype = v.vtype} ;
predVv : V -> VP = \v -> predV (v2v v) ;
predVv : VVerb -> ResDut.VP = \v -> predV (v2v v) ;
}

View File

@@ -3,7 +3,7 @@
resource MakeStructuralIta = open CatIta, ParadigmsIta, MorphoIta, Prelude in {
oper
mkConj : Str -> Str -> Number -> Conj = \x,y,n ->
mkConj : Str -> Str -> ParadigmsIta.Number -> Conj = \x,y,n ->
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
mkSubj : Str -> Subj = \x ->
{s = x ; m = Indic ; lock_Subj = <>} ;

View File

@@ -406,13 +406,14 @@ resource VerbMorphoPol = ResPol ** open Prelude, CatPol, (Predef=Predef), (Adj=A
let perf = verb.sp; in
let imperf = verb.si; in
table {
<Pres, Simul, gn, p> => nie ++ imperf ! (VFinM (extract_num!gn) p) ++ sie ;
<Pres, Anter, gn, p> => nie ++ perf ! (VPraetM gn p) ++ sie ;
<Past, _, gn, p> => nie ++ perf ! (VPraetM gn p) ++ sie ;
<Fut, Simul, gn, p> => nie ++ bedzie ! <(extract_num!gn), p> ++ sie ++ imperf ! (VPraetM gn P3);
<Fut, Anter, gn, p> => nie ++ perf ! (VFinM (extract_num!gn) p) ++ sie;
<Cond, Simul, gn, p> => nie ++ imperf ! (VCondM gn p) ++ sie;
<Cond, Anter, gn, p> => nie ++ perf ! (VCondM gn p) ++ sie
<Pres, Simul, gn, p> => nie ++ imperf ! (VFinM (extract_num!gn) p) ++ sie
; --# notpresent
<Pres, Anter, gn, p> => nie ++ perf ! (VPraetM gn p) ++ sie ; --# notpresent
<Past, _, gn, p> => nie ++ perf ! (VPraetM gn p) ++ sie ; --# notpresent
<Fut, Simul, gn, p> => nie ++ bedzie ! <(extract_num!gn), p> ++ sie ++ imperf ! (VPraetM gn P3); --# notpresent
<Fut, Anter, gn, p> => nie ++ perf ! (VFinM (extract_num!gn) p) ++ sie; --# notpresent
<Cond, Simul, gn, p> => nie ++ imperf ! (VCondM gn p) ++ sie; --# notpresent
<Cond, Anter, gn, p> => nie ++ perf ! (VCondM gn p) ++ sie --# notpresent
}
};
@@ -422,17 +423,18 @@ resource VerbMorphoPol = ResPol ** open Prelude, CatPol, (Predef=Predef), (Adj=A
let zostac = (case verb.asp of { Imperfective => conj1 "być"; _ => conj3 "zostać" }).s; in
let nie = case pol of { Pos => "" ; Neg => "nie" }; in
table {
<Pres, Simul, gn, p> => nie ++ byc ! (VFinM (extract_num!gn) p) ++ verb.ppart ! AF gn Nom;
<Pres, Anter, gn, p> => nie ++ zostac ! (VPraetM gn p) ++ verb.ppart ! AF gn Nom;
<Past, Simul, gn, p> => nie ++ byc ! (VPraetM gn p) ++ verb.ppart ! AF gn Nom;
<Past, Anter, gn, p> => nie ++ zostac ! (VPraetM gn p) ++ verb.ppart ! AF gn Nom;
<Fut, Simul, gn, p> => nie ++ case verb.asp of {
Perfective => zostac ! (VFinM (extract_num!gn) p);
_ => bedzie ! <extract_num!gn, p>
} ++ verb.ppart ! AF gn Nom;
<Fut, Anter, gn, p> => nie ++ zostac ! (VFinM (extract_num!gn) p) ++ verb.ppart ! AF gn Nom;
<Cond, Simul, gn, p> => nie ++ byc ! (VCondM gn p) ++ verb.ppart ! AF gn Nom;
<Cond, Anter, gn, p> => nie ++ zostac ! (VCondM gn p) ++ verb.ppart ! AF gn Nom
<Pres, Simul, gn, p> => nie ++ byc ! (VFinM (extract_num!gn) p) ++ verb.ppart ! AF gn Nom
; --# notpresent
<Pres, Anter, gn, p> => nie ++ zostac ! (VPraetM gn p) ++ verb.ppart ! AF gn Nom; --# notpresent
<Past, Simul, gn, p> => nie ++ byc ! (VPraetM gn p) ++ verb.ppart ! AF gn Nom; --# notpresent
<Past, Anter, gn, p> => nie ++ zostac ! (VPraetM gn p) ++ verb.ppart ! AF gn Nom; --# notpresent
<Fut, Simul, gn, p> => nie ++ case verb.asp of { --# notpresent
Perfective => zostac ! (VFinM (extract_num!gn) p); --# notpresent
_ => bedzie ! <extract_num!gn, p> --# notpresent
} ++ verb.ppart ! AF gn Nom; --# notpresent
<Fut, Anter, gn, p> => nie ++ zostac ! (VFinM (extract_num!gn) p) ++ verb.ppart ! AF gn Nom; --# notpresent
<Cond, Simul, gn, p> => nie ++ byc ! (VCondM gn p) ++ verb.ppart ! AF gn Nom; --# notpresent
<Cond, Anter, gn, p> => nie ++ zostac ! (VCondM gn p) ++ verb.ppart ! AF gn Nom --# notpresent
};
bedzie : Number * Person => Str = table {

View File

@@ -100,7 +100,13 @@ param
| Ger
| PPasse Gender Number Species ACase ;
TMood = VPres Mood | VImperff | VPasse Mood | VFut | VCondit ;
TMood =
VPres Mood
| VImperff --# notpresent
| VPasse Mood --# notpresent
| VFut --# notpresent
| VCondit --# notpresent
;
NumPersI = SgP2 | PlP1 | PlP2 ;
@@ -109,7 +115,12 @@ param
| VPGerund
| VPInfinit Anteriority Bool ;
RTense = RPres | RPast | RFut | RCond ;
RTense =
RPres
| RPast --# notpresent
| RFut --# notpresent
| RCond --# notpresent
;
oper
copula : VerbPhrase =
@@ -193,22 +204,23 @@ oper
in {
s = table {
VPFinite tm Simul => case tm of
{VPres Indic => vf "" (\a -> verb ! Indi Presn a.n a.p) ;
VPres Conjunct => vf "" (\a -> verb ! Subjo SPres a.n a.p) ;
VImperff => vf "" (\a -> verb ! Indi Imparf a.n a.p) ;
VPasse Indic => vf "" (\a -> pComp ! a.n ! a.p ++ verb ! PPasse Masc Sg Indef ANomAcc) ;
VPasse Conjunct => vf "" (\a -> copula.s! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc) ;
VFut => vf "" (\a -> pFut ! a.n ! a.p ++ verb ! Inf) ;
VCondit => vf "" (\a -> pCond ! a.n ! a.p ++ verb ! Inf)
} ;
VPFinite tm Anter => case tm of
{VPres Indic => vf "" (\a -> pComp ! a.n ! a.p ++ verb ! PPasse Masc Sg Indef ANomAcc) ;
(VPres Conjunct | VPasse Conjunct) => vf "" (\a -> copula.s! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc) ;
VFut => vf "" (\a -> pFut !a.n ! a.p ++ copula.s! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc) ;
VCondit => vf "" (\a -> pCond ! a.n ! a.p ++ copula.s ! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc);
_ => vf "" (\a -> verb ! Indi PPerfect a.n a.p)
};
VPInfinit Anter b=> vf "a" (\a -> copula.s ! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc);
{
VPres Indic => vf "" (\a -> verb ! Indi Presn a.n a.p) ;
VPres Conjunct => vf "" (\a -> verb ! Subjo SPres a.n a.p)
; VImperff => vf "" (\a -> verb ! Indi Imparf a.n a.p) --# notpresent
; VPasse Indic => vf "" (\a -> pComp ! a.n ! a.p ++ verb ! PPasse Masc Sg Indef ANomAcc) ; --# notpresent
VPasse Conjunct => vf "" (\a -> copula.s! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc) ; --# notpresent
VFut => vf "" (\a -> pFut ! a.n ! a.p ++ verb ! Inf) ; --# notpresent
VCondit => vf "" (\a -> pCond ! a.n ! a.p ++ verb ! Inf) --# notpresent
} ;
VPFinite tm Anter => case tm of { --# notpresent
VPres Indic => vf "" (\a -> pComp ! a.n ! a.p ++ verb ! PPasse Masc Sg Indef ANomAcc) ; --# notpresent
(VPres Conjunct | VPasse Conjunct) => vf "" (\a -> copula.s! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc) ; --# notpresent
VFut => vf "" (\a -> pFut !a.n ! a.p ++ copula.s! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc) ; --# notpresent
VCondit => vf "" (\a -> pCond ! a.n ! a.p ++ copula.s ! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc); --# notpresent
_ => vf "" (\a -> verb ! Indi PPerfect a.n a.p) --# notpresent
}; --# notpresentx
VPInfinit Anter b=> vf "a" (\a -> copula.s ! Inf ++ verb ! PPasse Masc Sg Indef ANomAcc); --# notpresent
VPImperat => vf "să" (\a -> verb ! Subjo SPres a.n a.p) ; -- fix it later !
VPGerund => vf "" (\a -> vger) ;
VPInfinit Simul b => vf "a" (\a -> verb ! Inf)
@@ -506,9 +518,9 @@ oper
s = \\d,t,a,b,m =>
let
tm = case t of {
RPast => VPasse m ;
RFut => VFut ;
RCond => VCondit ;
RPast => VPasse m ; --# notpresent
RFut => VFut ; --# notpresent
RCond => VCondit ; --# notpresent
RPres => VPres m
} ;
cmp = case <<t,a,m> : RTense * Anteriority * Mood> of {

View File

@@ -0,0 +1,41 @@
--# -path=.:../abstract:../common
concrete SymbolTur of Symbol = CatTur ** open Prelude, ResTur in {
{- TODO!
lin
SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
NumPN i = {s = i.s ; g = Neutr} ;
CNIntNP cn i = {
s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! c ;
a = agrgP3 Sg cn.g
} ;
CNSymbNP det cn xs = {
s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! c ;
a = agrgP3 det.n cn.g
} ;
CNNumNP cn i = {
s = \\c => cn.s ! Sg ! Nom ++ i.s ! c ;
a = agrgP3 Sg cn.g
} ;
SymbS sy = sy ;
SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
-}
lincat
Symb, [Symb] = SS ;
lin
MkSymb s = s ;
-- BaseSymb = infixSS "and" ;
ConsSymb = infixSS "," ;
}