1
0
forked from GitHub/gf-rgl

added missing bits and pieces

This commit is contained in:
Krasimir Angelov
2025-08-12 11:13:29 +02:00
parent 1308eb85d9
commit 145e1affe9
5 changed files with 86 additions and 8 deletions

View File

@@ -1,3 +1,17 @@
--# -path=.:../hungarian:../common:../abstract:../prelude
resource TryHun = SyntaxHun, LexiconHun, ParadigmsHun - [mkAdv] ;
resource TryHun = SyntaxHun-[mkAdN], LexiconHun, ParadigmsHun - [mkAdv,mkAdN] **
open (P = ParadigmsHun) in {
oper
mkAdv = overload SyntaxHun {
mkAdv : Str -> Adv = P.mkAdv ;
} ;
mkAdN = overload {
mkAdN : CAdv -> AdN = SyntaxHun.mkAdN ;
mkAdN : Str -> AdN = P.mkAdN ;
} ;
}

View File

@@ -117,7 +117,7 @@ concrete CatHun of Cat = CommonX - [Adv] ** open ResHun, Prelude in {
N,
N2,
N3 = ResHun.Noun ;
PN = ResHun.NounPhrase ;
PN,LN,GN,SN = ResHun.NounPhrase ;
Adv = {s : Str ; isPre : Bool} ;

View File

@@ -6,7 +6,10 @@ lincat
Sub10 = LinDigit ;
Sub100,
Sub1000,
Sub1000000 = ResHun.Numeral ;
Sub1000000,
Sub1000000000,
Sub1000000000000 = ResHun.Numeral ;
lin
-- TODO: Add case inflection and ordinal forms to all numerals
@@ -72,6 +75,9 @@ lin
{s = table {p => n.s ! Attrib ++ "ezer" ++ m.s ! p} ;
n = numNumber ; numtype = IsNum} ;
pot3as4 n = n ;
pot4as5 n = n ;
oper
LinDigit : Type = {s : DForm*Place => Str ; n : Number} ;

View File

@@ -31,6 +31,14 @@ oper
-- mkPN : N -> Number -> PN ;
} ;
mkLN : overload {
mkLN : Str -> PN ; -- Singular PN out of a string
mkLN : Str -> Number -> PN -- PN with a given number
} ;
mkGN : Str -> PN ; -- GN out of a string
mkSN : Str -> SN ; -- SN out of a string
--2 Adjectives
mkA : overload {
@@ -110,6 +118,9 @@ oper
mkAdA : Str -> AdA
= \s -> lin AdA {s = s} ;
mkAdN : Str -> AdN
= \s -> lin AdN {s = s} ;
--.
-------------------------------------------------------------------------------
@@ -184,6 +195,14 @@ oper
-- mkPN : N -> Number -> PN ;
} ;
mkLN = overload {
mkLN : Str -> LN = \s -> lin LN (defNP s Sg) ;
mkLN : Str -> Number -> LN = \s,n -> lin LN (defNP s n) ;
} ;
mkGN s = lin GN (defNP s Sg) ;
mkSN s = lin SN (defNP s Sg) ;
mkA = overload {
mkA : (sgnom : Str) -> A = \s -> lin A (mkAdj s) ;
mkA : (sgnom,sgacc : Str) -> A = \nom,acc ->
@@ -213,17 +232,54 @@ oper
copula = ResHun.copula ;
mkVS = overload {
mkVS : Str -> VS = \v -> lin VS (mkVerb v) ;
mkVS : V -> VS = \v -> lin VS v ;
} ;
mkVQ = overload {
mkVQ : Str -> VQ = \v -> lin VQ (mkVerb v) ;
mkVQ : V -> VQ = \v -> lin VQ v ;
} ;
mkVA = overload {
mkVA : Str -> VA = \v -> lin VA (mkVerb v) ;
mkVA : V -> VA = \v -> lin VA v ;
} ;
mkV2 = overload {
mkV2 : (plain : Str) -> V2 = \v2 -> lin V2 (mkVerb2 v2) ;
mkV2 : V -> V2 = vtov2 ;
} ;
mkVV = overload {
mkVV : Str -> VV = \v -> lin VV (mkVerb2 v) ;
mkVV : V -> VV = \v -> lin VV (vtov2 v) ;
} ;
mkV2A = overload {
mkV2A : Str -> V2A = \v -> lin V2A (mkVerb2 v) ;
mkV2A : V -> V2A = \v -> lin V2A (vtov2 v) ;
} ;
mkV2V = overload {
mkV2V : Str -> V2V = \v -> lin V2V (mkVerb2 v) ;
mkV2V : V -> V2V = \v -> lin V2V (vtov2 v) ;
} ;
mkV2S = overload {
mkV2S : Str -> V2S = \v -> lin V2S (mkVerb2 v) ;
mkV2S : V -> V2S = \v -> lin V2S (vtov2 v) ;
} ;
mkV2Q = overload {
mkV2Q : Str -> V2Q = \v -> lin V2Q (mkVerb2 v) ;
mkV2Q : V -> V2Q = \v -> lin V2Q (vtov2 v) ;
} ;
mkV3 = overload {
mkV3 : (plain : Str) -> V3 = \v3 -> lin V3 (mkVerb3 v3) ;
} ;
--
-- mkVV = overload {
-- } ;
mkPrep = overload {
mkPrep : (e : Str) -> Prep
@@ -234,6 +290,8 @@ oper
casePrep : Case -> Prep
= \c -> lin Prep (ResHun.caseAdp c) ;
mkInterj : Str -> Interj = \s -> lin Interj {s = s} ;
--------------------------------------------------------------------------------
}

View File

@@ -121,12 +121,12 @@ lin under_Prep = nomAdp "alatt" ;
-- Pron
-- Pronouns are closed class, no constructor in ParadigmsHun.
-- it_Pron =
i_Pron = pronTable ! <P1,Sg> ;
youPol_Pron,
youSg_Pron = pronTable ! <P2,Sg> ;
he_Pron,
she_Pron = pronTable ! <P3,Sg> ;
she_Pron,
it_Pron = pronTable ! <P3,Sg> ;
we_Pron = pronTable ! <P1,Pl> ;
youPl_Pron = pronTable ! <P2,Pl> ;
they_Pron = pronTable ! <P3,Pl> ;