FM-SBLEX 3.0 → 3.0.1
raw patch · 8 files changed
+133/−9 lines, 8 files
Files
- FM-SBLEX.cabal +1/−1
- src/dalin/CommandsSw.hs +3/−1
- src/dalin/OtherBuildSw.hs +3/−0
- src/dalin/TestSw.hs +4/−4
- src/dalin/TypesSw.hs +10/−0
- src/fsv/Build.hs +85/−0
- src/fsv/Commands.hs +22/−1
- src/fsv/Dict.hs +5/−2
FM-SBLEX.cabal view
@@ -1,5 +1,5 @@ Name: FM-SBLEX-Version: 3.0+Version: 3.0.1 cabal-version: >= 1.2 build-type: Simple category: Natural Language Processing
src/dalin/CommandsSw.hs view
@@ -65,7 +65,9 @@ paradigm_h "pp_i_af" ["af"] prep, - paradigm_h "kn_i_och" ["och"] conj+ paradigm_h "kn_i_och" ["och"] conj,+ + paradigm_h "prim" ["prim"] prim ] {-
src/dalin/OtherBuildSw.hs view
@@ -135,6 +135,9 @@ pn_interrog_inv :: String -> Entry pn_interrog_inv = entry . (const :: Str -> InterrogInvForm -> Str) . mkStr +prim :: String -> Entry+prim = entry . (const :: Str -> Prim -> Str) . mkStr+ pn_inv :: String -> Entry pn_inv = entry . (const :: Str -> PronInvForm -> Str) . mkStr
src/dalin/TestSw.hs view
@@ -192,8 +192,8 @@ in_conjugation :: TestInput -> Char -> String -> String -> Result in_conjugation t c suff suff2- | is_a_word t && (tcat t == "vb") && conj t c && param t ["pres","ind","aktiv"] && not (isSuffixOf suff (w t)) = message t $ "invalid ending in conjugation " ++ [c]- | is_a_word t && (tcat t == "vb") && conj t c && param t ["pret","ind","aktiv"] && not (isSuffixOf suff2 (w t)) = message t $ "invalid ending in conjugation " ++ [c]+ | is_a_word t && (tcat t == "vb") && conj t c && param t ["pres","ind","aktiv","1p"] && not (isSuffixOf suff (w t)) = message t $ "invalid ending in conjugation " ++ [c]+ | is_a_word t && (tcat t == "vb") && conj t c && param t ["pret","ind","aktiv","1p"] && not (isSuffixOf suff2 (w t)) = message t $ "invalid ending in conjugation " ++ [c] | otherwise = pass conj1 t = in_conjugation t '1' "ar" "ade"@@ -210,7 +210,7 @@ konj_e :: TestInput -> Result konj_e t- | is_a_word t && tcat t == "vb" && param t ["konj", "aktiv"] && (last (w t) /= 'e') = message t "missing 'e' on konj"+ | is_a_word t && tcat t == "vb" && param t ["konj", "aktiv","1p"] && (last (w t) /= 'e') = message t "missing 'e' on konj" | otherwise = pass end_with_h :: TestInput -> Result@@ -221,7 +221,7 @@ konj_2_es :: TestInput -> Result konj_2_es t- | is_a_word t && tcat t == "vb" && conj t '2' && (param t ["s-form","pres"]) && + | is_a_word t && tcat t == "vb" && conj t '2' && (param t ["s-form","pres","p1"]) && ((dp 2 (w t)) /= "es") && (dp 1 (tk 1 (thead t)) == "s") = message t "s-form not ending with 'es' in conj. 2" | otherwise = pass
src/dalin/TypesSw.hs view
@@ -176,6 +176,13 @@ values = enum prValue (AdjMInv) = "invar" +data Prim = Prim+ deriving (Eq, Ord, Show, Read, Enum, Bounded)++instance Param Prim where+ values = enum+ prValue (Prim) = "prim"+ instance Param GenNum where values = enum prValue (ASgUtr) = "sg" ++ " " ++ prValue Fem@@ -598,6 +605,9 @@ defaultAttr _ = w_attr instance Dict AdjMInv where category _ = "avm"+ defaultAttr _ = w_attr+instance Dict Prim + where category _ = "prim" defaultAttr _ = w_attr instance Dict VerbForm where category _ = "vb"
src/fsv/Build.hs view
@@ -121,6 +121,91 @@ vb_laesa s = entryP (laesa_rule s) "laesa" +pn_sin :: String -> Entry+pn_sin = entry . sin_rule++pn_var :: String -> Entry+pn_var _ = entry var_rule++pn_ithar :: String -> Entry+pn_ithar _ = entry ithar_rule++pn_thaen :: String -> Entry+pn_thaen _ = entry thaen_rule++pn_thaeni :: String -> Entry+pn_thaeni _ = entry thaeni_rule++pn_hvar :: String -> Entry+pn_hvar _ = entry hvar_rule++pn_hvilken :: String -> Entry+pn_hvilken _ = entry hvilkin_rule++pn_nokor :: String -> Entry+pn_nokor _ = entry nokor_rule++pn_aegin :: String -> Entry+pn_aegin _ = entry aengin_rule++pn_hvaer :: String -> Entry+pn_hvaer _ = entry hvaer_rule++pn_hvarghin :: String -> Entry+pn_hvarghin _ = entry hvarghin_rule++pn_person :: String -> Entry+pn_person _ = entry person_rule++pn_hanhon :: String -> Entry+pn_hanhon _ = entry hanhon_rule++num_en :: String -> Entry+num_en _ = numeral + [+ ["en","æn","in"], ["ens"], ["enum","enom"], ["en","æn","in"],+ ["en"], ["ennar"], ["enni","enne"], ["ena"],+ ["et","æt","it"], ["ens"], ["enu","eno"], ["et","æt","it"]+ ]++num_twe :: String -> Entry+num_twe _ = numeral + [+ ["twe","twer","twa"], ["twæggia","twiggia"], ["twem"], ["twa"],+ ["twa","twar"],["twæggia","twiggia"], ["twem"], ["twa","twar"],+ ["tu"],["twæggia","twviggia"] , ["twem"], ["tu"]+ ]++num_thri :: String -> Entry+num_thri _ = numeral + [+ ["þri","þrir","þre"], ["þriggia"], ["þrim","þrem"], ["þre","þrea"],+ ["þrea","þrear","þre"],["þriggia"],["þrim","þrem"], ["þrea","þrear","þre"],+ ["þry"],["þriggia"] , ["þrim","þrem"], ["þry"]+ ]+ +num_fiuri :: String -> Entry+num_fiuri _ = numeral + [+ ["fiuri","fiurir","fyri","fyrir"], ["figuhura","figuhurra","fiura","fyra"], + ["fiurum","fyrom"], ["fiura","fyra"],+ ["fiura","fiurar","fyra","fyrar"], ["figuhura","figuhurra","fiura","fyra"], + ["fiurum","fyrom"], ["fiura","fiurar","fyra","fyrar"],+ ["fiughur"], ["figuhura","figuhurra","fiura","fyra"], + ["fiurum","fyrom"], ["fiughur"]+ ]+++num_bathi :: String -> Entry+num_bathi _ = + numeral + [+ ["baþi","baþir"], ["bæggia"], ["baþum","baþom"], ["baþa"],+ ["baþa","baþar"],["bæggia"],["baþum","baþom"], ["baþa","baþar"],+ ["baþi","baþin","baþe","baþen","bæþi","bæþin"],+ ["bæggia"],["baþum","baþom"], ["baþi","baþin","baþe","baþen"]+ ]+ instance Dict NN_Form where category _ = "nn" dictword f = case unStr (f (NN_C Sg Nom Indef)) of
src/fsv/Commands.hs view
@@ -62,5 +62,26 @@ paradigm "vb_vika" ["vika"] vb_vika, paradigm "vb_laesa" ["læsa"] vb_laesa, -- ordinal- paradigm "ord_fyrsti" ["fyrsti"] ord_fyrsti+ paradigm "ord_fyrsti" ["fyrsti"] ord_fyrsti,+ + paradigm "pn_sin" ["þin"] pn_sin,+ paradigm "pn_var" ["var"] pn_var,+ paradigm "pn_ithar" ["iþar"] pn_ithar,+ paradigm "pn_thaen" ["þæn"] pn_thaen,+ paradigm "pn_thaeni" ["þænni"] pn_thaeni,+ paradigm "pn_hvar" ["hvar"] pn_hvar,+ paradigm "pn_hvilken" ["hvilikin"] pn_hvilken,+ paradigm "pn_nokor" ["nokor"] pn_nokor,+ paradigm "pn_aegin" ["ængin"] pn_aegin,+ paradigm "pn_hvaer" ["hvar"] pn_hvaer,+ paradigm "pn_hvarghin" ["hvarghin"] pn_hvarghin,+ paradigm "pn_iaek" ["iæk"] pn_person,+ paradigm "pn_han" ["han"] pn_hanhon,+ + paradigm "num_en" ["en"] num_en,+ paradigm "num_twe" ["twe"] num_twe,+ paradigm "num_thri" ["þri"] num_thri,+ paradigm "num_fiuri" ["fiuri"] num_fiuri,+ paradigm "num_bathi" ["baþi"] num_bathi+ ]
src/fsv/Dict.hs view
@@ -7,7 +7,10 @@ import Dictionary dict :: Dictionary-dict = dictionary $ map identifier+dict = dictionary $ [] + +{- moved internal to external+map identifier ([ entry ord_annar_rule ] ++ num ++ pron)@@ -55,7 +58,6 @@ -- Pronomen- pron = [ entry (sin_rule "sin"),@@ -74,3 +76,4 @@ entry person_rule, entry hanhon_rule ]+-}