diff --git a/lib/src/english/DictEng.gf b/lib/src/english/DictEng.gf index 57f7c7ba4..a394901ac 100644 --- a/lib/src/english/DictEng.gf +++ b/lib/src/english/DictEng.gf @@ -1943,6 +1943,7 @@ lin aspirate_N = mkN "aspirate" "aspirates"; lin aspirate_V2 = mkV2 (mkV "aspirate" "aspirates" "aspirated" "aspirated" "aspirating"); lin aspiration_N = mkN "aspiration" "aspirations"; lin aspire_V = mkV "aspire" "aspires" "aspired" "aspired" "aspiring"; +lin aspire_VV = mkVV (mkV "aspire" "aspires" "aspired" "aspired" "aspiring"); lin aspirin_N = mkN "aspirin" "aspirins"; lin aspull_PN = mkPN "Aspull"; lin ass_N = mkN "ass" "asses"; @@ -4808,6 +4809,7 @@ lin busy_V2 = mkV2 (mkV "busy" "busies" "busied" "busied" "busying"); lin busybody_N = mkN "busybody" "busybodies"; lin but_Adv = mkAdv "but"; lin but_Prep = mkPrep "but"; +lin but_Subj = mkSubj "but"; lin butane_N = mkN "butane" ; lin butch_A = compoundA (mkA "butch"); lin butcher_N = mkN "butcher" "butchers"; @@ -4991,6 +4993,7 @@ lin call_N = mkN "call" "calls"; lin call_V = mkV "call" "calls" "called" "called" "calling"; lin call_V2 = mkV2 (mkV "call" "calls" "called" "called" "calling"); lin call_V2V = mkV2V (mkV "call" "calls" "called" "called" "calling") noPrep to_Prep ; +lin call_V3 = mkV3 (mkV "call" "calls" "called" "called" "calling"); lin call_VS = mkVS (mkV "call" "calls" "called" "called" "calling"); lin call_box_N = mkN "call - box" "call - boxes"; lin call_girl_N = mkN "call - girl" "call - girls"; @@ -7049,7 +7052,7 @@ lin commode_N = mkN "commode" "commodes"; lin commodious_A = compoundA (mkA "commodious"); lin commodity_N = mkN "commodity" "commodities"; lin commodore_N = mkN "commodore" "commodores"; -lin common_A = mkA "common" "commoner"; +lin common_A = variants {compoundA (mkA "common"); mkA "common" "commoner"}; lin common_N = mkN "common" "commons"; lin common_room_N = mkN "common - room" "common - rooms"; lin commonalty_N = mkN "commonalty" "commonalties"; @@ -7504,6 +7507,7 @@ lin conserve_V2 = mkV2 (mkV "conserve" "conserves" "conserved" "conserved" "cons lin consett_PN = mkPN "Consett"; lin consider_V = mkV "consider" "considers" "considered" "considered" "considering"; lin consider_V2 = mkV2 (mkV "consider" "considers" "considered" "considered" "considering"); +lin consider_V3 = mkV3 (mkV "consider" "considers" "considered" "considered" "considering"); lin consider_V2V = mkV2V (mkV "consider" "considers" "considered" "considered" "considering") noPrep to_Prep ; lin consider_VA = mkVA (mkV "consider" "considers" "considered" "considered" "considering"); lin consider_VV = mkVV (mkV "consider" "considers" "considered" "considered" "considering"); @@ -9748,6 +9752,7 @@ lin deserter_N = mkN "deserter" "deserters"; lin desertion_N = mkN "desertion" "desertions"; lin deserve_V = mkV "deserve" "deserves" "deserved" "deserved" "deserving"; lin deserve_V2 = mkV2 (mkV "deserve" "deserves" "deserved" "deserved" "deserving"); +lin deserve_VV = mkVV (mkV "deserve" "deserves" "deserved" "deserved" "deserving"); lin deserved_A = compoundA (mkA "deserved"); lin deserving_A = compoundA (mkA "deserving"); lin deshabille_N = mkN "déshabillé" ; @@ -9954,7 +9959,8 @@ lin diagram_N = mkN "diagram" "diagrams"; lin diagrammatic_A = compoundA (mkA "diagrammatic"); lin diagrammatical_A = compoundA (mkA "diagrammatical"); lin dial_N = mkN "dial" "dials"; -lin dial_V2 = mkV2 (mkV "dial" "dials" "dialled" "dialled" "dialling"); +lin dial_V2 = mkV2 (variants {mkV "dial" "dials" "dialed" "dialed" "dialing"; + mkV "dial" "dials" "dialled" "dialled" "dialling"}); lin dialect_N = mkN "dialect" "dialects"; lin dialectal_A = compoundA (mkA "dialectal"); lin dialectic_N = mkN "dialectic" "dialectics"; @@ -11463,7 +11469,7 @@ lin easter_N = mkN "easter" "easters"; lin easter_PN = mkPN "Easter"; lin easterly_A = compoundA (mkA "easterly"); lin easterly_Adv = mkAdv "easterly"; -lin eastern_A = compoundA (mkA "eastern"); +lin eastern_A = compoundA (mkA "Eastern"); lin easternmost_A = compoundA (mkA "easternmost"); lin eastleigh_PN = mkPN "Eastleigh"; lin eastward_A = compoundA (mkA "eastward"); @@ -12487,10 +12493,12 @@ lin eve_N = mkN "eve" "eves"; lin eve_PN = mkPN "Eve"; lin evelyn_PN = mkPN "Evelyn"; lin even_A = compoundA (mkA "even"); +lin even_AdA = mkAdA "even"; lin even_Adv = mkAdv "even"; lin even_N = mkN "even" "evens"; lin even_V2 = mkV2 (mkV "even" "evens" "evened" "evened" "evening"); lin even_handed_A = compoundA (mkA "even - handed"); +lin even_though_Subj = mkSubj "even though"; lin evening_N = mkN "evening" "evenings"; lin evenness_N = mkN "evenness" ; lin evensong_N = mkN "evensong" "evensongs"; @@ -13377,7 +13385,7 @@ lin fib_N = mkN "fib" "fibs"; lin fib_V = mkV "fib" "fibs" "fibbed" "fibbed" "fibbing"; lin fibber_N = mkN "fibber" "fibbers"; lin fibbing_N = mkN "fibbing" ; -lin fibre_N = mkN "fibre" "fibres"; +lin fibre_N = variants {mkN "fibre"; mkN "fiber"}; lin fibreboard_N = mkN "fibreboard" ; lin fibreglass_N = mkN "fibreglass" ; lin fibrositis_N = mkN "fibrositis" ; @@ -13525,7 +13533,6 @@ lin finish_N = mkN "finish" "finishes"; lin finish_V = mkV "finish" "finishes" "finished" "finished" "finishing"; lin finish_V2 = mkV2 (mkV "finish" "finishes" "finished" "finished" "finishing"); lin finish_VA = mkVA (mkV "finish" "finishes" "finished" "finished" "finishing"); -lin finish_VS = mkVS (mkV "finish" "finishes" "finished" "finished" "finishing"); lin finite_A = compoundA (mkA "finite"); lin finland_PN = mkPN "Finland"; lin finn_N = mkN "finn" "finns"; @@ -16362,10 +16369,10 @@ lin handstand_N = mkN "handstand" "handstands"; lin handwork_N = mkN "handwork" ; lin handwriting_N = mkN "handwriting" ; lin handy_A = mkA "handy" "handier"; -lin handyman_N = mkN "handyman" "handymen" {- FIXME: guessed plural form -}; -lin hang_N = mkN "hang" "IRREG"; -lin hang_V = mkV "hang" "hangs" "hanged" "hanged" "hanging"; -lin hang_V2 = mkV2 (mkV "hang" "hangs" "hanged" "hanged" "hanging"); +lin handyman_N = mkN "handyman" "handymen"; +lin hang_N = mkN "hang" "hangs"; +lin hang_V = mkV "hang" "hangs" "hung" "hung" "hanging" | mkV "hang" "hangs" "hanged" "hanged" "hanging"; +lin hang_V2 = mkV2 (mkV "hang" "hangs" "hung" "hung" "hanging" | mkV "hang" "hangs" "hanged" "hanged" "hanging"); lin hang_up_N = mkN "hang - up" "hang - ups"; lin hangar_N = mkN "hangar" "hangars"; lin hangchon_PN = mkPN "Hangchon"; @@ -17262,7 +17269,7 @@ lin honorarium_N = mkN "honorarium" "honorariums"; lin honorary_A = compoundA (mkA "honorary"); lin honorific_A = compoundA (mkA "honorific"); lin honorific_N = mkN "honorific" "honorifics"; -lin honour_N = mkN "honour" "honours"; +lin honour_N = mkN (variants {"honour"; "honor"}); lin honour_V2 = mkV2 (mkV "honour" "honours" "honoured" "honoured" "honouring"); lin honourable_A = compoundA (mkA "honourable"); lin hoo_PN = mkPN "Hoo"; @@ -17289,7 +17296,7 @@ lin hooligan_N = mkN "hooligan" "hooligans"; lin hooliganism_N = mkN "hooliganism" ; lin hoop_N = mkN "hoop" "hoops"; lin hoop_V2 = mkV2 (mkV "hoop" "hoops" "hooped" "hooped" "hooping"); -lin hoop_la_N = mkN "hoop - la" ; +lin hoop_la_N = mkN (variants {"hoop - la"; "hoopla"}) ; lin hoot_N = mkN "hoot" "hoots"; lin hoot_V = mkV "hoot" "hoots" "hooted" "hooted" "hooting"; lin hoot_V2 = mkV2 (mkV "hoot" "hoots" "hooted" "hooted" "hooting"); @@ -17398,7 +17405,7 @@ lin hostelry_N = mkN "hostelry" "hostelries"; lin hostess_N = mkN "hostess" "hostesses"; lin hostile_A = compoundA (mkA "hostile"); lin hostility_N = mkN "hostility" "hostilities"; -lin hot_A = mkA "hot" "hotter*"; +lin hot_A = mkA "hot" "hotter"; lin hot_V = mkV "hot" "hots" "hotted" "hotted" "hotting"; lin hot_V2 = mkV2 (mkV "hot" "hots" "hotted" "hotted" "hotting"); lin hot_blooded_A = compoundA (mkA "hot - blooded"); @@ -18451,7 +18458,7 @@ lin industrial_A = compoundA (mkA "industrial"); lin industrialism_N = mkN "industrialism" ; lin industrialist_N = mkN "industrialist" "industrialists"; lin industrialization_N = mkN "industrialization" ; -lin industrialized_A = compoundA (mkA "industrialized"); +lin industrialize_V2 = mkV2 (mkV "industrialize"); lin industrious_A = compoundA (mkA "industrious"); lin industry_N = mkN "industry" "industries"; lin indwelling_A = compoundA (mkA "indwelling"); @@ -20157,7 +20164,7 @@ lin labial_A = compoundA (mkA "labial"); lin labor_V = mkV "labor" "labors" "labored" "labored" "laboring"; lin laboratory_N = mkN "laboratory" "laboratories"; lin laborious_A = compoundA (mkA "laborious"); -lin labour_N = mkN "labour" "labours"; +lin labour_N = mkN (variants {"labour" | "labor"}); lin labour_V = mkV "labour" "labours" "laboured" "laboured" "labouring"; lin labour_V2 = mkV2 (mkV "labour" "labours" "laboured" "laboured" "labouring"); lin labour_saving_A = compoundA (mkA "labour - saving"); @@ -20729,6 +20736,7 @@ lin lesley_PN = mkPN "Lesley"; lin leslie_PN = mkPN "Leslie"; lin lesotho_PN = mkPN "Lesotho"; lin less_A = compoundA (mkA "less"); +lin less_AdA = mkAdA "less"; lin less_Adv = mkAdv "less"; lin less_N = mkN "less" ; lin lessee_N = mkN "lessee" "lessees"; @@ -21922,7 +21930,7 @@ lin mammal_N = mkN "mammal" "mammals"; lin mammon_N = mkN "mammon" ; lin mammoth_N = mkN "mammoth" "mammoths"; lin mammy_N = mkN "mammy" "mammies"; -lin man_N = mkN "man" "men"; +lin man_N = mkN human (mkN "man" "men"); lin man_V2 = mkV2 (mkV "man" "mans" "manned" "manned" "manning"); lin man_at_arms_N = mkN "man - at - arms" "men*-at - arms"; lin man_eater_N = mkN "man - eater" "man - eaters"; @@ -23496,7 +23504,8 @@ lin morbidity_N = mkN "morbidity" "morbidities"; lin morbidness_N = mkN "morbidness" ; lin mordant_A = compoundA (mkA "mordant"); lin more_Adv = mkAdv "more"; -lin more_Det = mkDeterminer plural "more"; +lin moreSg_Det = mkDeterminer singular "more"; +lin morePl_Det = mkDeterminer plural "more"; lin more_N = mkN "more" ; lin morecambe_PN = mkPN "Morecambe"; lin morello_N = mkN "morello" "morellos"; @@ -23955,8 +23964,8 @@ lin namby_pamby_A = compoundA (mkA "namby - pamby"); lin namby_pamby_N = mkN "namby - pamby" "namby - pambies"; lin name_N = mkN "name" "names"; lin name_V2 = mkV2 (mkV "name" "names" "named" "named" "naming"); +lin name_V3 = mkV3 (mkV "name"); lin name_V2V = mkV2V (mkV "name") noPrep to_Prep ; -lin name_VS = mkVS (mkV "name"); lin name_day_N = mkN "name - day" "name - days"; lin name_drop_V = mkV "name - drop" "name - drops" "name - dropped" "name - dropped" "name - dropping"; lin name_dropping_N = mkN "name - dropping" ; @@ -24611,7 +24620,7 @@ lin northeasterly_A = compoundA (mkA "northeasterly"); lin northeastern_A = compoundA (mkA "northeastern"); lin northerly_A = compoundA (mkA "northerly"); lin northerly_Adv = mkAdv "northerly"; -lin northern_A = compoundA (mkA "northern"); +lin northern_A = compoundA (mkA "Northern"); lin northerner_N = mkN "northerner" "northerners"; lin northernmost_A = compoundA (mkA "northernmost"); lin northman_N = mkN "northman" "northmen" {- FIXME: guessed plural form -}; @@ -24711,6 +24720,7 @@ lin novitiate_N = mkN "novitiate" "novitiates"; lin novokuznetsk_PN = mkPN "Novokuznetsk"; lin novosibirsk_PN = mkPN "Novosibirsk"; lin now_Adv = mkAdv "now"; +lin now_AdV = mkAdV "now"; lin nowadays_Adv = mkAdv "nowadays"; lin nowhere_Adv = mkAdv "nowhere"; lin nowise_Adv = mkAdv "nowise"; @@ -25052,6 +25062,7 @@ lin offstage_Adv = mkAdv "offstage"; lin oft_Adv = mkAdv "oft"; lin oft_times_Adv = mkAdv "oft - times"; lin often_Adv = mkAdv "often"; +lin often_AdV = mkAdV "often"; lin oftener_Adv = mkAdv "oftener"; lin ogle_V = mkV "ogle" "ogles" "ogled" "ogled" "ogling"; lin ogle_V2 = mkV2 (mkV "ogle" "ogles" "ogled" "ogled" "ogling"); @@ -25148,7 +25159,9 @@ lin on_Adv = mkAdv "on"; lin on_Prep = mkPrep "on"; lin on_licence_N = mkN "on - licence" "on - licences"; lin once_Adv = mkAdv "once"; +lin once_AdV = mkAdV "once"; lin once_Prep = mkPrep "once"; +lin once_Subj = mkSubj "once"; lin oncoming_A = compoundA (mkA "oncoming"); lin oncoming_N = mkN "oncoming" "IRREG"; lin one_armed_A = compoundA (mkA "one - armed"); @@ -28165,6 +28178,7 @@ lin poundage_N = mkN "poundage" ; lin pounder_N = mkN "pounder" "pounders"; lin pour_V = mkV "pour" "pours" "poured" "poured" "pouring"; lin pour_V2 = mkV2 (mkV "pour" "pours" "poured" "poured" "pouring"); +lin pour_in_V2 = mkV2 (partV (mkV "pour" "pours" "poured" "poured" "pouring") "in"); lin pout_N = mkN "pout" "pouts"; lin pout_V = mkV "pout" "pouts" "pouted" "pouted" "pouting"; lin pout_V2 = mkV2 (mkV "pout" "pouts" "pouted" "pouted" "pouting"); @@ -30379,6 +30393,7 @@ lin referee_V2 = mkV2 (mkV "referee" "IRREG" "IRREG" "IRREG" "IRREG"); lin reference_N = mkN "reference" "references"; lin referendum_N = mkN "referendum" "referendums"; lin referential_A = compoundA (mkA "referential"); +lin refile_V2 = mkV2 (mkV "refile"); lin refill_N = mkN "refill" "refills"; lin refill_V2 = mkV2 (mkV "refill" "refills" "refilled" "refilled" "refilling"); lin refinance_V = mkV "refinance"; @@ -30909,7 +30924,7 @@ lin rescuer_N = mkN "rescuer" "rescuers"; lin research_N = mkN "research" "researches"; lin research_V = mkV "research" "researches" "researched" "researched" "researching"; lin research_V2 = mkV2 (mkV "research" "researches" "researched" "researched" "researching"); -lin researcher_N = mkN "researcher" "researchers"; +lin researcher_N = mkN human (mkN "researcher" "researchers"); lin reseat_V2 = mkV2 (mkV "reseat" "reseats" "reseated" "reseated" "reseating"); lin reseed_V2 = mkV2 (mkV "reseed" "reseeds" "reseeded" "reseeded" "reseeding"); lin resell_V2 = mkV2 (mkV "re" IrregEng.sell_V); @@ -30958,7 +30973,7 @@ lin resinated_A = compoundA (mkA "resinated"); lin resinous_A = compoundA (mkA "resinous"); lin resist_V = mkV "resist" "resists" "resisted" "resisted" "resisting"; lin resist_V2 = mkV2 (mkV "resist" "resists" "resisted" "resisted" "resisting"); -lin resist_VS = mkVS (mkV "resist" "resists" "resisted" "resisted" "resisting"); +lin resist_VV = ingVV (mkV "resist" "resists" "resisted" "resisted" "resisting"); lin resistance_N = mkN "resistance" "resistances"; lin resistant_A = compoundA (mkA "resistant"); lin resister_N = mkN "resister" "resisters"; @@ -33791,6 +33806,7 @@ lin show_V = IrregEng.show_V; lin show_V2 = mkV2 IrregEng.show_V; lin show_V2V = mkV2V IrregEng.show_V noPrep to_Prep ; lin show_VS = mkVS IrregEng.show_V; +lin show_up_V = partV IrregEng.show_V "up"; lin show_business_N = mkN "show - business" ; lin show_off_N = mkN "show - off" "show - offs"; lin show_window_N = mkN "show - window" "show - windows"; @@ -35174,7 +35190,7 @@ lin southeastern_A = compoundA (mkA "southeastern"); lin southend_on_sea_PN = mkPN "Southend - on - sea"; lin southerly_A = compoundA (mkA "southerly"); lin southerly_Adv = mkAdv "southerly"; -lin southern_A = compoundA (mkA "southern"); +lin southern_A = compoundA (mkA "Southern"); lin southerner_N = mkN "southerner" "southerners"; lin southernmost_A = compoundA (mkA "southernmost"); lin southpaw_N = mkN "southpaw" "southpaws"; @@ -36140,6 +36156,7 @@ lin stile_N = mkN "stile" "stiles"; lin stiletto_N = mkN "stiletto" "stilettos"; lin still_A = mkA "still" "stiller"; lin still_Adv = mkAdv "still"; +lin still_AdV = mkAdV "still"; lin still_N = mkN "still" "stills"; lin still_V2 = mkV2 (mkV "still" "stills" "stilled" "stilled" "stilling"); lin still_life_N = mkN "still - life" "still - lifes"; @@ -37507,6 +37524,7 @@ lin taiyuan_PN = mkPN "Taiyuan"; lin take_N = mkN "take" "takes"; lin take_V = IrregEng.take_V; lin take_V2 = mkV2 (IrregEng.take_V); +lin take_V2V = mkV2V (IrregEng.take_V) noPrep to_Prep; lin take_VA = mkVA (IrregEng.take_V); lin take_VS = mkVS (IrregEng.take_V); lin take_home_A = compoundA (mkA "take - home"); @@ -37885,6 +37903,7 @@ lin telford_PN = mkPN "Telford"; lin tell_V = IrregEng.tell_V; lin tell_V2 = mkV2 (IrregEng.tell_V); lin tell_V2V = mkV2V (IrregEng.tell_V) noPrep to_Prep; +lin tell_V2S = mkV2S (IrregEng.tell_V) noPrep; lin tell_VV = mkVV (IrregEng.tell_V); lin tell_VS = mkVS (IrregEng.tell_V); lin teller_N = mkN "teller" "tellers"; @@ -38087,7 +38106,7 @@ lin textile_N = mkN "textile" "textiles"; lin textual_A = compoundA (mkA "textual"); lin texture_N = mkN "texture" "textures"; lin textured_A = compoundA (mkA "textured"); -lin thai_A = compoundA (mkA "thai"); +lin thai_A = compoundA (mkA "Thai"); lin thai_N = mkN "thai" "thais"; lin thailand_PN = mkPN "Thailand"; lin thalidomide_N = mkN "thalidomide" ; @@ -38737,6 +38756,7 @@ lin tonsure_V2 = mkV2 (mkV "tonsure" "tonsures" "tonsured" "tonsured" "tonsuring lin tontine_N = mkN "tontine" "tontines"; lin tony_PN = mkPN "Tony"; lin tonyrefail_PN = mkPN "Tonyrefail"; +lin too_AdA = mkAdA "too"; lin too_Adv = mkAdv "too"; lin tool_N = mkN "tool" "tools"; lin tool_V2 = mkV2 (mkV "tool" "tools" "tooled" "tooled" "tooling"); @@ -40699,6 +40719,7 @@ lin untidy_A = mkA "untidy" "untidier"; lin untie_V = mkV "untie" "IRREG" "IRREG" "IRREG" "IRREG"; lin untie_V2 = mkV2 (mkV "untie" "IRREG" "IRREG" "IRREG" "IRREG"); lin until_Prep = mkPrep "until"; +lin until_Subj = mkSubj "until"; lin untimely_A = compoundA (mkA "untimely"); lin untiring_A = compoundA (mkA "untiring"); lin untitled_A = compoundA (mkA "untitled"); @@ -40877,7 +40898,6 @@ lin use_N = mkN "use" "uses"; lin use_V = mkV "use"; lin use_V2 = mkV2 (mkV "use" "uses" "used" "used" "using"); lin use_VV = mkVV (mkV "use"); -lin used_A = compoundA (mkA "used"); lin useful_A = compoundA (mkA "useful"); lin usefulness_N = mkN "usefulness" ; lin useless_A = compoundA (mkA "useless"); @@ -41389,6 +41409,7 @@ lin visionary_N = mkN "visionary" "visionaries"; lin visit_N = mkN "visit" "visits"; lin visit_V = mkV "visit" "visits" "visited" "visited" "visiting"; lin visit_V2 = mkV2 (mkV "visit" "visits" "visited" "visited" "visiting"); +lin visit_V2V = mkV2V (mkV "visit" "visits" "visited" "visited" "visiting") noPrep to_Prep; lin visitant_N = mkN "visitant" "visitants"; lin visitation_N = mkN "visitation" "visitations"; lin visiting_N = mkN "visiting" ; @@ -42111,7 +42132,7 @@ lin west_end_A = compoundA (mkA "west - end"); lin westbury_PN = mkPN "Westbury"; lin westerly_A = compoundA (mkA "westerly"); lin westerly_Adv = mkAdv "westerly"; -lin western_A = compoundA (mkA "western"); +lin western_A = compoundA (mkA "Western"); lin western_N = mkN "western" "westerns"; lin westerner_N = mkN "westerner" "westerners"; lin westernization_N = mkN "westernization" ; @@ -42187,6 +42208,7 @@ lin whence_Adv = mkAdv "whence"; lin whencesoever_A = compoundA (mkA "whencesoever"); lin whenever_Adv = mkAdv "whenever"; lin where_Adv = mkAdv "where"; +lin where_Subj = mkSubj "where"; lin whereabouts_Adv = mkAdv "whereabouts"; lin whereas_Prep = mkPrep "whereas"; lin whereat_Adv = mkAdv "whereat"; diff --git a/lib/src/english/DictEngAbs.gf b/lib/src/english/DictEngAbs.gf index be04a23ad..bbcb86484 100644 --- a/lib/src/english/DictEngAbs.gf +++ b/lib/src/english/DictEngAbs.gf @@ -1938,6 +1938,7 @@ fun aspirate_N : N; fun aspirate_V2 : V2; fun aspiration_N : N; fun aspire_V : V; +fun aspire_VV : VV; fun aspirin_N : N; fun aspull_PN : PN; fun ass_N : N; @@ -4802,7 +4803,8 @@ fun busy_A : A; fun busy_V2 : V2; fun busybody_N : N; fun but_Adv : Adv; -fun but_Prep : Prep ; +fun but_Prep : Prep; +fun but_Subj : Subj; fun butane_N : N; fun butch_A : A; fun butcher_N : N; @@ -4986,6 +4988,7 @@ fun call_N : N; fun call_V : V; fun call_V2 : V2; fun call_V2V : V2V; +fun call_V3 : V3; fun call_VS : VS; fun call_box_N : N; fun call_girl_N : N; @@ -7486,6 +7489,7 @@ fun conserve_V2 : V2; fun consett_PN : PN; fun consider_V : V; fun consider_V2 : V2; +fun consider_V3 : V3; fun consider_V2V : V2V; fun consider_VA : VA; fun consider_VV : VV; @@ -9730,6 +9734,7 @@ fun deserter_N : N; fun desertion_N : N; fun deserve_V : V; fun deserve_V2 : V2; +fun deserve_VV : VV; fun deserved_A : A; fun deserving_A : A; fun deshabille_N : N; @@ -12468,10 +12473,12 @@ fun eve_N : N; fun eve_PN : PN; fun evelyn_PN : PN; fun even_A : A; +fun even_AdA : AdA; fun even_Adv : Adv; fun even_N : N; fun even_V2 : V2; fun even_handed_A : A; +fun even_though_Subj : Subj; fun evening_N : N; fun evenness_N : N; fun evensong_N : N; @@ -13506,7 +13513,6 @@ fun finish_N : N; fun finish_V : V; fun finish_V2 : V2; fun finish_VA : VA; -fun finish_VS : VS; fun finite_A : A; fun finland_PN : PN; fun finn_N : N; @@ -18428,7 +18434,7 @@ fun industrial_A : A; fun industrialism_N : N; fun industrialist_N : N; fun industrialization_N : N; -fun industrialized_A : A; +fun industrialize_V2 : V2; fun industrious_A : A; fun industry_N : N; fun indwelling_A : A; @@ -20706,6 +20712,7 @@ fun lesley_PN : PN; fun leslie_PN : PN; fun lesotho_PN : PN; fun less_A : A; +fun less_AdA : AdA; fun less_Adv : Adv; fun less_N : N; fun lessee_N : N; @@ -23458,7 +23465,8 @@ fun morbidity_N : N; fun morbidness_N : N; fun mordant_A : A; fun more_Adv : Adv; -fun more_Det : Det; +fun moreSg_Det : Det; +fun morePl_Det : Det; fun more_N : N; fun morecambe_PN : PN; fun morello_N : N; @@ -23906,8 +23914,8 @@ fun namby_pamby_A : A; fun namby_pamby_N : N; fun name_N : N; fun name_V2 : V2; +fun name_V3 : V3; fun name_V2V : V2V; -fun name_VS : VS; fun name_day_N : N; fun name_drop_V : V; fun name_dropping_N : N; @@ -24662,6 +24670,7 @@ fun novitiate_N : N; fun novokuznetsk_PN : PN; fun novosibirsk_PN : PN; fun now_Adv : Adv; +fun now_AdV : AdV; fun nowadays_Adv : Adv; fun nowhere_Adv : Adv; fun nowise_Adv : Adv; @@ -25003,6 +25012,7 @@ fun offstage_Adv : Adv; fun oft_Adv : Adv; fun oft_times_Adv : Adv; fun often_Adv : Adv; +fun often_AdV : AdV; fun oftener_Adv : Adv; fun ogle_V : V; fun ogle_V2 : V2; @@ -25099,7 +25109,9 @@ fun on_Adv : Adv; fun on_Prep : Prep ; fun on_licence_N : N; fun once_Adv : Adv; +fun once_AdV : AdV; fun once_Prep : Prep ; +fun once_Subj : Subj; fun oncoming_A : A; fun oncoming_N : N; fun one_armed_A : A; @@ -28116,6 +28128,7 @@ fun poundage_N : N; fun pounder_N : N; fun pour_V : V; fun pour_V2 : V2; +fun pour_in_V2 : V2; fun pout_N : N; fun pout_V : V; fun pout_V2 : V2; @@ -30330,6 +30343,7 @@ fun referee_V2 : V2; fun reference_N : N; fun referendum_N : N; fun referential_A : A; +fun refile_V2 : V2; fun refill_N : N; fun refill_V2 : V2; fun refinance_V : V; @@ -30907,7 +30921,7 @@ fun resinated_A : A; fun resinous_A : A; fun resist_V : V; fun resist_V2 : V2; -fun resist_VS : VS; +fun resist_VV : VV; fun resistance_N : N; fun resistant_A : A; fun resister_N : N; @@ -33729,6 +33743,7 @@ fun show_V : V; fun show_V2 : V2; fun show_V2V : V2V; fun show_VS : VS; +fun show_up_V : V; fun show_business_N : N; fun show_off_N : N; fun show_window_N : N; @@ -36078,6 +36093,7 @@ fun stile_N : N; fun stiletto_N : N; fun still_A : A; fun still_Adv : Adv; +fun still_AdV : AdV; fun still_N : N; fun still_V2 : V2; fun still_life_N : N; @@ -37445,6 +37461,7 @@ fun taiyuan_PN : PN; fun take_N : N; fun take_V : V; fun take_V2 : V2; +fun take_V2V : V2V; fun take_VA : VA; fun take_VS : VS; fun take_home_A : A; @@ -37822,6 +37839,7 @@ fun telford_PN : PN; fun tell_V : V; fun tell_V2 : V2; fun tell_V2V : V2V; +fun tell_V2S : V2S; fun tell_VV : VV; fun tell_VS : VS; fun teller_N : N; @@ -38674,6 +38692,7 @@ fun tonsure_V2 : V2; fun tontine_N : N; fun tony_PN : PN; fun tonyrefail_PN : PN; +fun too_AdA : AdA; fun too_Adv : Adv; fun tool_N : N; fun tool_V2 : V2; @@ -40632,6 +40651,7 @@ fun untidy_A : A; fun untie_V : V; fun untie_V2 : V2; fun until_Prep : Prep ; +fun until_Subj : Subj ; fun untimely_A : A; fun untiring_A : A; fun untitled_A : A; @@ -40810,7 +40830,6 @@ fun use_N : N; fun use_V : V; fun use_V2 : V2; fun use_VV : VV; -fun used_A : A; fun useful_A : A; fun usefulness_N : N; fun useless_A : A; @@ -41322,6 +41341,7 @@ fun visionary_N : N; fun visit_N : N; fun visit_V : V; fun visit_V2 : V2; +fun visit_V2V : V2V; fun visitant_N : N; fun visitation_N : N; fun visiting_N : N; @@ -42118,8 +42138,9 @@ fun when_Adv : Adv; fun when_Subj : Subj; fun whence_Adv : Adv; fun whencesoever_A : A; -fun whenever_Adv : Adv; +fun whenever_Adv : Adv ; fun where_Adv : Adv; +fun where_Subj : Subj; fun whereabouts_Adv : Adv; fun whereas_Prep : Prep ; fun whereat_Adv : Adv; diff --git a/lib/src/english/ExtraEng.gf b/lib/src/english/ExtraEng.gf index 51fa04d4a..838d7ac38 100644 --- a/lib/src/english/ExtraEng.gf +++ b/lib/src/english/ExtraEng.gf @@ -31,21 +31,23 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** }; lincat - VPI = {s : VPIForm => Agr => Str} ; - [VPI] = {s1,s2 : VPIForm => Agr => Str} ; + VPI = {s : VVType => Agr => Str} ; + [VPI] = {s1,s2 : VVType => Agr => Str} ; lin - BaseVPI = twoTable2 VPIForm Agr ; - ConsVPI = consrTable2 VPIForm Agr comma ; + BaseVPI = twoTable2 VVType Agr ; + ConsVPI = consrTable2 VVType Agr comma ; MkVPI vp = { - s = \\v,a => vp.ad ++ vp.inf ++ vp.s2 ! a + s = table { + VVAux => \\a => vp.ad ++ vp.inf ++ vp.s2 ! a; + VVInf => \\a => "to" ++ vp.ad ++ vp.inf ++ vp.s2 ! a; + VVPresPart => \\a => vp.ad ++ vp.prp ++ vp.s2 ! a + } } ; - ConjVPI = conjunctDistrTable2 VPIForm Agr ; + ConjVPI = conjunctDistrTable2 VVType Agr ; ComplVPIVV vv vpi = ----- insertObj (\\a => infVP vv.typ vpi a) (predVV vv) ; - let isAux = case vv.typ of {VVAux => True ; _ => False} in - insertObj (\\a => (if_then_Str isAux [] "to") ++ vpi.s ! VPIInf ! a) (predVV vv) ; + insertObj (\\a => vpi.s ! vv.typ ! a) (predVV vv) ; lin that_RP = @@ -64,9 +66,6 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** -- for VP conjunction - param - VPIForm = VPIInf | VPIPPart ; - lincat VPS = {s : Agr => Str} ; [VPS] = {s1,s2 : Agr => Str} ; diff --git a/lib/src/english/ParseEng.gf b/lib/src/english/ParseEng.gf index c5f1ae280..c695f6dbb 100644 --- a/lib/src/english/ParseEng.gf +++ b/lib/src/english/ParseEng.gf @@ -2,7 +2,7 @@ concrete ParseEng of ParseEngAbs = TenseX - [Pol, PNeg, PPos], CatEng, - NounEng, + NounEng - [PPartNP], AdjectiveEng, NumeralEng, SymbolEng [PN, Symb, MkSymb, SymbPN], @@ -13,7 +13,10 @@ concrete ParseEng of ParseEngAbs = SentenceEng, RelativeEng, IdiomEng [NP, VP, Tense, Cl, ProgrVP, ExistNP], - ExtraEng [NP, Quant, VPSlash, VP, Tense, GenNP, PassVPSlash], + ExtraEng [NP, Quant, VPSlash, VP, Tense, GenNP, PassVPSlash, + Temp, Pol, Conj, VPS, ListVPS, S, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, + VPI, VPIForm, VPIInf, VPIPresPart, ListVPI, VV, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV], + DictEng ** open MorphoEng, ResEng, ParadigmsEng, Prelude in { @@ -91,6 +94,28 @@ lin CompS s = {s = \\_ => "that" ++ s.s} ; CompVP vp = {s = \\a => infVP VVInf vp a} ; + PassVS vs vp = + let + vps = insertObj (\\a => infVP VVInf vp a) (predV vs) ; + be = predAux auxBe ; + ppt = vps.ptp + in { + s = be.s ; + prp = be.prp ; + ptp = be.ptp ; + inf = be.inf ; + ad = vps.ad ; + s2 = \\a => ppt ++ vps.s2 ! a + } ; + + PPartNP np vps = { + s = let + be = predAux auxBe ; + ppt = vps.ptp + in \\c => np.s ! c ++ vps.ptp ++ vps.s2 ! np.a ; + a = np.a + } ; + lin PPos = {s = [] ; p = CPos} ; PNeg = {s = [] ; p = CNeg True} ; -- contracted: don't diff --git a/lib/src/english/ParseEngAbs.gf b/lib/src/english/ParseEngAbs.gf index 222f6880a..7d1541179 100644 --- a/lib/src/english/ParseEngAbs.gf +++ b/lib/src/english/ParseEngAbs.gf @@ -1,7 +1,7 @@ abstract ParseEngAbs = Tense, Cat, - Noun, + Noun - [PPartNP], Adjective, Numeral, Symbol [PN, Symb, String, MkSymb, SymbPN], @@ -12,7 +12,9 @@ abstract ParseEngAbs = Sentence, Relative, Idiom [NP, VP, Cl, ProgrVP, ExistNP], - Extra [NP, Quant, VPSlash, VP, GenNP, PassVPSlash], + Extra [NP, Quant, VPSlash, VP, GenNP, PassVPSlash, + Temp, Pol, Conj, VPS, ListVPS, S, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, + VPI, ListVPI, VV, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV], DictEngAbs ** { fun CompoundCN : Num -> N -> CN -> CN ; @@ -44,4 +46,6 @@ fun CompoundCN : Num -> N -> CN -> CN ; CompS : S -> Comp ; CompVP : VP -> Comp ; + PassVS : VS -> VP -> VP ; + PPartNP : NP -> VPSlash -> NP ; }