started a separate module for names

This commit is contained in:
Krasimir Angelov
2023-07-24 17:24:13 +02:00
parent 8b1309c99d
commit 645de9955a
100 changed files with 611 additions and 227 deletions

View File

@@ -131,7 +131,7 @@ concrete CatRon of Cat =
N3 = Noun ** {c2,c3 : Compl} ;
GN, SN, PN = {s : NCase => Str ; g : Gender ; n : Number; a : Animacy} ;
GN, SN, LN, PN = {s : NCase => Str ; g : Gender ; n : Number; a : Animacy} ;
Comp = {s : Agr => Str} ;

View File

@@ -1,7 +1,7 @@
--# -path=.:../common:../abstract
concrete ExtendRon of Extend =
CatRon ** ExtendFunctor - [PassVPSlash, GivenName, MaleSurname, FemaleSurname, FullName]
CatRon ** ExtendFunctor - [PassVPSlash]
with
(Grammar = GrammarRon) **
open ResRon in {
@@ -17,12 +17,4 @@ lin iFem_Pron = mkPronoun "eu" "mine" "mie" [] [] "meu" "mea" "mei" "mele" Fem S
-- KA: derived from PassV2, objects are ignored
lin PassVPSlash vps = insertSimpObj (\\a => vps.s ! PPasse a.g a.n Indef ANomAcc) auxPassive ** {lock_VP = <>};
lin GivenName, MaleSurname, FemaleSurname = \n -> n ;
lin FullName gn sn = { -- KA: guessed
s = \\c => gn.s ! No ++ sn.s ! c ;
g = gn.g ;
n = gn.n ;
a = gn.a
} ;
}

View File

@@ -15,7 +15,8 @@ concrete GrammarRon of Grammar =
TextX - [CAdv,Temp,Tense],
-- Prelude, MorphoRon, Coordination,
StructuralRon,
TenseRon
TenseRon,
NamesRon
** {
flags startcat = Phr ; unlexer = text ; lexer = text ;

34
src/romanian/NamesRon.gf Normal file
View File

@@ -0,0 +1,34 @@
concrete NamesRon of Names = CatRon ** open ResRon, Prelude in {
lin GivenName, MaleSurname, FemaleSurname = \pn -> -- KA: guessed
let
g = pn.g ;
n = pn.n ;
ag = agrP3 g n ;
hc = getClit pn.a
in {
s = \\c => {comp = pn.s ! c ;
clit = \\cs => if_then_Str hc ((genCliticsCase ag c).s ! cs) [] } ;
a = ag;
nForm = if_then_else NForm hc HasClit (HasRef False) ;
isPronoun = False ; isPol = False;
indForm = pn.s ! No
} ;
lin FullName gn sn = -- KA: guessed
let
g = gn.g ;
n = gn.n ;
ag = agrP3 g n ;
hc = getClit gn.a
in {
s = \\c => {comp = gn.s ! No ++ sn.s ! c ;
clit = \\cs => if_then_Str hc ((genCliticsCase ag c).s ! cs) [] } ;
a = ag;
nForm = if_then_else NForm hc HasClit (HasRef False) ;
isPronoun = False ; isPol = False;
indForm = gn.s ! No ++ sn.s ! No
} ;
}