forked from GitHub/gf-rgl
51 lines
1.2 KiB
Plaintext
51 lines
1.2 KiB
Plaintext
--# -path=.:../abstract:../../prelude
|
|
|
|
concrete MathFin of Math = CategoriesFin ** open Prelude, SyntaxFin, ParadigmsFin in {
|
|
|
|
lin
|
|
SymbPN i = {s = \\c => i.s} ; --- case endings often needed
|
|
IntPN i = {s = \\c => i.s} ;
|
|
IntNP cn i = nameNounPhrase {
|
|
s = \\c => cn.s ! False ! Sg ! c ++ i.s
|
|
} ;
|
|
|
|
IndefSymbNumNP nu cn xs =
|
|
addSymbNounPhrase (nounPhraseNum False nu cn) xs.s ;
|
|
DefSymbNumNP nu cn xs =
|
|
addSymbNounPhrase (nounPhraseNum True nu cn) xs.s ;
|
|
NDetSymbNP det nu cn xs =
|
|
addSymbNounPhrase (numDetNounPhrase det nu cn) xs.s ;
|
|
|
|
lincat
|
|
SymbList = SS ;
|
|
|
|
lin
|
|
SymbTwo = infixSS "ja" ;
|
|
SymbMore = infixSS "," ;
|
|
|
|
|
|
LetCN x cn = {
|
|
s = \\_ => "olkoon" ++ x.s ++ (indefNounPhrase singular cn).s !
|
|
NPCase Nom
|
|
} ;
|
|
LetNumCN x nu cn = {
|
|
s = \\_ => "olkoot" ++ x.s ++ (nounPhraseNum False nu cn).s
|
|
! NPCase Part
|
|
} ;
|
|
|
|
ExistNP np =
|
|
sats2clause (
|
|
mkSatsCopula impersNounPhrase ("olemassa" ++ np.s ! NPCase Nom)
|
|
) ;
|
|
|
|
-- Moved from $RulesFin$.
|
|
|
|
SymbCN cn s =
|
|
{s = \\f,n,c => cn.s ! f ! n ! c ++ s.s ;
|
|
g = cn.g} ;
|
|
IntCN cn s =
|
|
{s = \\f,n,c => cn.s ! f ! n ! c ++ s.s ;
|
|
g = cn.g} ;
|
|
|
|
}
|