LibraryBrowser grammar - another attempt to parse into library terms

This commit is contained in:
aarne
2012-05-30 08:30:49 +00:00
parent a4650144be
commit 7e467eb431
6 changed files with 880 additions and 83 deletions

View File

@@ -10,11 +10,11 @@ lincat
Sub10, Sub100, Sub1000, Sub1000000, Subj, Temp, Tense, Text, Utt, V, V2, V2A, V2Q, V2S, V2V, V3,
VA, VP, VPSlash, VQ, VS, VV, Voc = Term ;
oper Term = {s : Str ; f,x : Str ; par : Str * Str} ;
oper Term = {s : Str ; f,x : Str ; par : Str * Str ; flat : Bool} ;
oper mkTerm = overload {
mkTerm : Str -> Term = \f ->
{s = f ; f = f ; x = [] ; par = noPar} ;
{s = f ; f = f ; x = [] ; par = noPar ; flat = False} ;
mkTerm : Str -> Term -> Term = \f,x ->
appTerm f (fullTerm x) ;
mkTerm : Str -> (_,_ : Term) -> Term = \f,x,y ->
@@ -28,16 +28,21 @@ oper mkTerm = overload {
noPar = <[],[]> ;
yesPar = <"(",")"> ;
appTerm : Str -> Str -> Term = \f,x -> {s = f ++ x ; f = f ; x = x ; par = yesPar} ;
appTerm : Str -> Str -> Term = \f,x -> {s = f ++ x ; f = f ; x = x ; par = yesPar ; flat = False} ;
useTerm : Term -> Str = \t -> t.f ++ t.x ;
fullTerm : Term -> Str = \t -> t.par.p1 ++ t.f ++ t.x ++ t.par.p2 ;
flatTerm : Term -> Term = \t -> {s = t.x ; f = [] ; x = t.x ; par = noPar} ;
flatTerm : Term -> Term = \t -> {s = t.x ; f = [] ; x = t.x ; par = noPar ; flat = False} ;
flatIfTerm : Term -> Term = \t -> case t.flat of {
True => flatTerm t ;
False => t
} ;
mkFlat : Term -> Term = \t -> {s = t.s ; f = t.f ; x = t.x ; par = t.par ; flat = True} ;
hide : Str -> Str = \f -> [] ;
lin AAnter = mkTerm "anteriorAnt" ;
lin ASimul = mkTerm (hide "simultaneousAnt") ;
lin AdAP ada_1 ap_2 = mkTerm "mkAP" ada_1 ap_2 ;
lin AdAP ada_1 ap_2 = mkTerm "mkAP" ada_1 (flatIfTerm ap_2) ;
lin AdAdv ada_1 adv_2 = mkTerm "mkAdv" ada_1 adv_2 ;
lin AdNum adn_1 card_2 = mkTerm "mkCard" adn_1 card_2 ;
lin AdVVP adv_1 vp_2 = mkTerm "mkVP" adv_1 vp_2 ;
@@ -57,45 +62,45 @@ lin AdvSlash clslash_1 adv_2 = mkTerm "mkClSlash" clslash_1 adv_2 ;
lin AdvVP vp_1 adv_2 = mkTerm "mkVP" vp_1 adv_2 ;
lin AdvVPSlash vpslash_1 adv_2 = mkTerm "mkVPSlash" vpslash_1 adv_2 ;
lin ApposCN cn_1 np_2 = mkTerm "mkCN" cn_1 np_2 ;
lin BaseAP ap_1 ap_2 = mkTerm "mkListAP" ap_1 ap_2 ;
lin BaseAdv adv_1 adv_2 = mkTerm "mkListAdv" adv_1 adv_2 ;
lin BaseAP ap_1 ap_2 = mkFlat (mkTerm "mkListAP" ap_1 ap_2) ;
lin BaseAdv adv_1 adv_2 = mkFlat (mkTerm "mkListAdv" adv_1 adv_2) ;
lin BaseCN cn_1 cn_2 = mkTerm "mkListCN" cn_1 cn_2 ;
lin BaseIAdv iadv_1 iadv_2 = mkTerm "mkListIAdv" iadv_1 iadv_2 ;
lin BaseNP np_1 np_2 = mkTerm "mkListNP" np_1 np_2 ;
--lin BaseIAdv iadv_1 iadv_2 = mkTerm "mkListIAdv" iadv_1 iadv_2 ;
lin BaseNP np_1 np_2 =mkFlat (mkTerm "mkListNP" np_1 np_2) ;
lin BaseRS rs_1 rs_2 = mkTerm "mkListRS" rs_1 rs_2 ;
lin BaseS s_1 s_2 = mkTerm "mkListS" s_1 s_2 ;
lin BaseS s_1 s_2 = mkFlat (mkTerm "mkListS" s_1 s_2) ;
lin CAdvAP cadv_1 ap_2 np_3 = mkTerm "mkAP" cadv_1 ap_2 np_3 ;
lin CleftAdv adv_1 s_2 = mkTerm "mkCl" adv_1 s_2 ;
lin CleftNP np_1 rs_2 = mkTerm "mkCl" np_1 rs_2 ;
lin CompAP ap_1 = mkTerm "mkComp" ap_1 ;
lin CompAdv adv_1 = mkTerm "mkComp" adv_1 ;
lin CompCN cn_1 = mkTerm "mkComp" cn_1 ;
lin CompAP ap_1 = mkFlat (mkTerm "mkComp" (flatIfTerm ap_1)) ;
lin CompAdv adv_1 = mkFlat (mkTerm "mkComp" adv_1) ;
lin CompCN cn_1 = mkFlat (mkTerm "mkComp" (flatIfTerm cn_1)) ;
lin CompIAdv iadv_1 = mkTerm "mkIComp" iadv_1 ;
lin CompIP ip_1 = mkTerm "mkIComp" ip_1 ;
lin CompNP np_1 = mkTerm "mkComp" np_1 ;
lin ComparA a_1 np_2 = mkTerm "mkAP" a_1 np_2 ;
lin CompNP np_1 = mkFlat (mkTerm "mkComp" np_1) ;
lin ComparA a_1 np_2 = mkTerm "comparAP" a_1 np_2 ;
lin ComparAdvAdj cadv_1 a_2 np_3 = mkTerm "mkAdv" cadv_1 a_2 np_3 ;
lin ComparAdvAdjS cadv_1 a_2 s_3 = mkTerm "mkAdv" cadv_1 a_2 s_3 ;
lin ComplA2 a2_1 np_2 = mkTerm "mkAP" a2_1 np_2 ;
lin ComplN2 n2_1 np_2 = mkTerm "mkCN" n2_1 np_2 ;
lin ComplN3 n3_1 np_2 = mkTerm "mkN2" n3_1 np_2 ;
lin ComplSlash vpslash_1 np_2 = mkTerm "mkVP" vpslash_1 np_2 ;
--lin ComplN3 n3_1 np_2 = mkTerm "mkN2" n3_1 np_2 ;
lin ComplSlash vpslash_1 np_2 = mkFlat (mkTerm "mkVP" (flatIfTerm vpslash_1) np_2) ;
--lin ComplSlashIP vpslash_1 ip_2 = mkTerm "mkQVP" vpslash_1 ip_2 ;
lin ComplVA va_1 ap_2 = mkTerm "mkVP" va_1 ap_2 ;
lin ComplVA va_1 ap_2 = mkFlat (mkTerm "mkVP" va_1 (flatIfTerm ap_2)) ;
lin ComplVQ vq_1 qs_2 = mkTerm "mkVP" vq_1 qs_2 ;
lin ComplVS vs_1 s_2 = mkTerm "mkVP" vs_1 s_2 ;
lin ComplVV vv_1 vp_2 = mkTerm "mkVP" vv_1 vp_2 ;
lin ConjAP conj_1 listap_2 = mkTerm "mkAP" conj_1 listap_2 ;
lin ConjAdv conj_1 listadv_2 = mkTerm "mkAdv" conj_1 listadv_2 ;
lin ComplVV vv_1 vp_2 = mkFlat (mkTerm "mkVP" vv_1 vp_2) ;
lin ConjAP conj_1 listap_2 = mkTerm "mkAP" conj_1 (flatIfTerm listap_2) ;
lin ConjAdv conj_1 listadv_2 = mkTerm "mkAdv" conj_1 (flatIfTerm listadv_2) ;
lin ConjCN conj_1 listcn_2 = mkTerm "mkCN" conj_1 listcn_2 ;
lin ConjIAdv conj_1 listiadv_2 = mkTerm "mkIAdv" conj_1 listiadv_2 ;
lin ConjNP conj_1 listnp_2 = mkTerm "mkNP" conj_1 listnp_2 ;
lin ConjNP conj_1 listnp_2 = mkTerm "mkNP" conj_1 (flatIfTerm listnp_2) ;
lin ConjRS conj_1 listrs_2 = mkTerm "mkRS" conj_1 listrs_2 ;
lin ConjS conj_1 lists_2 = mkTerm "mkS" conj_1 lists_2 ;
lin ConjS conj_1 lists_2 = mkTerm "mkS" conj_1 (flatIfTerm lists_2) ;
lin ConsAP ap_1 listap_2 = mkTerm "mkListAP" ap_1 listap_2 ;
lin ConsAdv adv_1 listadv_2 = mkTerm "mkListAdv" adv_1 listadv_2 ;
lin ConsCN cn_1 listcn_2 = mkTerm "mkListCN" cn_1 listcn_2 ;
lin ConsIAdv iadv_1 listiadv_2 = mkTerm "mkListIAdv" iadv_1 listiadv_2 ;
--lin ConsIAdv iadv_1 listiadv_2 = mkTerm "mkListIAdv" iadv_1 listiadv_2 ;
lin ConsNP np_1 listnp_2 = mkTerm "mkListNP" np_1 listnp_2 ;
lin ConsRS rs_1 listrs_2 = mkTerm "mkListRS" rs_1 listrs_2 ;
lin ConsS s_1 lists_2 = mkTerm "mkListS" s_1 lists_2 ;
@@ -109,10 +114,10 @@ lin D_6 = mkTerm "n6_Dig" ;
lin D_7 = mkTerm "n7_Dig" ;
lin D_8 = mkTerm "n8_Dig" ;
lin D_9 = mkTerm "n9_Dig" ;
lin DefArt = mkTerm "DefArt" ;
lin DetCN det_1 cn_2 = mkTerm "mkNP" det_1 cn_2 ;
lin DefArt = mkTerm "the_Quant" ;
lin DetCN det_1 cn_2 = mkTerm "mkNP" (flatIfTerm det_1) (flatIfTerm cn_2) ;
lin DetNP det_1 = mkTerm "mkNP" det_1 ;
lin DetQuant quant_1 num_2 = mkTerm "mkDet" quant_1 num_2 ;
lin DetQuant quant_1 num_2 = mkFlat (mkTerm "mkDet" quant_1 num_2) ;
lin DetQuantOrd quant_1 num_2 ord_3 = mkTerm "mkDet" quant_1 num_2 ord_3 ;
lin EmbedQS qs_1 = mkTerm "mkSC" qs_1 ;
lin EmbedS s_1 = mkTerm "mkSC" s_1 ;
@@ -121,21 +126,21 @@ lin ExistIP ip_1 = mkTerm "mkQCl" ip_1 ;
lin ExistNP np_1 = mkTerm "mkCl" np_1 ;
lin ExtAdvS adv_1 s_2 = mkTerm "mkS" adv_1 s_2 ;
lin FunRP prep_1 np_2 rp_3 = mkTerm "mkRP" prep_1 np_2 rp_3 ;
lin GenericCl vp_1 = mkTerm "mkCl" vp_1 ;
lin IDig dig_1 = mkTerm "mkDigits" dig_1 ;
lin IIDig dig_1 digits_2 = mkTerm "mkDigits" dig_1 digits_2 ;
lin GenericCl vp_1 = mkTerm "genericCl" vp_1 ;
lin IDig dig_1 = mkTerm "mkDigits" (mkTerm "\"123\"") ; -- mkTerm "mkDigits" dig_1 ;
lin IIDig dig_1 digits_2 = mkTerm "mkDigits" (mkTerm "\"123\"") ; -- mkTerm "mkDigits" dig_1 digits_2 ;
lin IdRP = mkTerm "IdRP" ;
lin IdetCN idet_1 cn_2 = mkTerm "mkIP" idet_1 cn_2 ;
lin IdetIP idet_1 = mkTerm "mkIP" idet_1 ;
lin IdetQuant iquant_1 num_2 = mkTerm "mkIDet" iquant_1 num_2 ;
lin ImpP3 np_1 vp_2 = mkTerm "mkUtt" np_1 vp_2 ;
lin ImpPl1 vp_1 = mkTerm "mkUtt" vp_1 ;
--lin ImpP3 np_1 vp_2 = mkTerm "mkUtt" np_1 vp_2 ;
lin ImpPl1 vp_1 = mkTerm "lets_Utt" vp_1 ;
lin ImpVP vp_1 = mkTerm "mkImp" vp_1 ;
lin ImpersCl vp_1 = mkTerm "mkCl" vp_1 ;
lin IndefArt = mkTerm "IndefArt" ;
lin IndefArt = mkTerm "a_Quant" ;
lin MassNP cn_1 = mkTerm "mkNP" cn_1 ;
lin NoPConj = mkTerm "NoPConj" ;
lin NoVoc = mkTerm "NoVoc" ;
lin NoPConj = mkTerm (hide "NoPConj") ;
lin NoVoc = mkTerm (hide "NoVoc") ;
lin NumCard card_1 = mkTerm "mkNum" card_1 ;
lin NumDigits digits_1 = mkTerm "mkCard" digits_1 ;
lin NumNumeral numeral_1 = mkTerm "mkCard" numeral_1 ;
@@ -148,83 +153,83 @@ lin PConjConj conj_1 = mkTerm "mkPConj" conj_1 ;
lin PNeg = mkTerm "negativePol" ;
lin PPartNP np_1 v2_2 = mkTerm "mkNP" np_1 v2_2 ;
lin PPos = mkTerm (hide "positivePol") ;
lin PassV2 v2_1 = mkTerm "mkVP" v2_1 ;
lin PassV2 v2_1 = mkTerm "passiveVP" v2_1 ;
lin PhrUtt pconj_1 utt_2 voc_3 = mkTerm "mkPhr" pconj_1 utt_2 voc_3 ;
lin PositA a_1 = mkTerm "mkAP" a_1 ;
lin PositA a_1 = mkFlat (mkTerm "mkAP" a_1) ;
lin PositAdAAdj a_1 = mkTerm "mkAdA" a_1 ;
lin PositAdvAdj a_1 = mkTerm "mkAdv" a_1 ;
lin PossPron pron_1 = mkTerm "mkQuant" pron_1 ;
lin PredSCVP sc_1 vp_2 = mkTerm "mkCl" sc_1 vp_2 ;
lin PredVP np_1 vp_2 = mkTerm "mkCl" np_1 vp_2 ;
---lin PredVP np_1 vp_2 = mkTerm "mkCl" np_1 (flatTerm vp_2) ;
--lin PredVP np_1 vp_2 = mkTerm "mkCl" np_1 vp_2 ;
lin PredVP np_1 vp_2 = mkTerm "mkCl" np_1 (flatIfTerm vp_2) ;
lin PredetNP predet_1 np_2 = mkTerm "mkNP" predet_1 np_2 ;
lin PrepIP prep_1 ip_2 = mkTerm "mkIAdv" prep_1 ip_2 ;
lin PrepNP prep_1 np_2 = mkTerm "mkAdv" prep_1 np_2 ;
lin ProgrVP vp_1 = mkTerm "mkVP" vp_1 ;
lin ProgrVP vp_1 = mkTerm "progressiveVP" vp_1 ;
lin QuestCl cl_1 = mkTerm "mkQCl" cl_1 ;
lin QuestIAdv iadv_1 cl_2 = mkTerm "mkQCl" iadv_1 cl_2 ;
lin QuestIComp icomp_1 np_2 = mkTerm "mkQCl" icomp_1 np_2 ;
lin QuestQVP ip_1 qvp_2 = mkTerm "mkQCl" ip_1 qvp_2 ;
lin QuestSlash ip_1 clslash_2 = mkTerm "mkQCl" ip_1 clslash_2 ;
lin QuestVP ip_1 vp_2 = mkTerm "mkQCl" ip_1 vp_2 ;
lin ReflA2 a2_1 = mkTerm "mkAP" a2_1 ;
lin ReflVP vpslash_1 = mkTerm "mkVP" vpslash_1 ;
lin QuestVP ip_1 vp_2 = mkTerm "mkQCl" ip_1 (flatIfTerm vp_2) ;
lin ReflA2 a2_1 = mkTerm "reflAP" a2_1 ;
lin ReflVP vpslash_1 = mkTerm "reflexiveVP" vpslash_1 ;
lin RelCN cn_1 rs_2 = mkTerm "mkCN" cn_1 rs_2 ;
lin RelCl cl_1 = mkTerm "mkRCl" cl_1 ;
lin RelNP np_1 rs_2 = mkTerm "mkNP" np_1 rs_2 ;
lin RelS s_1 rs_2 = mkTerm "mkS" s_1 rs_2 ;
lin RelSlash rp_1 clslash_2 = mkTerm "mkRCl" rp_1 clslash_2 ;
lin RelVP rp_1 vp_2 = mkTerm "mkRCl" rp_1 vp_2 ;
lin RelVP rp_1 vp_2 = mkTerm "mkRCl" rp_1 (flatIfTerm vp_2) ;
lin SSubjS s_1 subj_2 s_3 = mkTerm "mkS" s_1 subj_2 s_3 ;
lin SentAP ap_1 sc_2 = mkTerm "mkAP" ap_1 sc_2 ;
lin SentCN cn_1 sc_2 = mkTerm "mkCN" cn_1 sc_2 ;
lin Slash2V3 v3_1 np_2 = mkTerm "mkVPSlash" v3_1 np_2 ;
lin Slash3V3 v3_1 np_2 = mkTerm "mkVPSlash" v3_1 np_2 ;
lin Slash3V3 v3_1 np_2 = mkFlat (mkTerm "mkVPSlash" v3_1 np_2) ;
lin SlashPrep cl_1 prep_2 = mkTerm "mkClSlash" cl_1 prep_2 ;
lin SlashV2A v2a_1 ap_2 = mkTerm "mkVPSlash" v2a_1 ap_2 ;
lin SlashV2Q v2q_1 qs_2 = mkTerm "mkVPSlash" v2q_1 qs_2 ;
lin SlashV2S v2s_1 s_2 = mkTerm "mkVPSlash" v2s_1 s_2 ;
lin SlashV2V v2v_1 vp_2 = mkTerm "mkVPSlash" v2v_1 vp_2 ;
lin SlashV2A v2a_1 ap_2 = mkFlat (mkTerm "mkVPSlash" v2a_1 ap_2) ;
lin SlashV2Q v2q_1 qs_2 = mkFlat (mkTerm "mkVPSlash" v2q_1 qs_2) ;
lin SlashV2S v2s_1 s_2 = mkFlat (mkTerm "mkVPSlash" v2s_1 s_2) ;
lin SlashV2V v2v_1 vp_2 = mkFlat (mkTerm "mkVPSlash" v2v_1 vp_2) ;
lin SlashV2VNP v2v_1 np_2 vpslash_3 = mkTerm "mkVPSlash" v2v_1 np_2 vpslash_3 ;
lin SlashV2a v2_1 = mkTerm "mkVPSlash" v2_1 ;
lin SlashV2a v2_1 = mkFlat (mkTerm "mkVPSlash" v2_1) ;
lin SlashVP np_1 vpslash_2 = mkTerm "mkClSlash" np_1 vpslash_2 ;
lin SlashVS np_1 vs_2 sslash_3 = mkTerm "mkClSlash" np_1 vs_2 sslash_3 ;
lin SlashVV vv_1 vpslash_2 = mkTerm "mkVPSlash" vv_1 vpslash_2 ;
lin SubjS subj_1 s_2 = mkTerm "mkAdv" subj_1 s_2 ;
lin TEmpty = mkTerm "TEmpty" ;
lin TExclMark phr_1 text_2 = mkTerm "mkText" phr_1 text_2 ;
lin TEmpty = mkTerm (hide "emptyText") ;
lin TExclMark phr_1 text_2 = mkTerm "mkText" phr_1 (mkTerm "exclMarkPunct") text_2 ;
lin TFullStop phr_1 text_2 = mkTerm "mkText" phr_1 text_2 ;
lin TCond = mkTerm "conditionalTense" ;
lin TFut = mkTerm "futureTense" ;
lin TPast = mkTerm "pastTense" ;
lin TPres = mkTerm (hide "presentTense") ;
lin TQuestMark phr_1 text_2 = mkTerm "mkText" phr_1 text_2 ;
lin TQuestMark phr_1 text_2 = mkTerm "mkText" phr_1 (mkTerm "questMarkPunct") text_2 ;
lin TTAnt tense_1 ant_2 = mkTerm "mkTense" tense_1 ant_2 ;
lin Use2N3 n3_1 = mkTerm "mkN2" n3_1 ;
lin Use3N3 n3_1 = mkTerm "mkN2" n3_1 ;
--lin Use2N3 n3_1 = mkTerm "mkN2" n3_1 ;
--lin Use3N3 n3_1 = mkTerm "mkN2" n3_1 ;
lin UseA2 a2_1 = mkTerm "mkAP" a2_1 ;
lin UseCl temp_1 pol_2 cl_3 = mkTerm "mkS" (flatTerm temp_1) pol_2 cl_3 ;
lin UseComp comp_1 = mkTerm "mkVP" comp_1 ;
lin UseComp comp_1 = mkFlat (mkTerm "mkVP" (flatIfTerm comp_1)) ;
lin UseComparA a_1 = mkTerm "mkAP" a_1 ;
--lin UseCopula = mkTerm "UseCopula" ;
lin UseN n_1 = mkTerm "mkCN" n_1 ;
lin UseN n_1 = mkFlat (mkTerm "mkCN" n_1) ;
lin UseN2 n2_1 = mkTerm "mkCN" n2_1 ;
lin UsePN pn_1 = mkTerm "mkNP" pn_1 ;
lin UsePron pron_1 = mkTerm "mkNP" pron_1 ;
lin UseQCl temp_1 pol_2 qcl_3 = mkTerm "mkQS" (flatTerm temp_1) pol_2 qcl_3 ;
lin UseRCl temp_1 pol_2 rcl_3 = mkTerm "mkRS" (flatTerm temp_1) pol_2 rcl_3 ;
lin UseSlash temp_1 pol_2 clslash_3 = mkTerm "mkSSlash" temp_1 pol_2 clslash_3 ;
lin UseV v_1 = mkTerm "mkVP" v_1 ;
lin UseV v_1 = mkFlat (mkTerm "mkVP" v_1) ;
lin UttAP ap_1 = mkTerm "mkUtt" ap_1 ;
lin UttAdv adv_1 = mkTerm "mkUtt" adv_1 ;
lin UttCN cn_1 = mkTerm "mkUtt" cn_1 ;
lin UttCard card_1 = mkTerm "mkUtt" card_1 ;
lin UttIAdv iadv_1 = mkTerm "mkUtt" iadv_1 ;
lin UttIP ip_1 = mkTerm "mkUtt" ip_1 ;
lin UttImpPl pol_1 imp_2 = mkTerm "mkUtt" pol_1 imp_2 ;
lin UttImpPol pol_1 imp_2 = mkTerm "mkUtt" pol_1 imp_2 ;
lin UttImpPl pol_1 imp_2 = mkTerm "mkUtt" (mkTerm "pluralImpForm") pol_1 imp_2 ;
lin UttImpPol pol_1 imp_2 = mkTerm "mkUtt" (mkTerm "politeImpForm") pol_1 imp_2 ;
lin UttImpSg pol_1 imp_2 = mkTerm "mkUtt" pol_1 imp_2 ;
lin UttInterj interj_1 = mkTerm "mkUtt" interj_1 ;
--lin UttInterj interj_1 = mkTerm "mkUtt" interj_1 ;
lin UttNP np_1 = mkTerm "mkUtt" np_1 ;
lin UttQS qs_1 = mkTerm "mkUtt" qs_1 ;
lin UttS s_1 = mkTerm "mkUtt" s_1 ;
@@ -232,7 +237,7 @@ lin UttVP vp_1 = mkTerm "mkUtt" vp_1 ;
lin VocNP np_1 = mkTerm "mkVoc" np_1 ;
lin above_Prep = mkTerm "above_Prep" ;
lin active2passive cl_1 = mkTerm "mkCl" cl_1 ;
--lin active2passive cl_1 = mkTerm "mkCl" cl_1 ;
lin add_V3 = mkTerm "add_V3" ;
lin after_Prep = mkTerm "after_Prep" ;
lin airplane_N = mkTerm "airplane_N" ;
@@ -324,11 +329,11 @@ lin cousin_N = mkTerm "cousin_N" ;
lin cow_N = mkTerm "cow_N" ;
lin cut_V2 = mkTerm "cut_V2" ;
lin day_N = mkTerm "day_N" ;
lin dconcat digits_1 digits_2 = mkTerm "mkDigits" digits_1 digits_2 ;
--lin dconcat digits_1 digits_2 = mkTerm "mkDigits" digits_1 digits_2 ;
lin die_V = mkTerm "die_V" ;
lin dig_V = mkTerm "dig_V" ;
lin digits2num digits_1 = mkTerm "mkNumeral" digits_1 ;
lin digits2numeral card_1 = mkTerm "mkCard" card_1 ;
--lin digits2num digits_1 = mkTerm "mkNumeral" digits_1 ;
--lin digits2numeral card_1 = mkTerm "mkCard" card_1 ;
lin dirty_A = mkTerm "dirty_A" ;
lin distance_N3 = mkTerm "distance_N3" ;
lin do_V2 = mkTerm "do_V2" ;
@@ -402,8 +407,8 @@ lin harbour_N = mkTerm "harbour_N" ;
lin hat_N = mkTerm "hat_N" ;
lin hate_V2 = mkTerm "hate_V2" ;
lin have_V2 = mkTerm "have_V2" ;
lin have_V3 = mkTerm "have_V3" ;
lin have_not_V3 = mkTerm "have_not_V3" ;
--lin have_V3 = mkTerm "have_V3" ;
--lin have_not_V3 = mkTerm "have_not_V3" ;
lin he_Pron = mkTerm "he_Pron" ;
lin head_N = mkTerm "head_N" ;
lin hear_V2 = mkTerm "hear_V2" ;
@@ -479,21 +484,21 @@ lin mouth_N = mkTerm "mouth_N" ;
lin much_Det = mkTerm "much_Det" ;
lin music_N = mkTerm "music_N" ;
lin must_VV = mkTerm "must_VV" ;
lin n2 = mkTerm "n2" ;
lin n3 = mkTerm "n3" ;
lin n4 = mkTerm "n4" ;
lin n5 = mkTerm "n5" ;
lin n6 = mkTerm "n6" ;
lin n7 = mkTerm "n7" ;
lin n8 = mkTerm "n8" ;
lin n9 = mkTerm "n9" ;
lin n2 = mkTerm "n2_Unit" ;
lin n3 = mkTerm "n3_Unit" ;
lin n4 = mkTerm "n4_Unit" ;
lin n5 = mkTerm "n5_Unit" ;
lin n6 = mkTerm "n6_Unit" ;
lin n7 = mkTerm "n7_Unit" ;
lin n8 = mkTerm "n8_Unit" ;
lin n9 = mkTerm "n9_Unit" ;
lin name_N = mkTerm "name_N" ;
lin narrow_A = mkTerm "narrow_A" ;
lin nd digit_1 = mkTerm "mkDig" digit_1 ;
lin nd10 sub10_1 = mkTerm "mkDigits" sub10_1 ;
lin nd100 sub100_1 = mkTerm "mkDigits" sub100_1 ;
lin nd1000 sub1000_1 = mkTerm "mkDigits" sub1000_1 ;
lin nd1000000 sub1000000_1 = mkTerm "mkDigits" sub1000000_1 ;
--lin nd10 sub10_1 = mkTerm "mkDigits" sub10_1 ;
--lin nd100 sub100_1 = mkTerm "mkDigits" sub100_1 ;
--lin nd1000 sub1000_1 = mkTerm "mkDigits" sub1000_1 ;
--lin nd1000000 sub1000000_1 = mkTerm "mkDigits" sub1000000_1 ;
lin near_A = mkTerm "near_A" ;
lin neck_N = mkTerm "neck_N" ;
lin new_A = mkTerm "new_A" ;
@@ -506,8 +511,8 @@ lin nose_N = mkTerm "nose_N" ;
lin not_Predet = mkTerm "not_Predet" ;
lin nothing_NP = mkTerm "nothing_NP" ;
lin now_Adv = mkTerm "now_Adv" ;
lin num sub1000000_1 = mkTerm "mkNumeral" sub1000000_1 ;
lin num2digits numeral_1 = mkTerm "mkDigits" numeral_1 ;
lin num sub1000000_1 = mkTerm "mkNumeral" (mkTerm "\"123\"") ; -- sub1000000_1 ;
--lin num2digits numeral_1 = mkTerm "mkDigits" numeral_1 ;
lin number_N = mkTerm "number_N" ;
lin oil_N = mkTerm "oil_N" ;
lin old_A = mkTerm "old_A" ;