Files
gf-rgl/src/zulu/PChunkZul.gf
T
Laurette Marais 8b05843585 zulu inclusion
2022-04-28 08:53:37 +02:00

100 lines
2.3 KiB
Plaintext

concrete PChunkZul of PChunk = CatZul, CatExtZul, SymbolZul [Symb] **
open
Prelude, ResZul, ParamX,
(R = ResZul), (P = ParadigmsZul) in {
lincat
Chunks = {s : Str} ;
Chunk = {s : Str};
Chunk_AP, Chunk_Adv, Chunk_S, Chunk_RS, Chunk_QS, Chunk_CN, Chunk_NP, Chunk_N, Chunk_Symb = {s: Str} ;
VC = V ;
lin
OneChunk c = c ;
PlusChunk c cs = cc2 c cs ;
ChunkPhr c = ss ("*" ++ c.s) | c ;
Adv_Chunker c = c ;
S_Chunker c = c ;
RS_Chunker c = c ;
QS_Chunker c = c ;
CN_Chunker c = c ;
NP_Chunker c = c ;
N_Chunker c = c ;
Predet_Chunker c = c ;
Postdet_Chunker c = c ;
Symb_Chunker c = c ;
Adv_Chunk a = { s = a.s } ;
S_Chunk s = { s = s.s } ;
RS_Chunk rs = { s = rs.s!agr_vars } ;
QS_Chunk s = { s = s.qword_pre ++ s.s ++ s.qword_post } ;
CN_Sg_Chunk cn = {
s = cn.s!Sg!NFull
} ;
CN_Pl_Chunk cn = {
s = cn.s!Pl!NFull
} ;
NP_Nom_Chunk np = {
s = variants {
np.s!NFull ;
np.s!NReduced
}
} ;
NP_Gen_Chunk np = {
s = poss_concord_agr!agr_vars!np.i ++BIND++ np.s!NPoss
} ;
Predet_Chunk predet = {
s = predet.s!agr_vars
} ;
Postdet_Chunk postdet = {
s = postdet.s!agr_vars
} ;
-- for unknown words that are not names
Symb_Chunk symb = { s = symb.s } ;
fullstop_Chunk = sbSS "." ;
exclmark_Chunk = sbSS "!" ;
questmark_Chunk = sbSS "?" ;
comma_Chunk = sbSS "," ;
colon_Chunk = sbSS ":" ;
semicolon_Chunk = sbSS ";" ;
quote_Chunk = variants {sbSS "\"" ; ss ("\"" ++ SOFT_BIND) } ;
lpar_Chunk = ss ("(" ++ SOFT_BIND) ;
rpar_Chunk = sbSS ")" ;
dash_Chunk = sbSS "-" ;
oper
sbSS : Str -> SS = \s -> ss (SOFT_BIND ++ s) ;
agr_vars : Agr = variants {
Third C1_2 Sg ;
Third C1_2 Pl ;
Third C1a_2a Sg ;
Third C1a_2a Pl ;
Third C3_4 Sg ;
Third C3_4 Pl ;
Third C5_6 Sg ;
Third C5_6 Pl ;
Third C7_8 Sg ;
Third C7_8 Pl ;
Third C9_10 Sg ;
Third C9_10 Pl ;
Third C11_10 Sg ;
Third C11_10 Pl ;
Third C9_6 Sg ;
Third C9_6 Pl ;
Third C14 Sg ;
Third C15 Sg ;
Third C17 Sg ;
First Sg ;
First Pl ;
Second Sg ;
Second Pl
} ;
}