Files
gf-rgl/src/hungarian/IdiomHun.gf
2026-05-21 16:39:56 +02:00

93 lines
2.1 KiB
Plaintext

--1 Idiom: Idiomatic Expressions
concrete IdiomHun of Idiom = CatHun ** open Prelude, ResHun, VerbHun, NounHun, StructuralHun in {
-- This module defines constructions that are formed in fixed ways,
-- often different even in closely related languages.
{- lin
-- ImpersCl : VP -> Cl ; -- it is hot
-- GenericCl : VP -> Cl ; -- one sleeps
ImpersCl,
GenericCl = \vp -> predVP impersNP (passVP vp) ;
CleftNP : NP -> RS -> Cl ; -- it is I who did it
CleftAdv : Adv -> S -> Cl ; -- it is here she slept
-- : NP -> Cl ; -- there is a house
ExistNP np =
ExistIP : IP -> QCl ; -- which houses are there
-- 7/12/2012 generalizations of these
ExistNPAdv : NP -> Adv -> Cl ; -- there is a house in Paris
ExistIPAdv : IP -> Adv -> QCl ; -- which houses are there in Paris
-- : VP -> VP ;
ProgrVP vp = vp ** {
} ;
-- : VP -> Utt ; -- let's go
ImpPl1 vp = { } ;
ImpP3 : NP -> VP -> Utt ; -- let John walk
-- 3/12/2013 non-reflexive uses of "self"
SelfAdvVP : VP -> VP ; -- is at home himself
SelfAdVVP : VP -> VP ; -- is himself at home
SelfNP : NP -> NP ; -- the president himself (is at home)
-}
lin
ExistNP np = existNP np [] ;
ExistNPAdv np adv = existNP np adv.s ;
ExistIP ip = {
s = \\t,a,p =>
ip.s ! NoPoss ! Nom
++ if_then_Pol p [] "nem"
++ copula.s ! case t of {
Past => VPast P3 ip.agr.p2 ;
_ => VPres P3 ip.agr.p2
}
} ;
ExistIPAdv ip adv = {
s = \\t,a,p =>
ip.s ! NoPoss ! Nom
++ adv.s
++ if_then_Pol p [] "nem"
++ copula.s ! case t of {
Past => VPast P3 ip.agr.p2 ;
_ => VPres P3 ip.agr.p2
}
} ;
ProgrVP vp = vp ;
ImpPl1 vp = {
s = "próbáljunk" ++ infVP vp
} ;
oper
existNP : NounPhrase -> Str -> ResHun.ClSlash = \np,adv -> {
s = \\t,_,p =>
if_then_Pol p [] "nem"
++ copula.s ! case t of {
Past => VPast P3 np.agr.p2 ;
_ => VPres P3 np.agr.p2
}
++ linNP np
++ adv ;
c2 = Acc
} ;
}