forked from GitHub/gf-rgl
Merge branch 'master' of https://github.com/GrammaticalFramework/GF
This commit is contained in:
45
doc/DocExtend.hs
Normal file
45
doc/DocExtend.hs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
main = docExtend
|
||||||
|
|
||||||
|
docExtend = do
|
||||||
|
|
||||||
|
-- read the abstract syntax file
|
||||||
|
funds <- readFile "../src/abstract/Extend.gf" >>= return . map words . lines
|
||||||
|
|
||||||
|
-- function format:
|
||||||
|
-- GenNP : NP -> Quant ; -- this man's
|
||||||
|
let funs = [[fu,unwords ty,unwords co] | fu:":":ws <- funds, (ty,_:_:co) <- [break (==";") ws]]
|
||||||
|
--- mapM print funs
|
||||||
|
|
||||||
|
-- read the concrete syntax functor
|
||||||
|
funcs <- readFile "../src/common/ExtendFunctor.gf" >>= return . map words . lines
|
||||||
|
|
||||||
|
-- definition format: one of
|
||||||
|
-- GenNP = variants {} ; -- NP -> Quant ; -- this man's
|
||||||
|
-- UttDatIP ip = UttAccIP (lin IP ip) ; -- whom (dative) ; DEFAULT who
|
||||||
|
let defs = [[[fu],de,co] | fuws <- funcs, (fu:_,_:ws) <- [break (=="=") fuws], (de,_:_:co) <- [break (==";") ws]]
|
||||||
|
let undef de co = if de == ["variants", "{}"] then "-" else unwords (tail (dropWhile (/="DEFAULT") co))
|
||||||
|
let fundefs = [[fu,ty,co,undef d c] | fu:ty:co:_ <- funs, [f]:d:c:_ <- defs, f==fu]
|
||||||
|
--- mapM print fundefs
|
||||||
|
|
||||||
|
-- read the functor exclusion lists for each language
|
||||||
|
let langs = [("Eng","english"),("Dut","dutch"),("Spa","spanish")] --,("Swe","swedish")]
|
||||||
|
funss <- mapM getExclusions langs
|
||||||
|
mapM_ print funss
|
||||||
|
let langfuns = zip (map fst langs) funss
|
||||||
|
let funlangs = [(fu,[lang | (lang,fs) <- langfuns, elem fu fs]) | fu:_ <- funs]
|
||||||
|
let fundeflangs = [[fu,ty,co,de,unwords ls] | fu:ty:co:de:_ <- fundefs, (f,ls) <- funlangs, f==fu]
|
||||||
|
mapM print fundeflangs
|
||||||
|
|
||||||
|
-- exclusion format:
|
||||||
|
-- concrete ExtendEng of Extend =
|
||||||
|
-- CatEng ** ExtendFunctor -
|
||||||
|
-- [
|
||||||
|
-- VPS, ListVPS, RNP, RNPList --- lines between the first [ and ] lines are read
|
||||||
|
-- ]
|
||||||
|
|
||||||
|
getExclusions (lan,language) = do
|
||||||
|
rs <- readFile ("../src/" ++ language ++ "/Extend" ++ lan ++ ".gf") >>= return . map words . lines
|
||||||
|
let excls = case dropWhile (/=["["]) rs of
|
||||||
|
[] -> []
|
||||||
|
_:es -> map (filter (/=',')) $ concat $ takeWhile (/= ["]"]) es
|
||||||
|
return excls
|
||||||
@@ -182,9 +182,9 @@ abstract Extend = Cat ** {
|
|||||||
youPolFem_Pron : Pron ; -- vous (êtes vieille)
|
youPolFem_Pron : Pron ; -- vous (êtes vieille)
|
||||||
|
|
||||||
-- German
|
-- German
|
||||||
UttAccNP : NP -> Utt ; -- mich
|
UttAccNP : NP -> Utt ; -- him (accusative)
|
||||||
UttDatNP : NP -> Utt ; -- mir
|
UttDatNP : NP -> Utt ; -- him (dative)
|
||||||
UttAccIP : NP -> Utt ; -- wen
|
UttAccIP : NP -> Utt ; -- whom (accusative)
|
||||||
UttDatIP : NP -> Utt ; -- wem
|
UttDatIP : NP -> Utt ; -- whom (dative)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
20
src/api/libraryBrowser/LargeLibraryBrowser.gf
Normal file
20
src/api/libraryBrowser/LargeLibraryBrowser.gf
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
--# -path=.:../../translator
|
||||||
|
abstract LargeLibraryBrowser =
|
||||||
|
Grammar,
|
||||||
|
Dictionary -
|
||||||
|
[
|
||||||
|
above_Prep,after_Prep,all_Predet,almost_AdA,almost_AdN,although_Subj,always_AdV,and_Conj,at_least_AdN,because_Subj,before_Prep,behind_Prep,
|
||||||
|
between_Prep,both7and_DConj,but_PConj,during_Prep,either7or_DConj,every_Det,everybody_NP,everything_NP,everywhere_Adv,except_Prep,few_Det,
|
||||||
|
for_Prep,from_Prep,have_V2,he_Pron,here_Adv,how8many_IDet,how_IAdv,i_Pron,if_Subj,in_Prep,it_Pron,many_Det,much_Det,must_VV,no_Quant,nobody_NP,
|
||||||
|
nothing_NP,on_Prep,only_Predet,or_Conj,please_Voc,quite_Adv,she_Pron,so_AdA,somebody_NP,something_NP,somewhere_Adv,that_Quant,that_Subj,
|
||||||
|
there_Adv,they_Pron,this_Quant,through_Prep,to_Prep,too_AdA,under_Prep,very_AdA,want_VV,we_Pron,whatPl_IP,whatSg_IP,when_IAdv,when_Subj,
|
||||||
|
where_IAdv,which_IQuant,whoPl_IP,whoSg_IP,why_IAdv,with_Prep,without_Prep,youPl_Pron,youPol_Pron,youSg_Pron
|
||||||
|
]
|
||||||
|
** {
|
||||||
|
flags startcat = Utt ;
|
||||||
|
|
||||||
|
fun
|
||||||
|
i_NP, you_NP, he_NP, she_NP, we_NP, youPl_NP, youPol_NP, they_NP : NP ;
|
||||||
|
a_Det, the_Det, aPl_Det, thePl_Det : Det ;
|
||||||
|
|
||||||
|
}
|
||||||
65473
src/api/libraryBrowser/LargeLibraryBrowserAPI.gf
Normal file
65473
src/api/libraryBrowser/LargeLibraryBrowserAPI.gf
Normal file
File diff suppressed because it is too large
Load Diff
31
src/api/libraryBrowser/LargeLibraryBrowserEng.gf
Normal file
31
src/api/libraryBrowser/LargeLibraryBrowserEng.gf
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
--# -path=.:../../translator
|
||||||
|
|
||||||
|
concrete LargeLibraryBrowserEng of LargeLibraryBrowser =
|
||||||
|
GrammarEng,
|
||||||
|
DictionaryEng -
|
||||||
|
[
|
||||||
|
above_Prep,after_Prep,all_Predet,almost_AdA,almost_AdN,although_Subj,always_AdV,and_Conj,at_least_AdN,because_Subj,before_Prep,behind_Prep,
|
||||||
|
between_Prep,both7and_DConj,but_PConj,during_Prep,either7or_DConj,every_Det,everybody_NP,everything_NP,everywhere_Adv,except_Prep,few_Det,
|
||||||
|
for_Prep,from_Prep,have_V2,he_Pron,here_Adv,how8many_IDet,how_IAdv,i_Pron,if_Subj,in_Prep,it_Pron,many_Det,much_Det,must_VV,no_Quant,nobody_NP,
|
||||||
|
nothing_NP,on_Prep,only_Predet,or_Conj,please_Voc,quite_Adv,she_Pron,so_AdA,somebody_NP,something_NP,somewhere_Adv,that_Quant,that_Subj,
|
||||||
|
there_Adv,they_Pron,this_Quant,through_Prep,to_Prep,too_AdA,under_Prep,very_AdA,want_VV,we_Pron,whatPl_IP,whatSg_IP,when_IAdv,when_Subj,
|
||||||
|
where_IAdv,which_IQuant,whoPl_IP,whoSg_IP,why_IAdv,with_Prep,without_Prep,youPl_Pron,youPol_Pron,youSg_Pron
|
||||||
|
]
|
||||||
|
** open (S = SyntaxEng) in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
i_NP = S.i_NP ;
|
||||||
|
you_NP = S.you_NP ;
|
||||||
|
he_NP = S.he_NP ;
|
||||||
|
she_NP = S.she_NP ;
|
||||||
|
we_NP = S.we_NP ;
|
||||||
|
youPl_NP = S.youPl_NP ;
|
||||||
|
youPol_NP = S.youPol_NP ;
|
||||||
|
they_NP = S.they_NP ;
|
||||||
|
|
||||||
|
a_Det = S.mkDet S.a_Quant ;
|
||||||
|
the_Det = S.mkDet S.the_Quant ;
|
||||||
|
aPl_Det = S.mkDet S.a_Quant S.plNum ;
|
||||||
|
thePl_Det = S.mkDet S.the_Quant S.plNum ;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -85,9 +85,9 @@ lin
|
|||||||
youPlFem_Pron = youPl_Pron ;
|
youPlFem_Pron = youPl_Pron ;
|
||||||
theyFem_Pron = they_Pron ;
|
theyFem_Pron = they_Pron ;
|
||||||
youPolFem_Pron = youPol_Pron ;
|
youPolFem_Pron = youPol_Pron ;
|
||||||
UttAccNP = UttNP ;
|
UttAccNP = UttNP ; -- him (accusative) ; DEFAULT he
|
||||||
UttDatNP = UttNP ;
|
UttDatNP np = UttAccNP (lin NP np) ; -- him(dative) ; DEFAULT he
|
||||||
UttAccIP = UttIP ;
|
UttAccIP = UttIP ; -- whom (accusative) ; DEFAULT who
|
||||||
UttDatIP = UttIP ;
|
UttDatIP ip = UttAccIP (lin IP ip) ; -- whom (dative) ; DEFAULT who
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,18 @@
|
|||||||
--# -path=.:../common:../abstract
|
--# -path=.:../common:../abstract
|
||||||
|
|
||||||
concrete ExtendEng of Extend =
|
concrete ExtendEng of Extend =
|
||||||
CatEng ** ExtendFunctor [ProDrop]
|
CatEng ** ExtendFunctor -
|
||||||
|
[
|
||||||
|
VPS, ListVPS, RNP, RNPList,
|
||||||
|
AdAdV, AdjAsCN, AdjAsNP, ApposNP, BaseVPS, Base_nr_RNP, Base_rn_RNP, Base_rr_RNP, ByVP, CompBareCN,
|
||||||
|
CompIQuant, CompQS, CompS, CompVP, ComplBareVS, ComplGenVV, ComplSlashPartLast, ComplVPSVV, CompoundAP,
|
||||||
|
CompoundN, ConjRNP, ConjVPS, ConsVPS, Cons_nr_RNP, Cons_rr_RNP, DetNPFem, EmbedPresPart, EmptyRelSlash,
|
||||||
|
ExistsNP, FocusAP, FocusAdV, FocusAdv, FocusObj, FrontExtPredVP, GenIP, GenModIP, GenModNP, GenNP, GenRP,
|
||||||
|
GerundAdv, GerundCN, GerundNP, IAdvAdv, ICompAP, InOrderToVP, InvFrontExtPredVP, MkVPS, NominalizeVPSlashNP,
|
||||||
|
PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN,
|
||||||
|
PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash,
|
||||||
|
UncontractedNeg, UttAccIP, UttAccNP, UttAdV, UttDatIP, UttDatNP, UttVPShort, WithoutVP
|
||||||
|
]
|
||||||
with
|
with
|
||||||
(Grammar = GrammarEng) **
|
(Grammar = GrammarEng) **
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user