diff --git a/lib/resource-1.0/english/English.gf b/lib/resource-1.0/english/English.gf new file mode 100644 index 000000000..2b4f474d4 --- /dev/null +++ b/lib/resource-1.0/english/English.gf @@ -0,0 +1,7 @@ +--# -path=.:../abstract:../common:prelude + +concrete English of EnglishAbs = + LangEng, +-- IrregEng, + ExtEng + ** {} ; diff --git a/lib/resource-1.0/english/EnglishAbs.gf b/lib/resource-1.0/english/EnglishAbs.gf new file mode 100644 index 000000000..ba1522274 --- /dev/null +++ b/lib/resource-1.0/english/EnglishAbs.gf @@ -0,0 +1,5 @@ +abstract EnglishAbs = + Lang, +--- IrregEngAbs, + ExtEngAbs + ** {} ; diff --git a/lib/resource-1.0/english/ExtEng.gf b/lib/resource-1.0/english/ExtEng.gf new file mode 100644 index 000000000..714fa31f9 --- /dev/null +++ b/lib/resource-1.0/english/ExtEng.gf @@ -0,0 +1,26 @@ +concrete ExtEng of ExtEngAbs = CatEng ** open ResEng in { + + lincat + + Aux = {s : Polarity => Str} ; + + lin + + PredAux np aux vp = mkS (np.s ! Nom) np.a + (\\t,ant,b,ord,agr => + let + fin = aux.s ! b ; + vf : Str -> Str -> {fin, inf : Str} = \x,y -> + {fin = x ; inf = y} ; + in + case ant of { + Simul => vf fin [] ; + Anter => vf fin "have" + } + ) + (\\agr => infVP vp agr) ; + + can_Aux = {s = \\p => posneg p "can"} ; ---- cannt + must_Aux = {s = \\p => posneg p "must"} ; + +} \ No newline at end of file diff --git a/lib/resource-1.0/english/ExtEngAbs.gf b/lib/resource-1.0/english/ExtEngAbs.gf new file mode 100644 index 000000000..85c117e47 --- /dev/null +++ b/lib/resource-1.0/english/ExtEngAbs.gf @@ -0,0 +1,15 @@ +abstract ExtEngAbs = Cat ** { + + cat + Aux ; -- auxiliary verbs: "can", "must", etc + +-- Notice that $Aux$ cannot form $VP$ with infinitive, imperative, etc. + + fun + PredAux : NP -> Aux -> VP -> Cl ; + QuestAux : IP -> Aux -> VP -> QCl ; + + can_Aux : Aux ; + must_Aux : Aux ; + +}