mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-04 00:32:51 -06:00
gerund and participle translations for Fre,Ita,Spa and Ger. Some a bit questionable.
This commit is contained in:
@@ -59,29 +59,43 @@ lin
|
||||
} ;
|
||||
|
||||
|
||||
{-
|
||||
GerundN v = {
|
||||
s = \\n,c => v.s ! VPresPart ;
|
||||
g = Neutr
|
||||
} ;
|
||||
|
||||
GerundAP v = {
|
||||
s = \\agr => v.s ! VPresPart ;
|
||||
isPre = True
|
||||
} ;
|
||||
-- }
|
||||
GerundNP vp =
|
||||
let a = agrP3 Masc Sg ---- agr
|
||||
in
|
||||
heavyNP {s = \\c => prepCase c ++ infVP vp a ; a = a} ; -- parlare tedesco non è facile
|
||||
|
||||
PastPartAP v = {
|
||||
GerundAdv vp =
|
||||
let a = agrP3 Masc Sg
|
||||
in
|
||||
{s = gerVP vp a} | {s = "en" ++ gerVP vp a} ;
|
||||
|
||||
WithoutVP vp = SyntaxFre.mkAdv without_Prep (lin NP (GerundNP (lin VP vp))) ; -- senza dormire
|
||||
|
||||
InOrderToVP vp = SyntaxFre.mkAdv for_Prep (lin NP (GerundNP (lin VP vp))) ; -- per dormire
|
||||
|
||||
ByVP vp = GerundAdv (lin VP vp) ;
|
||||
|
||||
PresPartAP vp = {
|
||||
s = table {
|
||||
AF g n => v.s ! VPart g n ;
|
||||
_ => v.s ! VPart Masc Sg ---- the adverb form
|
||||
AF g n => nominalVP VPresPart True vp (agrP3 g n) ;
|
||||
_ => nominalVP VPresPart True vp (agrP3 Masc Sg) ---- the adverb form
|
||||
} ;
|
||||
isPre = True
|
||||
} ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
--{-
|
||||
OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ;
|
||||
-}
|
||||
PastPartAP vp = {
|
||||
s = table {
|
||||
AF g n => nominalVP (VPart g n) True vp (agrP3 g n) ;
|
||||
_ => nominalVP (VPart Masc Sg) True vp (agrP3 Masc Sg) ---- the adverb form
|
||||
} ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
PastPartAgentAP vp np =
|
||||
let part = PastPartAP (lin VP vp)
|
||||
in part ** {
|
||||
s = \\a => part.s ! a ++ (SyntaxFre.mkAdv (mkPrep "par") (lin NP np)).s
|
||||
} ;
|
||||
|
||||
PositAdVAdj a = {s = a.s ! Posit ! AA} ;
|
||||
|
||||
|
||||
@@ -78,22 +78,46 @@ lin
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
GerundN v = { -- parsing
|
||||
s = \\n,c => v.s ! VInf False ; --- formalisieren, not formalisierung
|
||||
g = Neutr
|
||||
} ;
|
||||
GerundNP vp = { -- infinitive: Bier zu trinken
|
||||
s = \\c => (prepC c).s ++ useInfVP False vp ;
|
||||
a = Ag Neutr Sg P3 ;
|
||||
isPron = False
|
||||
} ;
|
||||
|
||||
GerundAdv vp = { -- Bier trinkend
|
||||
s = (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++ vp.a2 ++ vp.inf ++ vp.ext ++ vp.infExt ++ vp.s.s ! VPresPart APred
|
||||
} ;
|
||||
|
||||
WithoutVP vp = { -- ohne Bier zu trinken
|
||||
s = "ohne" ++ useInfVP False vp
|
||||
} ;
|
||||
|
||||
InOrderToVP vp = { -- um Bier zu trinken
|
||||
s = "um" ++ useInfVP False vp
|
||||
} ;
|
||||
|
||||
ByVP vp = { ---- durch Bier zu drinken
|
||||
s = "durch" ++ useInfVP False vp ----
|
||||
} ;
|
||||
|
||||
PresPartAP vp = {
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++ vp.a2 ++ vp.inf ++ vp.ext ++ vp.infExt ++ vp.s.s ! VPresPart af ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
PastPartAP vp = {
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++ vp.a2 ++ vp.inf ++ vp.ext ++ vp.infExt ++ vp.s.s ! VPastPart af ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
PastPartAgentAP vp np =
|
||||
let agent = (SyntaxGer.mkAdv von_Prep (lin NP np)).s
|
||||
in {
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++ vp.a2 ++ agent ++ vp.inf ++ vp.ext ++ vp.infExt ++ vp.s.s ! VPastPart af ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
{-
|
||||
GerundAP v = { -- beckoning
|
||||
s = \\agr => v.s ! VPresPart ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
PastPartAP v = { -- broken
|
||||
s = \\agr => v.s ! VPPart ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ; -- higher
|
||||
|
||||
PositAdVAdj a = {s = a.s ! AAdv} ; -- really
|
||||
|
||||
@@ -58,31 +58,43 @@ lin
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
-- infVP : VP -> Agr -> Str = \vp,agr ->
|
||||
GerundNP vp =
|
||||
let a = agrP3 Masc Sg ---- agr
|
||||
in
|
||||
heavyNP {s = \\c => prepCase c ++ infVP vp a ; a = a} ; -- parlare tedesco non è facile
|
||||
|
||||
{-
|
||||
GerundN v = {
|
||||
s = \\n,c => v.s ! VPresPart ;
|
||||
g = Neutr
|
||||
} ;
|
||||
|
||||
GerundAP v = {
|
||||
s = \\agr => v.s ! VPresPart ;
|
||||
isPre = True
|
||||
} ;
|
||||
-- }
|
||||
GerundAdv vp =
|
||||
let a = agrP3 Masc Sg
|
||||
in
|
||||
{s = gerVP vp a} ; -- dormendo
|
||||
|
||||
PastPartAP v = {
|
||||
WithoutVP vp = SyntaxIta.mkAdv without_Prep (lin NP (GerundNP (lin VP vp))) ; -- senza dormire
|
||||
|
||||
InOrderToVP vp = SyntaxIta.mkAdv for_Prep (lin NP (GerundNP (lin VP vp))) ; -- per dormire
|
||||
|
||||
ByVP vp = GerundAdv (lin VP vp) ;
|
||||
|
||||
PresPartAP vp = {
|
||||
s = table {
|
||||
AF g n => v.s ! VPart g n ;
|
||||
_ => v.s ! VPart Masc Sg ---- the adverb form
|
||||
AF g n => nominalVP VPresPart True vp (agrP3 g n) ;
|
||||
_ => nominalVP VPresPart True vp (agrP3 Masc Sg) ---- the adverb form
|
||||
} ;
|
||||
isPre = True
|
||||
} ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
--{-
|
||||
OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ;
|
||||
-}
|
||||
PastPartAP vp = {
|
||||
s = table {
|
||||
AF g n => nominalVP (VPart g n) True vp (agrP3 g n) ;
|
||||
_ => nominalVP (VPart Masc Sg) True vp (agrP3 Masc Sg) ---- the adverb form
|
||||
} ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
PastPartAgentAP vp np =
|
||||
let part = PastPartAP (lin VP vp)
|
||||
in part ** {
|
||||
s = \\a => part.s ! a ++ (SyntaxIta.mkAdv da_Prep (lin NP np)).s
|
||||
} ;
|
||||
|
||||
PositAdVAdj a = {s = a.s ! Posit ! AA} ;
|
||||
|
||||
|
||||
@@ -58,29 +58,44 @@ lin
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
{-
|
||||
GerundN v = {
|
||||
s = \\n,c => v.s ! VPresPart ;
|
||||
g = Neutr
|
||||
} ;
|
||||
|
||||
GerundAP v = {
|
||||
s = \\agr => v.s ! VPresPart ;
|
||||
isPre = True
|
||||
} ;
|
||||
-- }
|
||||
|
||||
PastPartAP v = {
|
||||
GerundNP vp =
|
||||
let a = agrP3 Masc Sg ---- agr
|
||||
in
|
||||
heavyNP {s = \\c => prepCase c ++ infVP vp a ; a = a} ; -- parlare tedesco non è facile
|
||||
|
||||
GerundAdv vp =
|
||||
let a = agrP3 Masc Sg
|
||||
in
|
||||
{s = gerVP vp a} ; -- dormendo
|
||||
|
||||
WithoutVP vp = SyntaxSpa.mkAdv without_Prep (lin NP (GerundNP (lin VP vp))) ; -- senza dormire
|
||||
|
||||
InOrderToVP vp = SyntaxSpa.mkAdv for_Prep (lin NP (GerundNP (lin VP vp))) ; -- per dormire
|
||||
|
||||
ByVP vp = GerundAdv (lin VP vp) ;
|
||||
|
||||
PresPartAP vp = {
|
||||
s = table {
|
||||
AF g n => v.s ! VPart g n ;
|
||||
_ => v.s ! VPart Masc Sg ---- the adverb form
|
||||
AF g n => nominalVP VPresPart True vp (agrP3 g n) ;
|
||||
_ => nominalVP VPresPart True vp (agrP3 Masc Sg) ---- the adverb form
|
||||
} ;
|
||||
isPre = True
|
||||
} ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
--{-
|
||||
OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ;
|
||||
-}
|
||||
PastPartAP vp = {
|
||||
s = table {
|
||||
AF g n => nominalVP (VPart g n) True vp (agrP3 g n) ;
|
||||
_ => nominalVP (VPart Masc Sg) True vp (agrP3 Masc Sg) ---- the adverb form
|
||||
} ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
PastPartAgentAP vp np =
|
||||
let part = PastPartAP (lin VP vp)
|
||||
in part ** {
|
||||
s = \\a => part.s ! a ++ (SyntaxSpa.mkAdv (mkPrep "por") (lin NP np)).s
|
||||
} ;
|
||||
|
||||
PositAdVAdj a = {s = a.s ! Posit ! AA} ;
|
||||
|
||||
|
||||
@@ -25,7 +25,11 @@ concrete TranslateFre of Translate =
|
||||
DocumentationFre,
|
||||
|
||||
ChunkFre,
|
||||
ExtensionsFre [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP],
|
||||
ExtensionsFre [
|
||||
CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP
|
||||
, PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv
|
||||
, WithoutVP, InOrderToVP, ByVP
|
||||
],
|
||||
|
||||
DictionaryFre **
|
||||
open PhonoFre, MorphoFre, ResFre, CommonRomance, ParadigmsFre, SyntaxFre, Prelude, (G = GrammarFre) in {
|
||||
|
||||
@@ -23,8 +23,11 @@ concrete TranslateGer of Translate =
|
||||
DocumentationGer,
|
||||
|
||||
ChunkGer,
|
||||
ExtensionsGer [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP,
|
||||
DirectComplVS, DirectComplVQ, FocusObjS],
|
||||
ExtensionsGer [
|
||||
CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP
|
||||
, PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv
|
||||
, WithoutVP, InOrderToVP, ByVP
|
||||
],
|
||||
|
||||
DictionaryGer **
|
||||
open MorphoGer, ResGer, ParadigmsGer, SyntaxGer, CommonScand, (E = ExtraGer), Prelude in {
|
||||
|
||||
@@ -28,7 +28,7 @@ concrete TranslateIta of Translate =
|
||||
ExtensionsIta [
|
||||
CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP
|
||||
, PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv
|
||||
---- , WithoutVP, InOrderToVP, ByVP
|
||||
, WithoutVP, InOrderToVP, ByVP
|
||||
],
|
||||
|
||||
DictionaryIta **
|
||||
|
||||
@@ -25,7 +25,11 @@ concrete TranslateSpa of Translate =
|
||||
DocumentationSpa,
|
||||
|
||||
ChunkSpa,
|
||||
ExtensionsSpa [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP],
|
||||
ExtensionsSpa [
|
||||
CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP
|
||||
, PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv
|
||||
, WithoutVP, InOrderToVP, ByVP
|
||||
],
|
||||
|
||||
DictionarySpa **
|
||||
open MorphoSpa, ResSpa, ParadigmsSpa, SyntaxSpa, (E = ExtraSpa), (G = GrammarSpa), Prelude in {
|
||||
|
||||
Reference in New Issue
Block a user