Skip to content

Commit

Permalink
Merge branch 'master' of github.com:GrammaticalFramework/gf-rgl
Browse files Browse the repository at this point in the history
  • Loading branch information
krangelov committed Jul 24, 2024
2 parents 05c65cc + d18b889 commit 6648913
Show file tree
Hide file tree
Showing 8 changed files with 185,423 additions and 63 deletions.
60 changes: 49 additions & 11 deletions src/german/ExtendGer.gf
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,50 @@ concrete ExtendGer of Extend =
lincat
VPI = {s : Bool => Str} ;
[VPI] = {s1,s2 : Bool => Str} ;
VPS = {s : Order => Agr => Str} ;
[VPS] = {s1,s2 : Order => Agr => Str} ;
VPS = {s : Order => Agr => {verb, compl : Str}} ;
[VPS] = {s : Order => Agr => {s1, s2, s3 : Str}} ; -- liebe, (ich) dich, (und) bin glücklich

lin
BaseVPI = twoTable Bool ;
ConsVPI = consrTable Bool comma ;

BaseVPS = twoTable2 Order Agr ;
ConsVPS = consrTable2 Order Agr comma ;
BaseVPS v w = {
s = \\ord, agr =>
let
vs = v.s ! ord ! agr ;
ws = w.s ! ord ! agr ;
in {
s1 = vs.verb ;
s2 = vs.compl ;
s3 = case ord of {
Sub => ws.compl ++ ws.verb ;
_ => ws.verb ++ ws.compl
}
}
} ;

ConsVPS v vv = {
s = \\ord, agr =>
let
vs = v.s ! ord ! agr ;
vvs = vv.s ! ord ! agr ;
in {
s1 = vs.verb ;
s2 = vs.compl ++ comma ++ vvs.s1 ++ vvs.s2 ;
s3 = vvs.s3
}
} ;

ConjVPS conj vv = {
s = \\ord, agr =>
let
vvs = vv.s ! ord ! agr
in {
verb = vvs.s1 ;
compl = conj.s1 ++ vvs.s2 ++ conj.s2 ++ vvs.s3
}
} ;


MkVPS tm p vp =
let vps = useVP vp in {
Expand Down Expand Up @@ -112,26 +147,29 @@ concrete ExtendGer of Extend =
} ;
extra = vp.inf.extr!agr ++ vp.ext ;
in
--- AR 22/7/2024 as the subject comes to a wrong place in PredVPS Inv
{verb = verb.fin ; compl = compl ++ infCompl ++ pred.inf ++ extra}
{-
case o of {
Main => subj ++ verb.fin ++ compl ++ infCompl ++ pred.inf ++ extra ;
Main => verb.fin ++ compl ++ infCompl ++ pred.inf ++ extra ;
Inv => verb.fin ++ subj ++ compl ++ infCompl ++ pred.inf ++ extra ;
Subj => subj ++ compl ++ pred.infComplfin ++ extra
}
-}
} ;

ConjVPS = conjunctDistrTable2 Order Agr ;

PredVPS np vpi =
PredVPS np vps =
let
subj = np.s ! False ! Nom ++ bigNP np ;
agr = np.a ;
in {
s = \\o =>
let verb = vpi.s ! o ! agr
let verb = vps.s ! o ! agr
in case o of {
Main => subj ++ verb ;
Inv => verb ++ subj ; ---- älskar henne och sover jag
Sub => subj ++ verb
Main => subj ++ verb.verb ++ verb.compl ;
Inv => verb.verb ++ subj ++ verb.compl ; -- älskar jag henne och sover
Sub => subj ++ verb.compl ++ verb.verb --- not quite correct in ConjVPS
}
} ;

Expand Down
2 changes: 1 addition & 1 deletion src/german/VerbGer.gf
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in {

UseCopula = predV sein_V ;

CompAP ap = {s = \\_ => ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ; ext = ap.ext} ;
CompAP ap = {s = \\_ => ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ; ext = ap.s2 ! Nom ++ ap.ext} ;
CompNP np = {s = \\_ => np.s ! False ! Nom ++ np.rc ; ext = np.ext} ;
CompAdv a = {s = \\_ => a.s ; ext = []} ;

Expand Down
54 changes: 27 additions & 27 deletions src/morphodict/MorphoDictEng.gf
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
--# -path=.:alltenses
concrete MorphoDictEng of MorphoDictEngAbs =
CatEng [N,A,V,Adv,Prep] **
open
ParadigmsEng
in
{
CatEng [N,A,V,Adv,Prep] **
open
ParadigmsEng
in
{
oper mkAMost : Str -> Str -> A = \ajar,ly -> mkA ajar ("more" ++ ajar) ("most" ++ ajar) ly ;

lin '\'til_Prep' = mkPrep "'til" ;
Expand Down Expand Up @@ -360,7 +360,7 @@ lin about_face_V = mkV "about-face" "about-faced" "about-faced" ;
lin above_A = mkAMost "above" "abovely" ;
lin above_Adv = mkAdv "above" ;
lin above_N = mkN "above" "aboves" ;
lin above_Prep = mkPrep "above" ;
--- lin above_Prep = mkPrep "above" ;
lin above_board_A = mkAMost "above board" "above boardly" ;
lin above_board_Adv = mkAdv "above board" ;
lin above_mentioned_A = mkAMost "above-mentioned" "above-mentionedly" ;
Expand Down Expand Up @@ -1241,7 +1241,7 @@ lin afropavo_N = mkN "afropavo" "afropavoes" ;
lin aft_Adv = mkAdv "aft" ;
lin after_A = mkAMost "after" "afterly" ;
lin after_Adv = mkAdv "after" ;
lin after_Prep = mkPrep "after" ;
--- lin after_Prep = mkPrep "after" ;
lin afterbirth_N = mkN "afterbirth" "afterbirths" ;
lin afterburner_N = mkN "afterburner" "afterburners" ;
lin aftercare_N = mkN "aftercare" "aftercares" ;
Expand Down Expand Up @@ -5084,7 +5084,7 @@ lin befit_V = mkV "befit" "befitted" "befitted" ;
lin befitting_A = mkAMost "befitting" "befittingly" ;
lin befogged_A = mkAMost "befogged" "befoggedly" ;
lin before_Adv = mkAdv "before" ;
lin before_Prep = mkPrep "before" ;
--- lin before_Prep = mkPrep "before" ;
lin beforehand_A = mkAMost "beforehand" "beforehandly" ;
lin beforehand_Adv = mkAdv "beforehand" ;
lin befoul_V = mkV "befoul" "befouled" "befouled" ;
Expand Down Expand Up @@ -5127,7 +5127,7 @@ lin behead_V = mkV "behead" "beheaded" "beheaded" ;
lin behest_N = mkN "behest" "behests" ;
lin behind_Adv = mkAdv "behind" ;
lin behind_N = mkN "behind" "behinds" ;
lin behind_Prep = mkPrep "behind" ;
--- lin behind_Prep = mkPrep "behind" ;
lin behindhand_A = mkAMost "behindhand" "behindhandly" ;
lin behither_Prep = mkPrep "behither" ;
lin behold_V = mkV "behold" "beheld" "beheld" ;
Expand Down Expand Up @@ -5378,7 +5378,7 @@ lin bettong_N = mkN "bettong" "bettongs" ;
lin bettor_N = mkN "bettor" "bettors" ;
lin betulaceous_A = mkAMost "betulaceous" "betulaceously" ;
lin between_Adv = mkAdv "between" ;
lin between_Prep = mkPrep "between" ;
--- lin between_Prep = mkPrep "between" ;
lin betwixen_Prep = mkPrep "betwixen" ;
lin betwixt_Prep = mkPrep "betwixt" ;
lin bevatron_N = mkN "bevatron" "bevatrons" ;
Expand Down Expand Up @@ -15893,7 +15893,7 @@ lin durative_N = mkN "durative" "duratives" ;
lin durbar_N = mkN "durbar" "durbars" ;
lin duress_N = mkN "duress" "duresses" ;
lin durian_N = mkN "durian" "durians" ;
lin during_Prep = mkPrep "during" ;
--- lin during_Prep = mkPrep "during" ;
lin durmast_N = mkN "durmast" "durmasts" ;
lin durra_N = mkN "durra" "durras" ;
lin durum_N = mkN "durum" "durums" ;
Expand Down Expand Up @@ -17583,7 +17583,7 @@ lin eversion_N = mkN "eversion" "eversions" ;
lin everyday_A = mkAMost "everyday" "everydaily" ;
lin everyman_N = mkN "everyman" "everymans" ;
lin everyplace_Adv = mkAdv "everyplace" ;
lin everywhere_Adv = mkAdv "everywhere" ;
--- lin everywhere_Adv = mkAdv "everywhere" ;
lin evict_V = mkV "evict" "evicted" "evicted" ;
lin eviction_N = mkN "eviction" "evictions" ;
lin evidence_N = mkN "evidence" "evidences" ;
Expand Down Expand Up @@ -17654,7 +17654,7 @@ lin excellence_N = mkN "excellence" "excellences" ;
lin excellency_N = mkN "excellency" "excellencies" ;
lin excellent_A = mkAMost "excellent" "excellently" ;
lin excelsior_N = mkN "excelsior" "excelsiors" ;
lin except_Prep = mkPrep "except" ;
--- lin except_Prep = mkPrep "except" ;
lin except_V = mkV "except" "excepted" "excepted" ;
lin except_for_Prep = mkPrep "except for" ;
lin exception_N = mkN "exception" "exceptions" ;
Expand Down Expand Up @@ -19582,7 +19582,7 @@ lin footwork_N = mkN "footwork" "footworks" ;
lin fop_N = mkN "fop" "fops" ;
lin foppish_A = mkAMost "foppish" "foppishly" ;
lin foppishness_N = mkN "foppishness" "foppishnesses" ;
lin for_Prep = mkPrep "for" ;
--- lin for_Prep = mkPrep "for" ;
lin for_example_Adv = mkAdv "for example" ;
lin for_instance_Adv = mkAdv "for instance" ;
lin for_starters_Adv = mkAdv "for starters" ;
Expand Down Expand Up @@ -20104,7 +20104,7 @@ lin frogmouth_N = mkN "frogmouth" "frogmouths" ;
lin frolic_N = mkN "frolic" "frolics" ;
lin frolic_V = mkV "frolic" "frolicked" "frolicked" ;
lin frolicsome_A = mkAMost "frolicsome" "frolicsomely" ;
lin from_Prep = mkPrep "from" ;
--- lin from_Prep = mkPrep "from" ;
lin from_home_Adv = mkAdv "from home" ;
lin fromward_Prep = mkPrep "fromward" ;
lin frond_N = mkN "frond" "fronds" ;
Expand Down Expand Up @@ -23060,7 +23060,7 @@ lin herd_N = mkN "herd" "herds" ;
lin herd_V = mkV "herd" "herded" "herded" ;
lin herder_N = mkN "herder" "herders" ;
lin herdsman_N = mkN "herdsman" "herdsmen" ;
lin here_Adv = mkAdv "here" ;
--- lin here_Adv = mkAdv "here" ;
lin hereabout_Adv = mkAdv "hereabout" ;
lin hereabouts_Adv = mkAdv "hereabouts" ;
lin hereafter_Adv = mkAdv "hereafter" ;
Expand Down Expand Up @@ -24873,7 +24873,7 @@ lin imputrescible_A = mkAMost "imputrescible" "imputrescibly" ;
lin in_A = mkA "in" "inner" "innest" "inly" ;
lin in_Adv = mkAdv "in" ;
lin in_N = mkN "in" "ins" ;
lin in_Prep = mkPrep "in" ;
--- lin in_Prep = mkPrep "in" ;
lin in_accordance_with_Prep = mkPrep "in accordance with" ;
lin in_addition_Adv = mkAdv "in addition" ;
lin in_addition_to_Prep = mkPrep "in addition to" ;
Expand Down Expand Up @@ -34102,7 +34102,7 @@ lin omnivorous_A = mkAMost "omnivorous" "omnivorously" ;
lin omophagia_N = mkN "omophagia" "omophagias" ;
lin omphaloskepsis_N = mkN "omphaloskepsis" "omphaloskepsises" ;
lin on_Adv = mkAdv "on" ;
lin on_Prep = mkPrep "on" ;
--- lin on_Prep = mkPrep "on" ;
lin on_account_of_Prep = mkPrep "on account of" ;
lin on_behalf_of_Prep = mkPrep "on behalf of" ;
lin on_licence_N = mkN "on-licence" "on-licences" ;
Expand Down Expand Up @@ -40154,7 +40154,7 @@ lin quisling_N = mkN "quisling" "quislings" ;
lin quit_quit_V = mkV "quit" "quit" "quit" ;
lin quit_quitted_V = mkV "quit" "quitted" "quitted" ;
lin quitclaim_N = mkN "quitclaim" "quitclaims" ;
lin quite_Adv = mkAdv "quite" ;
--- lin quite_Adv = mkAdv "quite" ;
lin quits_A = mkAMost "quits" "quitsly" ;
lin quittance_N = mkN "quittance" "quittances" ;
lin quitter_N = mkN "quitter" "quitters" ;
Expand Down Expand Up @@ -46383,7 +46383,7 @@ lin sometime_Adv = mkAdv "sometime" ;
lin sometimes_Adv = mkAdv "sometimes" ;
lin someway_Adv = mkAdv "someway" ;
lin somewhat_Adv = mkAdv "somewhat" ;
lin somewhere_Adv = mkAdv "somewhere" ;
--- lin somewhere_Adv = mkAdv "somewhere" ;
lin somewhere_N = mkN "somewhere" "somewheres" ;
lin sommelier_N = mkN "sommelier" "sommeliers" ;
lin somnambulism_N = mkN "somnambulism" "somnambulisms" ;
Expand Down Expand Up @@ -50228,7 +50228,7 @@ lin therapeutics_N = mkN "therapeutics" "therapeutics" ;
lin therapist_N = mkN "therapist" "therapists" ;
lin therapsid_N = mkN "therapsid" "therapsids" ;
lin therapy_N = mkN "therapy" "therapies" ;
lin there_Adv = mkAdv "there" ;
--- lin there_Adv = mkAdv "there" ;
lin thereabout_Adv = mkAdv "thereabout" ;
lin thereabouts_Adv = mkAdv "thereabouts" ;
lin thereafter_Adv = mkAdv "thereafter" ;
Expand Down Expand Up @@ -50485,7 +50485,7 @@ lin throttle_N = mkN "throttle" "throttles" ;
lin throttle_V = mkV "throttle" "throttled" "throttled" ;
lin throttle_valve_N = mkN "throttle-valve" "throttle-valves" ;
lin through_Adv = mkAdv "through" ;
lin through_Prep = mkPrep "through" ;
--- lin through_Prep = mkPrep "through" ;
lin throughout_Adv = mkAdv "throughout" ;
lin throughout_Prep = mkPrep "throughout" ;
lin throughput_N = mkN "throughput" "throughputs" ;
Expand Down Expand Up @@ -50800,7 +50800,7 @@ lin tiyin_N = mkN "tiyin" "tiyins" ;
lin tizzy_N = mkN "tizzy" "tizzies" ;
lin tnt_N = mkN "tnt" "tnts" ;
lin to_Adv = mkAdv "to" ;
lin to_Prep = mkPrep "to" ;
--- lin to_Prep = mkPrep "to" ;
lin to_date_Adv = mkAdv "to date" ;
lin to_do_N = mkN "to-do" "to-dos" ;
lin toad_N = mkN "toad" "toads" ;
Expand Down Expand Up @@ -52641,7 +52641,7 @@ lin undependability_N = mkN "undependability" "undependabilities" ;
lin undependable_A = mkAMost "undependable" "undependably" ;
lin undepicted_A = mkAMost "undepicted" "undepictedly" ;
lin under_Adv = mkAdv "under" ;
lin under_Prep = mkPrep "under" ;
--- lin under_Prep = mkPrep "under" ;
lin under_the_counter_A = mkAMost "under-the-counter" "under-the-counterly" ;
lin underachievement_N = mkN "underachievement" "underachievements" ;
lin underachiever_N = mkN "underachiever" "underachievers" ;
Expand Down Expand Up @@ -55963,7 +55963,7 @@ lin witchgrass_N = mkN "witchgrass" "witchgrasses" ;
lin witching_A = mkAMost "witching" "witchingly" ;
lin witching_N = mkN "witching" "witchings" ;
lin witchlike_A = mkAMost "witchlike" "witchlikely" ;
lin with_Prep = mkPrep "with" ;
--- lin with_Prep = mkPrep "with" ;
lin with_a_view_to_Prep = mkPrep "with a view to" ;
lin with_regard_to_Prep = mkPrep "with regard to" ;
lin with_respect_to_Prep = mkPrep "with respect to" ;
Expand All @@ -55979,7 +55979,7 @@ lin withhold_V = mkV "withhold" "withheld" "withheld" ;
lin withholder_N = mkN "withholder" "withholders" ;
lin withholding_N = mkN "withholding" "withholdings" ;
lin within_Prep = mkPrep "within" ;
lin without_Prep = mkPrep "without" ;
--- lin without_Prep = mkPrep "without" ;
lin withstand_V = mkV "withstand" "withstood" "withstood" ;
lin withstander_N = mkN "withstander" "withstanders" ;
lin withy_N = mkN "withy" "withies" ;
Expand Down Expand Up @@ -56605,4 +56605,4 @@ lin élan_N = mkN "élan" "élans" ;
lin élite_N = mkN "élite" "élites" ;
lin émigré_N = mkN "émigré" "émigrés" ;
lin épée_N = mkN "épée" "épées" ;
}
}
Loading

0 comments on commit 6648913

Please sign in to comment.