forked from GitHub/gf-rgl
Add LibraryBrowserIta. Add mkQuant, mkDet to MakeStructuralIta.
This commit is contained in:
24
src/api/libraryBrowser/LibraryBrowserIta.gf
Normal file
24
src/api/libraryBrowser/LibraryBrowserIta.gf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
--# -path=.:alltenses
|
||||||
|
|
||||||
|
concrete LibraryBrowserIta of LibraryBrowser =
|
||||||
|
GrammarIta - [
|
||||||
|
UseCopula
|
||||||
|
],
|
||||||
|
LexiconIta
|
||||||
|
** open (S = SyntaxIta) in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
i_NP = S.i_NP ;
|
||||||
|
you_NP = S.you_NP ;
|
||||||
|
he_NP = S.he_NP ;
|
||||||
|
she_NP = S.she_NP ;
|
||||||
|
we_NP = S.we_NP ;
|
||||||
|
youPl_NP = S.youPl_NP ;
|
||||||
|
youPol_NP = S.youPol_NP ;
|
||||||
|
they_NP = S.they_NP ;
|
||||||
|
|
||||||
|
a_Det = S.mkDet S.a_Quant ;
|
||||||
|
the_Det = S.mkDet S.the_Quant ;
|
||||||
|
aPl_Det = S.mkDet S.a_Quant S.plNum ;
|
||||||
|
thePl_Det = S.mkDet S.the_Quant S.plNum ;
|
||||||
|
}
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
resource MakeStructuralIta = open CatIta, ParadigmsIta, MorphoIta, Prelude in {
|
resource MakeStructuralIta = open CatIta, ParadigmsIta, MorphoIta, Prelude in {
|
||||||
|
|
||||||
oper
|
oper
|
||||||
mkConj : Str -> Str -> ParadigmsIta.Number -> Conj = \x,y,n ->
|
mkConj : Str -> Str -> ParadigmsIta.Number -> Conj = \x,y,n ->
|
||||||
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
|
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
|
||||||
mkSubj : Str -> Subj = \x ->
|
mkSubj : Str -> Subj = \x ->
|
||||||
{s = x ; m = Indic ; lock_Subj = <>} ;
|
{s = x ; m = Indic ; lock_Subj = <>} ;
|
||||||
mkSubjSubj : Str -> Subj = \x ->
|
mkSubjSubj : Str -> Subj = \x ->
|
||||||
{s = x ; m = Conjunct ; lock_Subj = <>} ;
|
{s = x ; m = Conjunct ; lock_Subj = <>} ;
|
||||||
|
|
||||||
mkIQuant : Str -> IQuant = \s ->
|
mkIQuant : Str -> IQuant = \s ->
|
||||||
@@ -21,9 +21,62 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
mkPredet : Str -> Str -> Prep -> Bool -> Predet = \m,f,c,p -> lin Predet {
|
mkPredet : Str -> Str -> Prep -> Bool -> Predet = \m,f,c,p -> lin Predet {
|
||||||
s = \\g,k => prepCase k ++ case g.g of {Masc => m ; Fem => f} ; ---- number?
|
s = \\g,k => prepCase k ++ case g.g of {Masc => m ; Fem => f} ; ---- number?
|
||||||
c = c.c ;
|
c = c.c ;
|
||||||
a = if_then_else PAgr p (PAg Sg) PNoAg ---- e,g, "chacun de"; other possibilities?
|
a = if_then_else PAgr p (PAg Sg) PNoAg ---- e,g, "chacun de"; other possibilities?
|
||||||
} ;
|
} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkQuant = overload {
|
||||||
|
-- Does not inflect for number or gender
|
||||||
|
mkQuant : Str -> Quant = \s ->
|
||||||
|
let
|
||||||
|
questo : Number => Gender => Case => Str = \\n,g,c => prepCase c ++ s ;
|
||||||
|
in lin Quant {
|
||||||
|
s = \\b => questo ;
|
||||||
|
sp = questo ;
|
||||||
|
s2 = [] ;
|
||||||
|
isNeg = False
|
||||||
|
} ;
|
||||||
|
-- Inflects for number and gender
|
||||||
|
mkQuant : Str -> Str -> Str -> Str -> Quant = \tutto,tutta,tutti,tutte ->
|
||||||
|
let
|
||||||
|
questo : Number => Gender => Case => Str = table {
|
||||||
|
Sg => table {
|
||||||
|
Masc => \\c => prepCase c ++ tutto ;
|
||||||
|
Fem => \\c => prepCase c ++ tutta
|
||||||
|
} ;
|
||||||
|
Pl => table {
|
||||||
|
Masc => \\c => prepCase c ++ tutti ;
|
||||||
|
Fem => \\c => prepCase c ++ tutte
|
||||||
|
}
|
||||||
|
}
|
||||||
|
in lin Quant {
|
||||||
|
s = \\b => questo ;
|
||||||
|
sp = questo ;
|
||||||
|
s2 = [] ;
|
||||||
|
isNeg = False
|
||||||
|
} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkDet = overload {
|
||||||
|
-- Does not inflect for number
|
||||||
|
mkDet : Str -> Number -> Det = \piu,n -> lin Det {
|
||||||
|
s,sp = \\_,_ => piu ;
|
||||||
|
n = n ;
|
||||||
|
s2 = [] ;
|
||||||
|
isNeg = False
|
||||||
|
} ;
|
||||||
|
-- Inflects for number
|
||||||
|
mkDet : Str -> Str -> Number -> Det = \alcuni,alcune,n -> lin Det {
|
||||||
|
s,sp = table {
|
||||||
|
Masc => \\_ => alcuni ;
|
||||||
|
Fem => \\_ => alcune
|
||||||
|
} ;
|
||||||
|
n = n ;
|
||||||
|
s2 = [] ;
|
||||||
|
isNeg = False
|
||||||
|
} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user