forked from GitHub/gf-core
73 lines
1.9 KiB
Plaintext
73 lines
1.9 KiB
Plaintext
concrete NounTha of Noun = CatTha ** open StringsTha, ResTha, Prelude in {
|
|
|
|
flags optimize=all_subs ;
|
|
|
|
lin
|
|
DetCN det cn =
|
|
let cnc = if_then_Str det.hasC cn.c []
|
|
in mkNP (thbind cn.s det.s1 cnc det.s2) ;
|
|
UsePN pn = pn ;
|
|
UsePron p = p ;
|
|
|
|
DetNP det = mkNP (thbind det.s1 det.s2) ;
|
|
|
|
PredetNP pred np = mkNP (thbind pred.s1 np.s pred.s2) ;
|
|
|
|
PPartNP np v2 = thbind np (ss ((predV v2).s ! Pos)) ; ---- ??
|
|
|
|
AdvNP np adv = thbind np adv ;
|
|
|
|
DetQuant quant num = {
|
|
s1 = num.s ++bIND++ quant.s1 ; --- can there be quant.s1 ??
|
|
s2 = quant.s2 ;
|
|
hasC = orB num.hasC quant.hasC ;
|
|
} ;
|
|
DetQuantOrd quant num ord = {
|
|
s1 = num.s ++bIND++ quant.s1 ; --- can there be quant.s1 ??
|
|
s2 = ord.s ++bIND++ quant.s2 ;
|
|
hasC = True ;
|
|
} ;
|
|
|
|
PossPron p = {
|
|
s1 = khoog_s ++bIND++ p.s ;
|
|
s2 = [] ;
|
|
hasC = False
|
|
} ;
|
|
|
|
NumSg, NumPl = {s = [] ; hasC = False} ;
|
|
|
|
NumCard n = n ** {hasC = True} ;
|
|
NumDigits d = d ;
|
|
OrdDigits d = {s = thbind thii_s d.s} ;
|
|
|
|
NumNumeral numeral = numeral ** {hasC = True} ;
|
|
OrdNumeral numeral = {s = thbind thii_s numeral.s} ;
|
|
|
|
AdNum adn num = thbind adn num ; ---- always?
|
|
|
|
OrdSuperl a = {s = thbind a.s thii_s sut_s} ;
|
|
|
|
DefArt = {s1,s2 = [] ; hasC = False} ;
|
|
IndefArt = {s1,s2 = [] ; hasC = False} ;
|
|
|
|
MassNP cn = cn ;
|
|
|
|
UseN n = n ;
|
|
UseN2 n = n ;
|
|
Use2N3 f = {s = thbind f.s ; c = f.c ; c2 = f.c2} ;
|
|
Use3N3 f = {s = thbind f.s ; c = f.c ; c2 = f.c3} ;
|
|
|
|
ComplN2 f x = {s = thbind f.s f.c2 x.s ; c = f.c} ;
|
|
ComplN3 f x = {s = thbind f.s f.c2 x.s ; c = f.c ; c2 = f.c3} ;
|
|
|
|
AdjCN ap cn = {s = cn.s ++bIND++ ap.s ; c = cn.c} ;
|
|
|
|
RelCN cn rs = {s = thbind cn.s rs.s ; c = cn.s} ;
|
|
AdvCN cn ad = {s = thbind cn.s ad.s ; c = cn.s} ;
|
|
SentCN cn cs = {s = thbind cn.s cs.s ; c = cn.s} ;
|
|
ApposCN cn np = {s = thbind cn.s np.s ; c = cn.s} ;
|
|
|
|
RelNP np rs = thbind np rs ;
|
|
|
|
}
|