FM-SBLEX-3.0: src/dalin/AdjBuildSw.hs
module AdjBuildSw where
import General
import Dictionary
import TypesSw
import RulesSw
import GenRulesSw
adjective :: Adjective -> Entry
adjective = entry
adj :: Int -> (Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes) -> (String -> Entry)
adj n (liten,litet,lilla,sma,mindre,minst,minsta) s = adjective $
adjective_prefixed n liten litet lilla sma mindre minst minsta s
adjc :: Int -> (Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes,Suffixes) -> (String -> Entry)
adjc n (liten,litet,lilla,sma,mindre,minst,minsta,småc) s = adjective $
excepts (adjective_prefixed n liten litet lilla sma mindre minst minsta s) [(AdjComp,strings $ concat [[x,x+?"-"] | x <- apply_suffixes (tk n s) småc]),
(AdjSMS,strings $ [x+?"-" | x <- apply_suffixes (tk n s) småc])
]
adj_no_genitive_c :: Int -> (Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes,Suffixes) -> (String -> Entry)
adj_no_genitive_c n (liten,litet,lilla,sma,mindre,minst,minsta,småc) s = adjective $ no_genitive $
excepts (adjective_prefixed n liten litet lilla sma mindre minst minsta s) [(AdjComp,strings $ concat [[x,x+?"-"] | x <- apply_suffixes (tk n s) småc]),
(AdjSMS,strings $ [x+?"-" | x <- apply_suffixes (tk n s) småc])
]
adj_no_genitive :: Int -> (Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes) -> (String -> Entry)
adj_no_genitive n (liten,litet,lilla,sma,mindre,minst,minsta) s = adjective $
no_genitive $ adjective_prefixed n liten litet lilla sma mindre minst minsta s
adj_no_masc :: Int -> (Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes, Suffixes) -> (String -> Entry)
adj_no_masc n (liten,litet,lilla,sma,mindre,minst,minsta) s = adjective $
no_masc $ adjective_prefixed n liten litet lilla sma mindre minst minsta s
-- adjective 0
-- av_0 liten litet lilla sma = adjective $ av0 liten litet lilla sma
av_0_kronisk :: String -> Entry
av_0_kronisk = adjective . av0kronisk
av_0_konstlad :: String -> Entry
av_0_konstlad = adjective . av0konstlad
av_0_gängse :: String -> Entry
av_0_gängse = adjective . av0gängse
av_0_lastgammal :: String -> Entry
av_0_lastgammal = adjective . av0lastgammal
av_0_medelstor :: String -> Entry
av_0_medelstor = adjective . av0medelstor
-- adjective 1
av_1_blek :: String -> Entry
av_1_blek = adjective . av1blek
av_1_blek_ng :: String -> Entry
av_1_blek_ng = adjective . no_genitive . av1blek
av_1_fri :: String -> Entry
av_1_fri = adjective . av1fri
av_1_lätt :: String -> Entry
av_1_lätt = adjective . av1lätt
av_1_glad :: String -> Entry
av_1_glad = adjective . av1glad
av_1_högljudd :: String -> Entry
av_1_högljudd = adjective . av1högljudd
av_1_hård :: String -> Entry
av_1_hård = adjective . av1hård
av_1_tunn :: String -> Entry
av_1_tunn = adjective . av1tunn
av_1_ensam :: String -> Entry
av_1_ensam = adjective . av1ensam
av_1_vacker :: String -> Entry
av_1_vacker = adjective . av1vacker
av_1_angelägen :: String -> Entry
av_1_angelägen = adjective . av1angelägen
av_1_ringa :: String -> Entry
av_1_ringa = adjective . av1ringa
av_1_akut :: String -> Entry
av_1_akut = adjective . av1akut
av_1_lat :: String -> Entry
av_1_lat = adjective . av1lat
-- adjective 2
av_2_ung :: String -> Entry
av_2_ung = adjective . av2ung
av_2k_yttre :: String -> Entry
av_2k_yttre = adjective . av2yttre
-- uninflected adjective
av_i_diverse :: String -> Entry
av_i_diverse = entry . (const :: Str -> AdjInvForm -> Str) . mkStr
av_ik_aktre :: String -> Entry
av_ik_aktre = entry . (const :: Str -> AdjCompInvForm -> Str) . mkStr
-- invariant multi-words adjectives
avm_i :: String -> Entry
avm_i = entry . (const :: Str -> AdjMInv -> Str) . mkStr