mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 11:19:32 -06:00
checked 600 entries in DictionaryFre ; CheckDict.hs, functions for dictionary checking
This commit is contained in:
20
lib/src/translator/CheckDict.hs
Normal file
20
lib/src/translator/CheckDict.hs
Normal file
@@ -0,0 +1,20 @@
|
||||
import qualified Data.Map
|
||||
|
||||
createConcrete lang = do
|
||||
bnc <- readFile "bnc-to-check.txt" >>= return . words -- list of BNC funs
|
||||
dict <- readFile (gfFile "Dictionary" lang) >>= return . map words . lines -- current lang lexicon
|
||||
let dictmap = Data.Map.fromList [(f,unwords ws) | "lin":f:"=":ws <- dict]
|
||||
let bncdict = [(f,maybe "variants{} ;" id $ Data.Map.lookup f dictmap) | f <- bnc] -- current lang for BNC
|
||||
writeFile (gfFile "todo/TopDict" lang) $ unlines [unwords ("lin":f:"=":[ws]) | (f,ws) <- bncdict] -- print inspectable file
|
||||
|
||||
gfFile body lang = body ++ lang ++ ".gf"
|
||||
|
||||
|
||||
mergeDict lang = do
|
||||
old <- readFile (gfFile "Dictionary" lang) >>= return . map words . lines -- read old lexicon
|
||||
new <- readFile "corrects.txt" >>= return . map words . lines -- read corrected and new words
|
||||
let oldmap = Data.Map.fromList [(f,unwords ws) | "lin":f:"=":ws <- old]
|
||||
let newlist = [(f,unwords (takeWhile (/= "--") ws)) | "lin":f:"=":ws <- new] -- drop comments from corrected words
|
||||
let newmap = foldr (uncurry Data.Map.insert) oldmap newlist -- insert corrected words
|
||||
writeFile "newdict.txt" $ unlines [unwords ("lin":f:"=":[ws]) | (f,ws) <- Data.Map.assocs newmap] -- print lin rules
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,17 @@
|
||||
---- checked by AR till long_Adv
|
||||
---- checked by AR till once_Adv
|
||||
|
||||
concrete TopDictFre of TopDict = CatFre ** open ParadigmsFre,
|
||||
(S = StructuralFre),
|
||||
concrete TopDictFre of TopDict = CatFre ** open
|
||||
ParadigmsFre,
|
||||
(P = ParadigmsFre),
|
||||
(S = SyntaxFre),
|
||||
(L = LexiconFre),
|
||||
(I = IrregFre),
|
||||
(E = ExtraFre),
|
||||
(M = MakeStructuralFre),
|
||||
(E = ExtraFre),
|
||||
(Ph = PhonoFre),
|
||||
MorphoFre, ParadigmsFre, Prelude in {
|
||||
(M = MakeStructuralFre),
|
||||
MorphoFre,
|
||||
Prelude in {
|
||||
|
||||
oper
|
||||
mkInterj : Str -> Interj = \s -> lin Interj (ss s) ;
|
||||
@@ -96,12 +100,12 @@ lin into_Prep = mkPrep "dans" ;
|
||||
lin then_Adv = mkAdv "ensuite" | mkAdv "alors" | mkAdv "puis" ;
|
||||
lin think_VS = mkVS (mkV "penser") ;
|
||||
lin think_V2A = mkV2A (mkV "penser") ;
|
||||
lin think_V2 = mkV2 (mkV "penser") dative ;
|
||||
lin think_V2 = mkV2 (mkV "penser") P.dative ;
|
||||
lin think_V = L.think_V ;
|
||||
lin come_VV = mkVV I.venir_V ; ---- subcat
|
||||
lin come_VS = mkVS I.venir_V ; ---- subcat
|
||||
lin come_VA = mkVA I.devenir_V ; ---- subcat
|
||||
lin come_V2 = mkV2 (mkV I.venir_V) dative | mkV2 (mkV "arriver") dative ;
|
||||
lin come_V2 = mkV2 (mkV I.venir_V) P.dative | mkV2 (mkV "arriver") P.dative ;
|
||||
lin come_V = L.come_V ;
|
||||
lin than_Subj = M.mkSubj Ph.elisQue ;
|
||||
lin more_Adv = mkAdv "plus" | mkAdv "davantage" ;
|
||||
@@ -131,7 +135,7 @@ lin look_V2 = mkV2 "regarder" ;
|
||||
lin look_V = mkV "regarder" ;
|
||||
lin like_Prep = mkPrep "comme" ;
|
||||
lin use_VV = mkVV (mkV "pratiguer") ; ---- what does this mean?
|
||||
lin use_V2V = mkV2V (mkV "utiliser") accusative (mkPrep "pour") ;
|
||||
lin use_V2V = mkV2V (mkV "utiliser") ParadigmsFre.accusative (mkPrep "pour") ;
|
||||
lin use_V2 = mkV2 "utiliser" ;
|
||||
lin use_V = mkV "utiliser" ;
|
||||
lin because_Subj = S.because_Subj ;
|
||||
@@ -160,11 +164,11 @@ lin thing_N = mkN "chose" feminine ;
|
||||
lin tell_VV = variants{} ;
|
||||
lin tell_VS = variants{} ;
|
||||
lin tell_V3 = mkV3 (mkV I.dire_V2) ; -- tocheck
|
||||
lin tell_1_V3 = mkV3 (mkV "raconter") accusative dative ;
|
||||
lin tell_2_V3 = mkV3 (mkV "distinguer") accusative genitive ;
|
||||
lin tell_V2V = mkV2V (mkV I.dire_V2) dative genitive ;
|
||||
lin tell_1_V3 = mkV3 (mkV "raconter") P.accusative P.dative ;
|
||||
lin tell_2_V3 = mkV3 (mkV "distinguer") P.accusative P.genitive ;
|
||||
lin tell_V2V = mkV2V (mkV I.dire_V2) P.dative P.genitive ;
|
||||
lin tell_V2S = mkV2S (mkV "raconter") ;
|
||||
lin tell_V2Q = mkV2Q (mkV "raconter") dative ;
|
||||
lin tell_V2Q = mkV2Q (mkV "raconter") P.dative ;
|
||||
lin tell_V2 = mkV2 "raconter" ;
|
||||
lin tell_V = mkV "raconter" ;
|
||||
lin through_Prep = S.through_Prep ;
|
||||
@@ -311,7 +315,7 @@ lin provide_V = mkV "fournir" ; ----
|
||||
lin week_N = mkN "semaine" feminine ;
|
||||
lin hold_VS = mkVS (mkV I.tenir_V2) ;
|
||||
lin hold_V3 = mkV3 (mkV I.retenir_V2) ; ---- subcat
|
||||
lin hold_V2V = mkV2V (mkV I.tenir_V2) accusative dative ; ---- subcatx
|
||||
lin hold_V2V = mkV2V (mkV I.tenir_V2) P.accusative P.dative ; ---- subcatx
|
||||
lin hold_V2 = L.hold_V2 ;
|
||||
lin hold_V = mkV I.tenir_V2 ;
|
||||
lin large_A = mkA "grand" ; -- tocheck
|
||||
@@ -376,7 +380,7 @@ lin set_V2 = mkV2 (mkV I.mettre_V2) ;
|
||||
lin set_V = I.mettre_V2 ; ---- subcat
|
||||
lin help_VV = aVV (mkV "aider") ; ---- subcat
|
||||
lin help_VS = mkVS (mkV "aider") ;
|
||||
lin help_V2V = mkV2V (mkV "aider") accusative dative ;
|
||||
lin help_V2V = mkV2V (mkV "aider") P.accusative P.dative ;
|
||||
lin help_V2 = mkV2 "aider" ;
|
||||
lin help_V = mkV "aider" ;
|
||||
lin every_Det = S.every_Det ;
|
||||
@@ -393,11 +397,11 @@ lin business_N = mkN "entreprise" feminine | mkN "affaire" feminine ;
|
||||
lin play_VV = aVV (mkV "jouer") ; ---- subcat
|
||||
lin play_V2 = L.play_V2 ;
|
||||
lin play_V = L.play_V ;
|
||||
lin play_3_V2 = mkV2 (mkV "jouer") genitive ;
|
||||
lin play_3_V2 = mkV2 (mkV "jouer") P.genitive ;
|
||||
lin play_3_V = mkV "jouer" ;
|
||||
lin play_2_V2 = mkV2 (mkV "jouer") dative ;
|
||||
lin play_2_V2 = mkV2 (mkV "jouer") P.dative ;
|
||||
lin play_2_V = mkV "jouer" ;
|
||||
lin play_1_V2 = mkV2 (mkV "jouer") dative ;
|
||||
lin play_1_V2 = mkV2 (mkV "jouer") P.dative ;
|
||||
lin play_1_V = mkV "jouer" ;
|
||||
lin power_N = mkN "puissance" feminine | mkN "pouvoir" masculine | mkN "électricité" feminine ; --- split -- | electricity
|
||||
lin money_N = mkN "argent" ;
|
||||
@@ -503,113 +507,113 @@ lin carry_V = mkV "porter" ;
|
||||
lin authority_N = mkN "autorité" feminine ;
|
||||
lin authority_2_N = mkN "autorité" feminine ;
|
||||
lin authority_1_N = mkN "autorité" feminine ;
|
||||
lin long_Adv = mkAdv "longtemps" ; ---- checked up to this by AR
|
||||
lin early_A = mkA "ancien" ; -- tocheck
|
||||
lin view_N = mkN "vision" feminine | mkN "vue" feminine | mkN "regard" masculine ; -- tocheck
|
||||
lin view_2_N = variants{} ;
|
||||
lin view_1_N = variants{} ;
|
||||
lin public_A = mkA "public" ; -- tocheck
|
||||
lin together_Adv = mkAdv "ensemble" ; -- tocheck
|
||||
lin talk_V2 = mkV2 (mkV "parler") ; -- tocheck
|
||||
lin talk_V = variants{} ;
|
||||
lin report_N = mkN "rapport" masculine ; -- tocheck
|
||||
lin after_Subj = variants{} ;
|
||||
lin long_Adv = mkAdv "longtemps" ;
|
||||
lin early_A = mkA "ancien" ; ---- not really A in Fre
|
||||
lin view_N = mkN "vue" feminine ;
|
||||
lin view_2_N = mkN "vue" ;
|
||||
lin view_1_N = mkN "vue" ;
|
||||
lin public_A = mkA "public" "publique" ;
|
||||
lin together_Adv = mkAdv "ensemble" ;
|
||||
lin talk_V2 = mkV2 (mkV "parler") ;
|
||||
lin talk_V = mkV "parler" ;
|
||||
lin report_N = mkN "rapport" masculine ;
|
||||
lin after_Subj = M.mkSubj ("après" ++ Ph.elisQue) ;
|
||||
lin only_Predet = S.only_Predet ;
|
||||
lin before_Subj = variants{} ;
|
||||
lin bit_N = mkN "bit" masculine | mkN "mors" masculine ; -- tocheck
|
||||
lin face_N = mkN "physionomie" feminine | mkN "visage" masculine | mkN "face" feminine | mkN "face" | mkN "gueule" feminine ; -- tocheck
|
||||
lin sit_VA = variants{} ;
|
||||
lin sit_V2 = mkV2 (reflV (mkV I.asseoir_V2)) ; -- tocheck
|
||||
lin before_Subj = M.mkSubjSubj ("avant" ++ Ph.elisQue) ; ---- ne in the subord clause
|
||||
lin bit_N = mkN "morceau" masculine | mkN "bit" masculine ; --- split -- | bit of bread -- | 16 bits
|
||||
lin face_N = mkN "visage" masculine | mkN "face" feminine ;
|
||||
lin sit_VA = mkVA (mkV "rester") ; --- subcat
|
||||
lin sit_V2 = I.asseoir_V2 ;
|
||||
lin sit_V = L.sit_V ;
|
||||
lin market_N = mkN "marché" masculine ; -- tocheck
|
||||
lin market_1_N = variants{} ;
|
||||
lin market_2_N = variants{} ;
|
||||
lin appear_VV = variants{} ;
|
||||
lin appear_VS = variants{} ;
|
||||
lin appear_VA = variants{} ;
|
||||
lin appear_V2 = mkV2 (mkV I.apparaître_V) | mkV2 (mkV "sembler") ; -- tocheck
|
||||
lin appear_V = variants{} ;
|
||||
lin continue_VV = variants{} ;
|
||||
lin continue_VS = variants{} ;
|
||||
lin continue_V2 = mkV2 (mkV "continuer") ; -- tocheck
|
||||
lin continue_V = variants{} ;
|
||||
lin able_A = mkA "habilité" | mkA "capable" ; -- tocheck
|
||||
lin political_A = mkA "politique" ; -- tocheck
|
||||
lin later_Adv = variants{} ;
|
||||
lin hour_N = mkN "heure" feminine ; -- tocheck
|
||||
lin rate_N = mkN "taux" | mkN "proportion" feminine ; -- tocheck
|
||||
lin law_N = mkN "droit" feminine | mkN "loi" feminine ; -- tocheck
|
||||
lin law_2_N = variants{} ;
|
||||
lin law_1_N = variants{} ;
|
||||
lin market_N = mkN "marché" masculine ;
|
||||
lin market_1_N = mkN "marché" masculine ;
|
||||
lin market_2_N = mkN "marché" masculine ;
|
||||
lin appear_VV = mkVV (mkV "sembler") ;
|
||||
lin appear_VS = mkVS (mkV "sembler") ;
|
||||
lin appear_VA = mkVA (mkV "sembler") ;
|
||||
lin appear_V2 = mkV2 (mkV I.apparaître_V) | mkV2 (mkV I.paraître_V) | mkV2 (mkV "sembler") ;
|
||||
lin appear_V = I.paraître_V ;
|
||||
lin continue_VV = aVV (mkV "continuer") ;
|
||||
lin continue_VS = mkVS (mkV "continuer") ; --- subcat
|
||||
lin continue_V2 = mkV2 (mkV "continuer") ;
|
||||
lin continue_V = mkV "continuer" ;
|
||||
lin able_A = mkA "capable" ;
|
||||
lin political_A = mkA "politique" ;
|
||||
lin later_Adv = mkAdv "plus tard" ;
|
||||
lin hour_N = mkN "heure" feminine ;
|
||||
lin rate_N = mkN "taux" | mkN "proportion" feminine ;
|
||||
lin law_N = mkN "droit" | mkN "loi" feminine ;
|
||||
lin law_2_N = mkN "droit" ;
|
||||
lin law_1_N = mkN "loi" feminine ;
|
||||
lin door_N = L.door_N ;
|
||||
lin court_N = mkN "cour" feminine | mkN "cour" ; -- tocheck
|
||||
lin court_2_N = variants{} ;
|
||||
lin court_1_N = variants{} ;
|
||||
lin office_N = mkN "office" masculine | mkN "bureau" masculine ; -- tocheck
|
||||
lin let_VS = variants{} ;
|
||||
lin let_V2V = mkV2V (mkV "laisser") | mkV2V (mkV "louer") ; -- tocheck
|
||||
lin let_V2 = variants{} ;
|
||||
lin let_V = variants{} ;
|
||||
lin court_N = mkN "cour" feminine ;
|
||||
lin court_2_N = mkN "cour" feminine ;
|
||||
lin court_1_N = mkN "cour" feminine ;
|
||||
lin office_N = mkN "bureau" masculine | mkN "office" masculine ;
|
||||
lin let_VS = mkVS (mkV "laisser") ;
|
||||
lin let_V2V = mkV2V (mkV "laisser") ;
|
||||
lin let_V2 = I.permettre_V2 ;
|
||||
lin let_V = mkV I.permettre_V2 ; --- subcat
|
||||
lin war_N = L.war_N ;
|
||||
lin produce_V2 = mkV2 (mkV I.produire_V2) ; -- tocheck
|
||||
lin produce_V = variants{} ;
|
||||
lin produce_V2 = mkV2 (mkV I.produire_V2) ;
|
||||
lin produce_V = mkV I.produire_V2 ;
|
||||
lin reason_N = L.reason_N ;
|
||||
lin less_Adv = mkAdv "moins" ; -- tocheck
|
||||
lin minister_N = mkN "pasteur" | mkN "ministre" ; -- tocheck
|
||||
lin minister_2_N = variants{} ;
|
||||
lin minister_1_N = variants{} ;
|
||||
lin less_Adv = mkAdv "moins" ;
|
||||
lin minister_N = mkN "pasteur" | mkN "ministre" masculine ;
|
||||
lin minister_2_N = mkN "pasteur" ;
|
||||
lin minister_1_N = mkN "ministre" masculine ;
|
||||
lin subject_N = mkN "sujet" masculine | mkN "matière" feminine ; -- tocheck
|
||||
lin subject_2_N = variants{} ;
|
||||
lin subject_1_N = variants{} ;
|
||||
lin subject_2_N = mkN "sujet" ;
|
||||
lin subject_1_N = mkN "sujet" ;
|
||||
lin person_N = L.person_N ;
|
||||
lin term_N = mkN "terme" masculine | mkN "trimestre" masculine | mkN "limite" feminine ; -- tocheck
|
||||
lin particular_A = variants{} ;
|
||||
lin term_N = mkN "terme" masculine | mkN "trimestre" masculine | mkN "limite" feminine ; --- split
|
||||
lin particular_A = mkA "particulier" ;
|
||||
lin full_A = L.full_A ;
|
||||
lin involve_VS = variants{} ;
|
||||
lin involve_V2 = variants{} ;
|
||||
lin involve_V = variants{} ;
|
||||
lin sort_N = mkN "triage" masculine | mkN "tri" masculine | mkN "type" masculine ; -- tocheck
|
||||
lin require_VV = variants{} ;
|
||||
lin require_VS = variants{} ;
|
||||
lin involve_VS = mkVS (mkV "impliquer") ;
|
||||
lin involve_V2 = mkV2 (mkV "impliquer") ;
|
||||
lin involve_V = mkV "impliquer" ;
|
||||
lin sort_N = mkN "sorte" | mkN "type" masculine | mkN "triage" masculine | mkN "tri" masculine ;
|
||||
lin require_VV = deVV (mkV "demander") ;
|
||||
lin require_VS = subjVS (mkV "demander") ;
|
||||
lin require_V2V = mkV2V (mkV "exiger") | mkV2V (mkV "demander") ; -- tocheck
|
||||
lin require_V2 = variants{} ;
|
||||
lin require_V = variants{} ;
|
||||
lin suggest_VS = variants{} ;
|
||||
lin suggest_V2 = mkV2 (mkV "proposer") | mkV2 (mkV "suggérer") ; -- tocheck
|
||||
lin suggest_V = variants{} ;
|
||||
lin far_A = mkA "extrême" | mkA "lointain" | mkA "reculé" ; -- tocheck
|
||||
lin towards_Prep = variants{} ;
|
||||
lin anything_NP = variants{} ;
|
||||
lin period_N = mkN "période" feminine | mkN "point" masculine ; -- tocheck
|
||||
lin period_3_N = variants{} ;
|
||||
lin period_2_N = variants{} ;
|
||||
lin period_1_N = variants{} ;
|
||||
lin consider_VV = variants{} ;
|
||||
lin consider_VS = variants{} ;
|
||||
lin consider_V3 = mkV3 (mkV "considérer") | mkV3 (mkV "observer") | mkV3 (mkV I.prendre_V2) | mkV3 (mkV "songer") ; -- tocheck
|
||||
lin consider_V2V = variants{} ;
|
||||
lin consider_V2A = variants{} ;
|
||||
lin consider_V2 = variants{} ;
|
||||
lin consider_V = variants{} ;
|
||||
lin read_VS = variants{} ;
|
||||
lin read_VA = variants{} ;
|
||||
lin require_V2 = mkV2 "demander" ;
|
||||
lin require_V = mkV "demander" ;
|
||||
lin suggest_VS = subjVS (mkV "proposer") | subjVS (mkV "suggérer") ;
|
||||
lin suggest_V2 = mkV2 (mkV "proposer") | mkV2 (mkV "suggérer") ;
|
||||
lin suggest_V = (mkV "proposer") | (mkV "suggérer") ;
|
||||
lin far_A = mkA "lointain" ;
|
||||
lin towards_Prep = mkPrep "vers" ;
|
||||
lin anything_NP = S.mkNP (mkPN "n'importe quoi") ;
|
||||
lin period_N = mkN "période" feminine | mkN "point" masculine ;
|
||||
lin period_3_N = mkN "menstruation" feminine ;
|
||||
lin period_2_N = mkN "point" masculine ;
|
||||
lin period_1_N = mkN "période" feminine ;
|
||||
lin consider_VV = deVV (mkV "considérer") ;
|
||||
lin consider_VS = mkVS (mkV "considérer") ;
|
||||
lin consider_V3 = mkV3 (mkV "considérer") (mkPrep "comme") | mkV3 (mkV I.prendre_V2) (mkPrep "pour") ;
|
||||
lin consider_V2V = mkV2V (mkV "considérer") ;
|
||||
lin consider_V2A = mkV2A (mkV "considérer") ;
|
||||
lin consider_V2 = mkV2 (mkV "considérer") | mkV2 (mkV "songer") ;
|
||||
lin consider_V = mkV "considérer" ;
|
||||
lin read_VS = mkVS L.read_V2 ;
|
||||
lin read_VA = mkVA L.read_V2 ; --- subcat
|
||||
lin read_V2 = L.read_V2 ;
|
||||
lin read_V = variants{} ;
|
||||
lin change_V2 = mkV2 (mkV "changer") | mkV2 (reflV (mkV "changer")) | mkV2 (mkV "remplacer") ; -- tocheck
|
||||
lin change_V = variants{} ;
|
||||
lin society_N = mkN "société" feminine ; -- tocheck
|
||||
lin process_N = mkN "procès" masculine | mkN "recette" ; -- tocheck
|
||||
lin mother_N = mkN "mère" feminine ; -- tocheck
|
||||
lin offer_VV = variants{} ;
|
||||
lin offer_VS = variants{} ;
|
||||
lin offer_V3 = mkV3 (mkV I.offrir_V2) ; -- tocheck
|
||||
lin offer_V2V = variants{} ;
|
||||
lin offer_V2 = variants{} ;
|
||||
lin offer_V = variants{} ;
|
||||
lin late_A = mkA "défunt" | mkA "tard" ; -- tocheck
|
||||
lin voice_N = mkN "son" | mkN "voix" feminine ; -- tocheck
|
||||
lin both_Adv = variants{} ;
|
||||
lin once_Adv = variants{} ;
|
||||
lin read_V = mkV L.read_V2 ;
|
||||
lin change_V2 = mkV2 (mkV "changer") ;
|
||||
lin change_V = reflV (mkV "changer") ;
|
||||
lin society_N = mkN "société" feminine ;
|
||||
lin process_N = mkN "processus" ;
|
||||
lin mother_N = mkN "mère" feminine ;
|
||||
lin offer_VV = deVV I.offrir_V2 ;
|
||||
lin offer_VS = mkVS I.offrir_V2 ; --- subcat
|
||||
lin offer_V3 = mkV3 (mkV I.offrir_V2) ;
|
||||
lin offer_V2V = mkV2V (mkV I.offrir_V2) ;
|
||||
lin offer_V2 = I.offrir_V2 ;
|
||||
lin offer_V = I.offrir_V2 ;
|
||||
lin late_A = mkA "tardif" ; ---- not A in Fre
|
||||
lin voice_N = mkN "voix" feminine ;
|
||||
lin both_Adv = mkAdv "tous les deux" ; --- why Adv
|
||||
lin once_Adv = mkAdv "une fois" ; ---- up to this checked by AR
|
||||
lin police_N = mkN "policier" masculine | mkN "police" feminine ; -- tocheck
|
||||
lin kind_N = mkN "nature" | mkN "genre" masculine ; -- tocheck
|
||||
lin lose_V2 = L.lose_V2 ;
|
||||
|
||||
Reference in New Issue
Block a user