1
0
forked from GitHub/gf-rgl

still broken but in a different way

This commit is contained in:
Inari Listenmaa
2025-08-20 16:21:45 +02:00
parent 4b78bd6c67
commit cabf56aea9

View File

@@ -40,26 +40,25 @@ param
oper oper
LinN : Type = { LinN : Type = {
base, -- tunnag fuil loch base, -- tunnag fuil loch fear litir
lenited, -- thunnag fhuil loch gen, -- tunnaige fala locha fir litreach ("de-palatalised")
palatalised, -- tunnaig fuil loch pl, -- tunnagan lochan fir litrichean
lenited_palatalised, -- thunnaig fhuil loch -- TODO: for nouns that only use suffixes, should these just show theoretical forms?
suffixE, -- tunnaige fuile loche lenited, -- thunnag fhuil loch fhear
lenited_suffixA, -- thunnaga fala locha palatalised, -- tunnaig fuil loch fir
suffixAn -- tunnagan nonExist lochan lenited_palatalised -- thunnaig fhuil loch fhir
: Str ; : Str ;
g : Gender g : Gender
} ; } ;
smartN = overload { smartN = overload {
smartN : (nom,gen,pl : Str) -> Gender -> LinN = \loch,locha,lochan,g -> { smartN : (nom,gen,pl : Str) -> Gender -> LinN = \loch,locha,lochan,g -> {
gen = locha ;
pl = lochan ;
base, base,
lenited, lenited,
palatalised, palatalised,
lenited_palatalised, lenited_palatalised = loch ;
suffixE = loch ;
lenited_suffixA = lochan ;
suffixAn = lochan ;
g = g g = g
} }
-- ; -- ;
@@ -146,15 +145,13 @@ oper
} ; } ;
-- For inflection paradigms, see http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html#toc56 -- For inflection paradigms, see http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html#toc56
mkNoun : (b,l,p,lp,se,sa,lsa,san : Str) -> Gender -> LinN = \b,l,p,lp,se,sa,lsa,san,g -> { mkNoun : (b,g,pl,l,p,lp : Str) -> Gender -> LinN = \b,gen,pl,l,p,lp,g -> {
base = b ; -- tunnag fuil loch base = b ; -- tunnag fuil loch fear litir
lenited = l ; -- thunnag fhuil loch gen = gen ; -- tunnaige fala locha fir litreach
palatalised = p ; -- tunnaig fuil loch pl = pl ; -- tunnagan lochan fir litrichean
lenited_palatalised = lp ; -- thunnaig fhuil loch lenited = l ; -- thunnag fhuil loch fhear litir ?
suffixE = se ; -- tunnaige fuile loch palatalised = p ; -- tunnaig fuil loch fir litir ?
suffixA = sa ; -- tunnaga fala locha lenited_palatalised = lp ; -- thunnaig fhuil loch fhir litir ?
lenited_suffixA = lsa ; -- thunnaga fala locha
suffixAn = san ; -- tunnagan
g = g ; g = g ;
} ; } ;
@@ -164,23 +161,23 @@ oper
s = table { s = table {
Pl => table { Pl => table {
Indef => table { Indef => table {
Nom|Dat => fm n.suffixAn n.palatalised ; Nom|Dat => n.pl ;
Gen => n.lenited ; Gen => n.gen ;
Voc => n.lenited_suffixA } ; Voc => glue n.lenited "a" } ;
Def => table { Def => table {
Nom|Dat => fm n.suffixAn n.palatalised ; Nom|Dat => n.pl ;
Gen => n.base ; Gen => n.base ;
Voc => fm n.lenited n.lenited_palatalised } Voc => fm n.lenited n.lenited_palatalised }
} ; } ;
_ => table { -- Sg and Dl _ => table { -- Sg and Dl
Indef => table { Indef => table {
Nom => n.base ; Nom => n.base ;
Gen => fm n.suffixE n.palatalised ; Gen => n.gen ;
Dat => fm n.palatalised n.base ; Dat => fm n.palatalised n.base ;
Voc => fm n.lenited n.lenited_palatalised } ; Voc => fm n.lenited n.lenited_palatalised } ;
Def => table { Def => table {
Nom => n.base ; Nom => n.base ;
Gen => fm n.suffixE n.lenited_palatalised ; Gen => n.gen ;
Dat => fm n.palatalised n.lenited ; Dat => fm n.palatalised n.lenited ;
Voc => fm n.lenited n.lenited_palatalised } Voc => fm n.lenited n.lenited_palatalised }
} }
@@ -209,25 +206,21 @@ oper
-- some test nouns — TODO: do smart paradigms -- some test nouns — TODO: do smart paradigms
tunnag_N : LinN = { tunnag_N : LinN = {
base = "tunnag" ; base = "tunnag" ;
gen = "tunnaige" ;
pl = "tunnagan" ;
lenited = "thunnag" ; lenited = "thunnag" ;
palatalised = "tunnaig" ; palatalised = "tunnaig" ;
lenited_palatalised = "thunnaig" ; lenited_palatalised = "thunnaig" ;
suffixE = "tunnaige" ;
suffixA = "tunnaga" ;
lenited_suffixA = "thunnaga" ;
suffixAn = "tunnagan" ;
g = Fem ; g = Fem ;
} ; } ;
boireannach_N : LinN = { boireannach_N : LinN = {
base = "boireannach" ; base = "boireannach" ;
pl,gen = "boireannaich" ;
lenited = "bhoireannach" ; lenited = "bhoireannach" ;
palatalised = "boireannaich" ; palatalised = "boireannaich" ;
lenited_palatalised = "bhoireannaich" ; lenited_palatalised = "bhoireannaich" ;
suffixE = "bhoireannaiche" ;
suffixA = "boireannacha" ;
lenited_suffixA = "bhoireannacha" ;
suffixAn = "boireannachan" ;
g = Masc ; g = Masc ;
} ; } ;