lojban-camxes-js / camxes-20160209.peg
Pendrokar's picture
repo clone
4afcdfb
// de'e ve vimcu lo javaskript zei pagbu la'o zoi https://raw.githubusercontent.com/lojban/ilmentufa/gh-pages/camxes.js.peg zoi de'i li 20160209 tede'i UTC i lo peg zei velski cu claxu lo zo zoi zei stura fa'o
text <- (intro_null NAI_clause* text_part_2 (!gek joik_jek)? text_1? faho_clause EOF?)
intro_null <- (initial_spaces? su_clause* intro_si_clause)
text_part_2 <- ((CMEVLA_clause+ / indicators?) free*)
intro_si_clause <- (si_clause? SI_clause*)
faho_clause <- ((FAhO_clause dot_star)?)
text_1 <- (I_clause (jek / joik)? (stag? BO_clause)? free* text_1? / NIhO_clause+ free* su_clause* paragraphs? / paragraphs)
paragraphs <- (paragraph? (NIhO_clause+ free* su_clause* paragraphs)?)
paragraph <- ((statement / fragment) (I_clause !jek !joik !joik_jek free* (statement / fragment)?)*)
statement <- (statement_1 / prenex statement)
statement_1 <- (statement_2 (I_clause joik_jek statement_2?)*)
statement_2 <- (statement_3 (I_clause (jek / joik)? stag? BO_clause free* statement_2?)?)
statement_3 <- (sentence / tag? TUhE_clause free* text_1 TUhU_elidible free*)
fragment <- (prenex / terms VAU_elidible free* / ek free* / gihek free* / quantifier / NA_clause !JA_clause free* / relative_clauses / links / linkargs)
prenex <- (terms ZOhU_clause free*)
sentence <- ((terms bridi_tail_sa* CU_elidible free*)? bridi_tail_sa* bridi_tail)
sentence_sa <- (sentence_start (!sentence_start (sa_word / SA_clause !sentence_start ) )* SA_clause &text_1)
sentence_start <- (I_pre / NIhO_pre)
subsentence <- (sentence / prenex subsentence)
bridi_tail <- (bridi_tail_1 (gihek stag? KE_clause free* bridi_tail KEhE_elidible free* tail_terms)?)
bridi_tail_sa <- (bridi_tail_start (term / !bridi_tail_start (sa_word / SA_clause !bridi_tail_start ) )* SA_clause &bridi_tail)
bridi_tail_start <- (ME_clause / NUhA_clause / NU_clause / NA_clause !KU_clause / NAhE_clause !BO_clause / selbri / tag bridi_tail_start / KE_clause bridi_tail_start / bridi_tail)
bridi_tail_1 <- (bridi_tail_2 (gihek !(stag? BO_clause) !(stag? KE_clause) free* bridi_tail_2 tail_terms)*)
bridi_tail_2 <- (bridi_tail_3 (gihek stag? BO_clause free* bridi_tail_2 tail_terms)?)
bridi_tail_3 <- (selbri tail_terms / gek_sentence)
gek_sentence <- (gek subsentence gik subsentence tail_terms / tag* KE_clause free* gek_sentence KEhE_elidible free* / NA_clause free* gek_sentence)
tail_terms <- (nonabs_terms? VAU_elidible free*)
terms <- (terms_1+)
terms_1 <- (terms_2 (pehe_sa* PEhE_clause free* joik_jek terms_2)*)
terms_2 <- (abs_term (cehe_sa* CEhE_clause free* abs_term)*)
nonabs_terms <- (nonabs_terms_1+)
nonabs_terms_1 <- (nonabs_terms_2 (pehe_sa* PEhE_clause free* joik_jek nonabs_terms_2)*)
nonabs_terms_2 <- (term (cehe_sa* CEhE_clause free* term)*)
pehe_sa <- (PEhE_clause (!PEhE_clause (sa_word / SA_clause !PEhE_clause))* SA_clause)
cehe_sa <- (CEhE_clause (!CEhE_clause (sa_word / SA_clause !CEhE_clause))* SA_clause)
term <- (term_sa* term_1)
term_1 <- (sumti / ( !gek (tag / FA_clause free*) (sumti / KU_elidible free*) ) / nonabs_termset / NA_clause KU_clause free*)
abs_term <- (term_sa* abs_term_1)
abs_term_1 <- (sumti / abs_tag_term / termset / NA_clause KU_clause free*)
abs_tag_term <- ( !gek (tag !(!tag selbri) !gek_sentence / FA_clause free*) (sumti / KU_elidible free*) )
term_sa <- (term_start (!term_start (sa_word / SA_clause !term_start ) )* SA_clause &term_1)
term_start <- (term_1 / LA_clause / LE_clause / LI_clause / LU_clause / LAhE_clause / quantifier term_start / gek sumti gik / FA_clause / tag term_start)
termset <- (gek_termset / NUhI_clause free* gek terms NUhU_elidible free* gik terms NUhU_elidible free* / NUhI_clause free* terms NUhU_elidible free*)
gek_termset <- (gek terms_gik_terms)
terms_gik_terms <- (abs_term (gik / terms_gik_terms) abs_term)
nonabs_termset <- (nonabs_gek_termset / NUhI_clause free* gek terms NUhU_elidible free* gik nonabs_terms NUhU_elidible free* / NUhI_clause free* nonabs_terms NUhU_elidible free*)
nonabs_gek_termset <- (gek nonabs_terms_gik_terms)
nonabs_terms_gik_terms <- (term (gik / nonabs_terms_gik_terms) term)
sumti <- (sumti_1 (VUhO_clause free* relative_clauses)?)
sumti_1 <- (sumti_2 (joik_ek stag? KE_clause free* sumti KEhE_elidible free*)?)
sumti_2 <- (sumti_3 (joik_ek sumti_3)*)
sumti_3 <- (sumti_4 (joik_ek stag? BO_clause free* sumti_3)?)
sumti_4 <- (sumti_5 / gek sumti gik sumti_4)
sumti_5 <- (quantifier? sumti_6 relative_clauses? / quantifier selbri KU_elidible free* relative_clauses?)
sumti_6 <- (ZO_clause free* / ZOI_clause free* / LOhU_clause free* / lerfu_string !MOI_clause BOI_elidible free* / LU_clause text LIhU_elidible free* / (LAhE_clause free* / NAhE_clause BO_clause free*) relative_clauses? sumti LUhU_elidible free* / KOhA_clause free* / LA_clause free* relative_clauses? CMEVLA_clause+ free* / (LA_clause / LE_clause) free* sumti_tail KU_elidible free* / li_clause)
li_clause <- (LI_clause free* mex LOhO_elidible free*)
sumti_tail <- ((sumti_6 relative_clauses?)? sumti_tail_1 / relative_clauses sumti_tail_1)
sumti_tail_1 <- (selbri relative_clauses? / quantifier selbri relative_clauses? / quantifier sumti)
relative_clauses <- (relative_clause (ZIhE_clause free* relative_clause)*)
relative_clause <- (relative_clause_sa* relative_clause_1)
relative_clause_sa <- (relative_clause_start (!relative_clause_start (sa_word / SA_clause !relative_clause_start ) )* SA_clause &relative_clause_1)
relative_clause_1 <- (GOI_clause free* term GEhU_elidible free* / NOI_clause free* subsentence KUhO_elidible free* )
relative_clause_start <- (GOI_clause / NOI_clause)
selbri <- (tag? selbri_1)
selbri_1 <- (selbri_2 / NA_clause free* selbri)
selbri_2 <- (selbri_3 (CO_clause free* selbri_2)?)
selbri_3 <- (selbri_4+)
selbri_4 <- (selbri_5 (joik_jek selbri_5 / joik stag? KE_clause free* selbri_3 KEhE_elidible free*)*)
selbri_5 <- (selbri_6 ((jek / joik) stag? BO_clause free* selbri_5)?)
selbri_6 <- (tanru_unit (BO_clause free* selbri_6)? / NAhE_clause? free* guhek selbri gik selbri_6)
tanru_unit <- (tanru_unit_1 (CEI_clause free* tanru_unit_1)*)
tanru_unit_1 <- (tanru_unit_2 linkargs?)
tanru_unit_2 <- (BRIVLA_clause free* / GOhA_clause RAhO_clause? free* / KE_clause free* selbri_3 KEhE_elidible free* / ME_clause free* (sumti / lerfu_string) MEhU_elidible free* MOI_clause? free* / (number / lerfu_string) MOI_clause free* / NUhA_clause free* mex_operator / SE_clause free* tanru_unit_2 / JAI_clause free* tag? tanru_unit_2 / NAhE_clause free* tanru_unit_2 / NU_clause NAI_clause? free* (joik_jek NU_clause NAI_clause? free*)* subsentence KEI_elidible free*)
linkargs <- (linkargs_sa* linkargs_1)
linkargs_1 <- (BE_clause free* term links? BEhO_elidible free*)
linkargs_sa <- (linkargs_start (!linkargs_start (sa_word / SA_clause !linkargs_start ) )* SA_clause &linkargs_1)
linkargs_start <- BE_clause
links <- (links_sa* links_1)
links_1 <- (BEI_clause free* term links?)
links_sa <- (links_start (!links_start (sa_word / SA_clause !links_start ) )* SA_clause &links_1)
links_start <- (BEI_clause)
quantifier <- (number !MOI_clause BOI_elidible free* / VEI_clause free* mex VEhO_elidible free*)
mex <- (mex_sa* mex_0)
mex_0 <- (mex_1 (operator mex_1)* / rp_clause)
mex_sa <- (mex_start (!mex_start (sa_word / SA_clause !mex_start) )* SA_clause &mex_0)
mex_start <- (FUhA_clause / PEhO_clause / operand_start)
rp_clause <- (FUhA_clause free* rp_expression)
mex_1 <- (mex_2 (BIhE_clause free* operator mex_1)?)
mex_2 <- (operand / mex_forethought)
mex_forethought <- PEhO_clause? free* operator fore_operands KUhE_elidible free*
fore_operands <- (mex_2+ )
rp_expression <- (operand rp_expression_tail)
rp_expression_tail <- (rp_expression operator rp_expression_tail / "")
operator <- (operator_sa* operator_0)
operator_0 <- (operator_1 (joik_jek operator_1 / joik stag? KE_clause free* operator KEhE_elidible free*)*)
operator_sa <- (operator_start (!operator_start (sa_word / SA_clause !operator_start) )* SA_clause &operator_0)
operator_start <- (guhek / KE_clause / SE_clause? NAhE_clause / SE_clause? MAhO_clause / SE_clause? VUhU_clause)
operator_1 <- (operator_2 / guhek operator_1 gik operator_2 / operator_2 (jek / joik) stag? BO_clause free* operator_1)
operator_2 <- (mex_operator / KE_clause free* operator KEhE_elidible free*)
mex_operator <- (SE_clause free* mex_operator / NAhE_clause free* mex_operator / MAhO_clause free* mex TEhU_elidible free* / NAhU_clause free* selbri TEhU_elidible free* / VUhU_clause free*)
operand <- (operand_sa* operand_0)
operand_0 <- (operand_1 (joik_ek stag? KE_clause free* operand KEhE_elidible free*)?)
operand_sa <- (operand_start (!operand_start (sa_word / SA_clause !operand_start) )* SA_clause &operand_0)
operand_start <- (quantifier / lerfu_word / NIhE_clause / MOhE_clause / JOhI_clause / gek / LAhE_clause / NAhE_clause)
operand_1 <- (operand_2 (joik_ek operand_2)*)
operand_2 <- (operand_3 (joik_ek stag? BO_clause free* operand_2)?)
operand_3 <- (quantifier / lerfu_string !MOI_clause BOI_elidible free* / NIhE_clause free* selbri TEhU_elidible free* / MOhE_clause free* sumti TEhU_elidible free* / JOhI_clause free* mex_2+ TEhU_elidible free* / gek operand gik operand_3 / (LAhE_clause free* / NAhE_clause BO_clause free*) operand LUhU_elidible free*)
number <- (PA_clause (PA_clause / lerfu_word)*)
lerfu_string <- (lerfu_word (PA_clause / lerfu_word)*)
lerfu_word <- (BY_clause / LAU_clause lerfu_word / TEI_clause lerfu_string FOI_clause)
ek <- (NA_clause? SE_clause? A_clause NAI_clause?)
gihek <- (gihek_sa* gihek_1)
gihek_1 <- (NA_clause? SE_clause? GIhA_clause NAI_clause?)
gihek_sa <- (gihek_1 (!gihek_1 (sa_word / SA_clause !gihek_1 ) )* SA_clause &gihek)
jek <- (NA_clause? SE_clause? JA_clause NAI_clause?)
joik <- (SE_clause? JOI_clause NAI_clause? / interval / GAhO_clause interval GAhO_clause)
interval <- (SE_clause? BIhI_clause NAI_clause?)
joik_ek <- (joik_ek_sa* joik_ek_1)
joik_ek_1 <- ((joik free* / ek free*))
joik_ek_sa <- (joik_ek_1 (!joik_ek_1 (sa_word / SA_clause !joik_ek_1 ) )* SA_clause &joik_ek)
joik_jek <- (joik free* / jek free*)
gek <- (SE_clause? GA_clause NAI_clause? free* / joik GI_clause free* / stag gik)
guhek <- (SE_clause? GUhA_clause NAI_clause? free*)
gik <- (GI_clause NAI_clause? free*)
tag <- (tense_modal (joik_jek tense_modal)*)
stag <- (simple_tense_modal ((jek / joik) simple_tense_modal)* / tense_modal (joik_jek tense_modal)*)
tense_modal <- (simple_tense_modal free* / FIhO_clause free* selbri FEhU_elidible free*)
simple_tense_modal <- (NAhE_clause? SE_clause? BAI_clause NAI_clause? KI_clause? / NAhE_clause? ( ((time space? / space time?) CAhA_clause) / (time space? / space time?) / CAhA_clause ) KI_clause? / KI_clause / CUhE_clause)
time <- (ZI_clause time_offset* (ZEhA_clause (PU_clause NAI_clause?)?)? interval_property* / ZI_clause? time_offset+ (ZEhA_clause (PU_clause NAI_clause?)?)? interval_property* / ZI_clause? time_offset* ZEhA_clause (PU_clause NAI_clause?)? interval_property* / ZI_clause? time_offset* (ZEhA_clause (PU_clause NAI_clause?)?)? interval_property+)
time_offset <- (PU_clause NAI_clause? ZI_clause?)
space <- (VA_clause space_offset* space_interval? (MOhI_clause space_offset)? / VA_clause? space_offset+ space_interval? (MOhI_clause space_offset)? / VA_clause? space_offset* space_interval (MOhI_clause space_offset)? / VA_clause? space_offset* space_interval? MOhI_clause space_offset)
space_offset <- (FAhA_clause NAI_clause? VA_clause?)
space_interval <- ((VEhA_clause VIhA_clause? / VIhA_clause) (FAhA_clause NAI_clause?)? space_int_props? / space_int_props)
space_int_props <- ((FEhE_clause interval_property)+)
interval_property <- (number ROI_clause NAI_clause? / TAhE_clause NAI_clause? / ZAhO_clause NAI_clause?)
free <- (SEI_clause free* (terms CU_elidible free*)? selbri SEhU_elidible / SOI_clause free* sumti sumti? SEhU_elidible / vocative relative_clauses? selbri relative_clauses? DOhU_elidible / vocative relative_clauses? CMEVLA_clause+ free* relative_clauses? DOhU_elidible / vocative sumti? DOhU_elidible / (number / lerfu_string) MAI_clause / TO_clause text TOI_elidible / xi_clause)
xi_clause <- (XI_clause free* (number / lerfu_string) BOI_elidible / XI_clause free* VEI_clause free* mex VEhO_elidible)
vocative <- ((COI_clause NAI_clause?)+ DOI_clause / (COI_clause NAI_clause?) (COI_clause NAI_clause?)* / DOI_clause)
indicators <- (FUhE_clause? indicator+)
indicator <- ((UI_clause / CAI_clause) NAI_clause? / DAhO_clause / FUhO_clause) !BU_clause
zei_clause <- (pre_clause zei_clause_no_pre)
zei_clause_no_pre <- (pre_zei_bu (zei_tail? bu_tail)* zei_tail post_clause)
bu_clause <- (pre_clause bu_clause_no_pre)
bu_clause_no_pre <- (pre_zei_bu (bu_tail? zei_tail)* bu_tail post_clause)
zei_tail <- (ZEI_clause any_word)+
bu_tail <- BU_clause+
pre_zei_bu <- (!ZOI_start !BU_clause !ZEI_clause !SI_clause !SA_clause !SU_clause !FAhO_clause any_word_SA_handling si_clause?)
dot_star <- (.*)
post_clause <- (spaces? si_clause? !ZEI_clause !BU_clause indicators*)
pre_clause <- BAhE_clause?
any_word_SA_handling <- (BRIVLA_pre / known_cmavo_SA / CMAVO_pre / CMEVLA_pre)
known_cmavo_SA <- A_pre / BAI_pre / BAhE_pre / BE_pre / BEI_pre / BEhO_pre / BIhE_pre / BIhI_pre / BO_pre / BOI_pre / BU_pre / BY_pre / CAI_pre / CAhA_pre / CEI_pre / CEhE_pre / CO_pre / COI_pre / CU_pre / CUhE_pre / DAhO_pre / DOI_pre / DOhU_pre / FA_pre / FAhA_pre / FEhE_pre / FEhU_pre / FIhO_pre / FOI_pre / FUhA_pre / FUhE_pre / FUhO_pre / GA_pre / GAhO_pre / GEhU_pre / GI_pre / GIhA_pre / GOI_pre / GOhA_pre / GUhA_pre / I_pre / JA_pre / JAI_pre / JOI_pre / JOhI_pre / KE_pre / KEI_pre / KEhE_pre / KI_pre / KOhA_pre / KU_pre / KUhE_pre / KUhO_pre / LA_pre / LAU_pre / LAhE_pre / LE_pre / LEhU_pre / LI_pre / LIhU_pre / LOhO_pre / LOhU_pre / LU_pre / LUhU_pre / MAI_pre / MAhO_pre / ME_pre / MEhU_pre / MOI_pre / MOhE_pre / MOhI_pre / NA_pre / NAI_pre / NAhE_pre / NAhU_pre / NIhE_pre / NIhO_pre / NOI_pre / NU_pre / NUhA_pre / NUhI_pre / NUhU_pre / PA_pre / PEhE_pre / PEhO_pre / PU_pre / RAhO_pre / ROI_pre / SA_pre / SE_pre / SEI_pre / SEhU_pre / SI_clause / SOI_pre / SU_pre / TAhE_pre / TEI_pre / TEhU_pre / TO_pre / TOI_pre / TUhE_pre / TUhU_pre / UI_pre / VA_pre / VAU_pre / VEI_pre / VEhA_pre / VEhO_pre / VIhA_pre / VUhO_pre / VUhU_pre / XI_pre / ZAhO_pre / ZEI_pre / ZEhA_pre / ZI_pre / ZIhE_pre / ZO_pre / ZOI_pre / ZOhU_pre
su_clause <- (erasable_clause / su_word)* SU_clause
si_clause <- ((erasable_clause / si_word / SA_clause) si_clause? SI_clause)+
erasable_clause <- (bu_clause_no_pre !ZEI_clause !BU_clause / zei_clause_no_pre !ZEI_clause !BU_clause)
sa_word <- pre_zei_bu
si_word <- pre_zei_bu
su_word <- !ZOI_start !NIhO_clause !LU_clause !TUhE_clause !TO_clause !SU_clause !FAhO_clause any_word_SA_handling
BEhO_elidible <- (BEhO_clause?)
BOI_elidible <- (BOI_clause?)
CU_elidible <- (CU_clause?)
DOhU_elidible <- (DOhU_clause?)
FEhU_elidible <- (FEhU_clause?)
GEhU_elidible <- (GEhU_clause?)
KEI_elidible <- (KEI_clause?)
KEhE_elidible <- (KEhE_clause?)
KU_elidible <- (KU_clause?)
KUhE_elidible <- (KUhE_clause?)
KUhO_elidible <- (KUhO_clause?)
LIhU_elidible <- (LIhU_clause?)
LOhO_elidible <- (LOhO_clause?)
LUhU_elidible <- (LUhU_clause?)
MEhU_elidible <- (MEhU_clause?)
NUhU_elidible <- (NUhU_clause?)
SEhU_elidible <- (SEhU_clause?)
TEhU_elidible <- (TEhU_clause?)
TOI_elidible <- (TOI_clause?)
TUhU_elidible <- (TUhU_clause?)
VAU_elidible <- (VAU_clause?)
VEhO_elidible <- (VEhO_clause?)
BRIVLA_clause <- (BRIVLA_pre BRIVLA_post / zei_clause)
BRIVLA_pre <- pre_clause BRIVLA spaces?
BRIVLA_post <- post_clause
CMEVLA_clause <- CMEVLA_pre CMEVLA_post
CMEVLA_pre <- pre_clause CMEVLA spaces?
CMEVLA_post <- post_clause
CMAVO_clause <- CMAVO_pre CMAVO_post
CMAVO_pre <- pre_clause CMAVO spaces?
CMAVO_post <- post_clause
A_clause <- A_pre A_post
A_pre <- pre_clause A spaces?
A_post <- post_clause
BAI_clause <- BAI_pre BAI_post
BAI_pre <- pre_clause BAI spaces?
BAI_post <- post_clause
BAhE_clause <- (BAhE_pre BAhE_post)+
BAhE_pre <- BAhE spaces?
BAhE_post <- si_clause? !ZEI_clause !BU_clause
BE_clause <- BE_pre BE_post
BE_pre <- pre_clause BE spaces?
BE_post <- post_clause
BEI_clause <- BEI_pre BEI_post
BEI_pre <- pre_clause BEI spaces?
BEI_post <- post_clause
BEhO_clause <- BEhO_pre BEhO_post
BEhO_pre <- pre_clause BEhO spaces?
BEhO_post <- post_clause
BIhE_clause <- BIhE_pre BIhE_post
BIhE_pre <- pre_clause BIhE spaces?
BIhE_post <- post_clause
BIhI_clause <- BIhI_pre BIhI_post
BIhI_pre <- pre_clause BIhI spaces?
BIhI_post <- post_clause
BO_clause <- BO_pre BO_post
BO_pre <- pre_clause BO spaces?
BO_post <- post_clause
BOI_clause <- BOI_pre BOI_post
BOI_pre <- pre_clause BOI spaces?
BOI_post <- post_clause
BU_clause <- BU_pre BU_post
BU_pre <- pre_clause BU spaces?
BU_post <- spaces?
BY_clause <- (BY_pre BY_post / bu_clause)
BY_pre <- pre_clause BY spaces?
BY_post <- post_clause
CAhA_clause <- CAhA_pre CAhA_post
CAhA_pre <- pre_clause CAhA spaces?
CAhA_post <- post_clause
CAI_clause <- CAI_pre CAI_post
CAI_pre <- pre_clause CAI spaces?
CAI_post <- post_clause
CEI_clause <- CEI_pre CEI_post
CEI_pre <- pre_clause CEI spaces?
CEI_post <- post_clause
CEhE_clause <- CEhE_pre CEhE_post
CEhE_pre <- pre_clause CEhE spaces?
CEhE_post <- post_clause
CO_clause <- CO_pre CO_post
CO_pre <- pre_clause CO spaces?
CO_post <- post_clause
COI_clause <- COI_pre COI_post
COI_pre <- pre_clause COI spaces?
COI_post <- post_clause
CU_clause <- CU_pre CU_post
CU_pre <- pre_clause CU spaces?
CU_post <- post_clause
CUhE_clause <- CUhE_pre CUhE_post
CUhE_pre <- pre_clause CUhE spaces?
CUhE_post <- post_clause
DAhO_clause <- DAhO_pre DAhO_post
DAhO_pre <- pre_clause DAhO spaces?
DAhO_post <- post_clause
DOI_clause <- DOI_pre DOI_post
DOI_pre <- pre_clause DOI spaces?
DOI_post <- post_clause
DOhU_clause <- DOhU_pre DOhU_post
DOhU_pre <- pre_clause DOhU spaces?
DOhU_post <- post_clause
FA_clause <- FA_pre FA_post
FA_pre <- pre_clause FA spaces?
FA_post <- post_clause
FAhA_clause <- FAhA_pre FAhA_post
FAhA_pre <- pre_clause FAhA spaces?
FAhA_post <- post_clause
FAhO_clause <- (pre_clause FAhO spaces?)
FEhE_clause <- FEhE_pre FEhE_post
FEhE_pre <- pre_clause FEhE spaces?
FEhE_post <- post_clause
FEhU_clause <- FEhU_pre FEhU_post
FEhU_pre <- pre_clause FEhU spaces?
FEhU_post <- post_clause
FIhO_clause <- FIhO_pre FIhO_post
FIhO_pre <- pre_clause FIhO spaces?
FIhO_post <- post_clause
FOI_clause <- FOI_pre FOI_post
FOI_pre <- pre_clause FOI spaces?
FOI_post <- post_clause
FUhA_clause <- FUhA_pre FUhA_post
FUhA_pre <- pre_clause FUhA spaces?
FUhA_post <- post_clause
FUhE_clause <- FUhE_pre FUhE_post
FUhE_pre <- pre_clause FUhE spaces?
FUhE_post <- !BU_clause spaces? !ZEI_clause !BU_clause
FUhO_clause <- FUhO_pre FUhO_post
FUhO_pre <- pre_clause FUhO spaces?
FUhO_post <- post_clause
GA_clause <- GA_pre GA_post
GA_pre <- pre_clause GA spaces?
GA_post <- post_clause
GAhO_clause <- GAhO_pre GAhO_post
GAhO_pre <- pre_clause GAhO spaces?
GAhO_post <- post_clause
GEhU_clause <- GEhU_pre GEhU_post
GEhU_pre <- pre_clause GEhU spaces?
GEhU_post <- post_clause
GI_clause <- GI_pre GI_post
GI_pre <- pre_clause GI spaces?
GI_post <- post_clause
GIhA_clause <- GIhA_pre GIhA_post
GIhA_pre <- pre_clause GIhA spaces?
GIhA_post <- post_clause
GOI_clause <- GOI_pre GOI_post
GOI_pre <- pre_clause GOI spaces?
GOI_post <- post_clause
GOhA_clause <- GOhA_pre GOhA_post
GOhA_pre <- pre_clause GOhA spaces?
GOhA_post <- post_clause
GUhA_clause <- GUhA_pre GUhA_post
GUhA_pre <- pre_clause GUhA spaces?
GUhA_post <- post_clause
I_clause <- (sentence_sa* I_pre I_post)
I_pre <- pre_clause I spaces?
I_post <- post_clause
JA_clause <- JA_pre JA_post
JA_pre <- pre_clause JA spaces?
JA_post <- post_clause
JAI_clause <- JAI_pre JAI_post
JAI_pre <- pre_clause JAI spaces?
JAI_post <- post_clause
JOhI_clause <- JOhI_pre JOhI_post
JOhI_pre <- pre_clause JOhI spaces?
JOhI_post <- post_clause
JOI_clause <- JOI_pre JOI_post
JOI_pre <- pre_clause JOI spaces?
JOI_post <- post_clause
KE_clause <- KE_pre KE_post
KE_pre <- pre_clause KE spaces?
KE_post <- post_clause
KEhE_clause <- KEhE_pre KEhE_post
KEhE_pre <- pre_clause KEhE spaces?
KEhE_post <- post_clause
KEI_clause <- KEI_pre KEI_post
KEI_pre <- pre_clause KEI spaces?
KEI_post <- post_clause
KEI_no_SA_handling <- pre_clause KEI post_clause
KI_clause <- KI_pre KI_post
KI_pre <- pre_clause KI spaces?
KI_post <- post_clause
KOhA_clause <- KOhA_pre KOhA_post
KOhA_pre <- pre_clause KOhA spaces?
KOhA_post <- post_clause
KU_clause <- KU_pre KU_post
KU_pre <- pre_clause KU spaces?
KU_post <- post_clause
KUhE_clause <- KUhE_pre KUhE_post
KUhE_pre <- pre_clause KUhE spaces?
KUhE_post <- post_clause
KUhO_clause <- KUhO_pre KUhO_post
KUhO_pre <- pre_clause KUhO spaces?
KUhO_post <- post_clause
LA_clause <- LA_pre LA_post
LA_pre <- pre_clause LA spaces?
LA_post <- post_clause
LAU_clause <- LAU_pre LAU_post
LAU_pre <- pre_clause LAU spaces?
LAU_post <- post_clause
LAhE_clause <- LAhE_pre LAhE_post
LAhE_pre <- pre_clause LAhE spaces?
LAhE_post <- post_clause
LE_clause <- LE_pre LE_post
LE_pre <- pre_clause LE spaces?
LE_post <- post_clause
LEhU_clause <- LEhU_pre LEhU_post
LEhU_pre <- pre_clause LEhU spaces?
LEhU_post <- spaces?
LI_clause <- LI_pre LI_post
LI_pre <- pre_clause LI spaces?
LI_post <- post_clause
LIhU_clause <- LIhU_pre LIhU_post
LIhU_pre <- pre_clause LIhU spaces?
LIhU_post <- post_clause
LOhO_clause <- LOhO_pre LOhO_post
LOhO_pre <- pre_clause LOhO spaces?
LOhO_post <- post_clause
LOhU_clause <- LOhU_pre LOhU_post
LOhU_pre <- pre_clause LOhU spaces? (!LEhU any_word)* LEhU_clause spaces?
LOhU_post <- post_clause
LU_clause <- LU_pre LU_post
LU_pre <- pre_clause LU spaces?
LU_post <- post_clause
LUhU_clause <- LUhU_pre LUhU_post
LUhU_pre <- pre_clause LUhU spaces?
LUhU_post <- post_clause
MAhO_clause <- MAhO_pre MAhO_post
MAhO_pre <- pre_clause MAhO spaces?
MAhO_post <- post_clause
MAI_clause <- MAI_pre MAI_post
MAI_pre <- pre_clause MAI spaces?
MAI_post <- post_clause
ME_clause <- ME_pre ME_post
ME_pre <- pre_clause ME spaces?
ME_post <- post_clause
MEhU_clause <- MEhU_pre MEhU_post
MEhU_pre <- pre_clause MEhU spaces?
MEhU_post <- post_clause
MOhE_clause <- MOhE_pre MOhE_post
MOhE_pre <- pre_clause MOhE spaces?
MOhE_post <- post_clause
MOhI_clause <- MOhI_pre MOhI_post
MOhI_pre <- pre_clause MOhI spaces?
MOhI_post <- post_clause
MOI_clause <- MOI_pre MOI_post
MOI_pre <- pre_clause MOI spaces?
MOI_post <- post_clause
NA_clause <- NA_pre NA_post
NA_pre <- pre_clause NA spaces?
NA_post <- post_clause
NAI_clause <- NAI_pre NAI_post
NAI_pre <- pre_clause NAI spaces?
NAI_post <- post_clause
NAhE_clause <- NAhE_pre NAhE_post
NAhE_pre <- pre_clause NAhE spaces?
NAhE_post <- post_clause
NAhU_clause <- NAhU_pre NAhU_post
NAhU_pre <- pre_clause NAhU spaces?
NAhU_post <- post_clause
NIhE_clause <- NIhE_pre NIhE_post
NIhE_pre <- pre_clause NIhE spaces?
NIhE_post <- post_clause
NIhO_clause <- (sentence_sa* NIhO_pre NIhO_post)
NIhO_pre <- pre_clause NIhO spaces?
NIhO_post <- su_clause* post_clause
NOI_clause <- NOI_pre NOI_post
NOI_pre <- pre_clause NOI spaces?
NOI_post <- post_clause
NU_clause <- NU_pre NU_post
NU_pre <- pre_clause NU spaces?
NU_post <- post_clause
NUhA_clause <- NUhA_pre NUhA_post
NUhA_pre <- pre_clause NUhA spaces?
NUhA_post <- post_clause
NUhI_clause <- NUhI_pre NUhI_post
NUhI_pre <- pre_clause NUhI spaces?
NUhI_post <- post_clause
NUhU_clause <- NUhU_pre NUhU_post
NUhU_pre <- pre_clause NUhU spaces?
NUhU_post <- post_clause
PA_clause <- PA_pre PA_post
PA_pre <- pre_clause PA spaces?
PA_post <- post_clause
PEhE_clause <- PEhE_pre PEhE_post
PEhE_pre <- pre_clause PEhE spaces?
PEhE_post <- post_clause
PEhO_clause <- PEhO_pre PEhO_post
PEhO_pre <- pre_clause PEhO spaces?
PEhO_post <- post_clause
PU_clause <- PU_pre PU_post
PU_pre <- pre_clause PU spaces?
PU_post <- post_clause
RAhO_clause <- RAhO_pre RAhO_post
RAhO_pre <- pre_clause RAhO spaces?
RAhO_post <- post_clause
ROI_clause <- ROI_pre ROI_post
ROI_pre <- pre_clause ROI spaces?
ROI_post <- post_clause
SA_clause <- SA_pre SA_post
SA_pre <- pre_clause SA spaces?
SA_post <- spaces?
SE_clause <- SE_pre SE_post
SE_pre <- pre_clause SE spaces?
SE_post <- post_clause
SEI_clause <- SEI_pre SEI_post
SEI_pre <- pre_clause SEI spaces?
SEI_post <- post_clause
SEhU_clause <- SEhU_pre SEhU_post
SEhU_pre <- pre_clause SEhU spaces?
SEhU_post <- post_clause
SI_clause <- (spaces? SI spaces?)
SOI_clause <- SOI_pre SOI_post
SOI_pre <- pre_clause SOI spaces?
SOI_post <- post_clause
SU_clause <- SU_pre SU_post
SU_pre <- pre_clause SU spaces?
SU_post <- post_clause
TAhE_clause <- TAhE_pre TAhE_post
TAhE_pre <- pre_clause TAhE spaces?
TAhE_post <- post_clause
TEhU_clause <- TEhU_pre TEhU_post
TEhU_pre <- pre_clause TEhU spaces?
TEhU_post <- post_clause
TEI_clause <- TEI_pre TEI_post
TEI_pre <- pre_clause TEI spaces?
TEI_post <- post_clause
TO_clause <- TO_pre TO_post
TO_pre <- pre_clause TO spaces?
TO_post <- post_clause
TOI_clause <- TOI_pre TOI_post
TOI_pre <- pre_clause TOI spaces?
TOI_post <- post_clause
TUhE_clause <- TUhE_pre TUhE_post
TUhE_pre <- pre_clause TUhE spaces?
TUhE_post <- su_clause* post_clause
TUhU_clause <- TUhU_pre TUhU_post
TUhU_pre <- pre_clause TUhU spaces?
TUhU_post <- post_clause
UI_clause <- UI_pre UI_post
UI_pre <- pre_clause UI spaces?
UI_post <- post_clause
VA_clause <- VA_pre VA_post
VA_pre <- pre_clause VA spaces?
VA_post <- post_clause
VAU_clause <- VAU_pre VAU_post
VAU_pre <- pre_clause VAU spaces?
VAU_post <- post_clause
VEI_clause <- VEI_pre VEI_post
VEI_pre <- pre_clause VEI spaces?
VEI_post <- post_clause
VEhO_clause <- VEhO_pre VEhO_post
VEhO_pre <- pre_clause VEhO spaces?
VEhO_post <- post_clause
VUhU_clause <- VUhU_pre VUhU_post
VUhU_pre <- pre_clause VUhU spaces?
VUhU_post <- post_clause
VEhA_clause <- VEhA_pre VEhA_post
VEhA_pre <- pre_clause VEhA spaces?
VEhA_post <- post_clause
VIhA_clause <- VIhA_pre VIhA_post
VIhA_pre <- pre_clause VIhA spaces?
VIhA_post <- post_clause
VUhO_clause <- VUhO_pre VUhO_post
VUhO_pre <- pre_clause VUhO spaces?
VUhO_post <- post_clause
XI_clause <- XI_pre XI_post
XI_pre <- pre_clause XI spaces?
XI_post <- post_clause
ZAhO_clause <- ZAhO_pre ZAhO_post
ZAhO_pre <- pre_clause ZAhO spaces?
ZAhO_post <- post_clause
ZEhA_clause <- ZEhA_pre ZEhA_post
ZEhA_pre <- pre_clause ZEhA spaces?
ZEhA_post <- post_clause
ZEI_clause <- ZEI_pre ZEI_post
ZEI_pre <- pre_clause ZEI spaces?
ZEI_post <- spaces?
ZI_clause <- ZI_pre ZI_post
ZI_pre <- pre_clause ZI spaces?
ZI_post <- post_clause
ZIhE_clause <- ZIhE_pre ZIhE_post
ZIhE_pre <- pre_clause ZIhE spaces?
ZIhE_post <- post_clause
ZO_clause <- ZO_pre ZO_post
ZO_pre <- pre_clause ZO spaces? any_word spaces?
ZO_post <- post_clause
ZOI_clause <- ZOI_pre ZOI_post
ZOI_pre <- pre_clause ZOI spaces? zoi_open spaces? zoi_word* zoi_close spaces?
ZOI_post <- post_clause
ZOI_start <- !ZOI_pre ZOI
ZOhU_clause <- ZOhU_pre ZOhU_post
ZOhU_pre <- pre_clause ZOhU spaces?
ZOhU_post <- post_clause
CMEVLA <- cmevla
BRIVLA <- (gismu_2 / lujvo / fuhivla)
gismu_2 <- (gismu)
CMAVO <- (A / BAI / BAhE / BE / BEI / BEhO / BIhE / BIhI / BO / BOI / BU / BY / CAhA / CAI / CEI / CEhE / CO / COI / CU / CUhE / DAhO / DOI / DOhU / FA / FAhA / FAhO / FEhE / FEhU / FIhO / FOI / FUhA / FUhE / FUhO / GA / GAhO / GEhU / GI / GIhA / GOI / GOhA / GUhA / I / JA / JAI / JOhI / JOI / KE / KEhE / KEI / KI / KOhA / KU / KUhE / KUhO / LA / LAU / LAhE / LE / LEhU / LI / LIhU / LOhO / LOhU / LU / LUhU / MAhO / MAI / ME / MEhU / MOhE / MOhI / MOI / NA / NAI / NAhE / NAhU / NIhE / NIhO / NOI / NU / NUhA / NUhI / NUhU / PA / PEhE / PEhO / PU / RAhO / ROI / SA / SE / SEI / SEhU / SI / SOI / SU / TAhE / TEhU / TEI / TO / TOI / TUhE / TUhU / UI / VA / VAU / VEI / VEhO / VUhU / VEhA / VIhA / VUhO / XI / ZAhO / ZEhA / ZEI / ZI / ZIhE / ZO / ZOI / ZOhU / cmavo)
lojban_word <- (CMEVLA / CMAVO / BRIVLA)
any_word <- lojban_word spaces?
zoi_open <- lojban_word
zoi_word <- (non_space+) spaces
zoi_close <- any_word
cmevla <- (jbocme / zifcme)
zifcme <- (!h (nucleus / glide / h / consonant !pause / digit)* consonant &pause)
jbocme <- (&zifcme (any_syllable / digit)* &pause)
cmavo <- (!cmevla !CVCy_lujvo cmavo_form &post_word)
CVCy_lujvo <- (CVC_rafsi y h? initial_rafsi* brivla_core / stressed_CVC_rafsi y short_final_rafsi)
cmavo_form <- (!h !cluster onset (nucleus h)* (!stressed nucleus / nucleus !cluster) / y+ / digit)
brivla <- (!cmavo initial_rafsi* brivla_core)
brivla_core <- (fuhivla / gismu / CVV_final_rafsi / stressed_initial_rafsi short_final_rafsi)
stressed_initial_rafsi <- (stressed_extended_rafsi / stressed_y_rafsi / stressed_y_less_rafsi)
initial_rafsi <- (extended_rafsi / y_rafsi / !any_extended_rafsi y_less_rafsi !any_extended_rafsi)
any_extended_rafsi <- (fuhivla / extended_rafsi / stressed_extended_rafsi)
fuhivla <- (fuhivla_head stressed_syllable consonantal_syllable* final_syllable)
stressed_extended_rafsi <- (stressed_brivla_rafsi / stressed_fuhivla_rafsi)
extended_rafsi <- (brivla_rafsi / fuhivla_rafsi)
stressed_brivla_rafsi <- (&unstressed_syllable brivla_head stressed_syllable h y)
brivla_rafsi <- (&(syllable consonantal_syllable* syllable) brivla_head h y h?)
stressed_fuhivla_rafsi <- (fuhivla_head stressed_syllable consonantal_syllable* !h onset y)
fuhivla_rafsi <- (&unstressed_syllable fuhivla_head !h onset y h?)
fuhivla_head <- (!rafsi_string brivla_head)
brivla_head <- (!cmavo !slinkuhi !h &onset unstressed_syllable*)
slinkuhi <- (!rafsi_string consonant rafsi_string)
rafsi_string <- (y_less_rafsi* (gismu / CVV_final_rafsi / stressed_y_less_rafsi short_final_rafsi / y_rafsi / stressed_y_rafsi / stressed_y_less_rafsi? initial_pair y / hy_rafsi / stressed_hy_rafsi))
gismu <- ((initial_pair stressed_vowel / consonant stressed_vowel consonant) &final_syllable consonant vowel &post_word)
CVV_final_rafsi <- (consonant stressed_vowel h &final_syllable vowel &post_word)
short_final_rafsi <- (&final_syllable (consonant diphthong / initial_pair vowel) &post_word)
stressed_y_rafsi <- ((stressed_long_rafsi / stressed_CVC_rafsi) y)
stressed_y_less_rafsi <- (stressed_CVC_rafsi !y / stressed_CCV_rafsi / stressed_CVV_rafsi)
stressed_long_rafsi <- (initial_pair stressed_vowel consonant / consonant stressed_vowel consonant consonant)
stressed_CVC_rafsi <- (consonant stressed_vowel consonant)
stressed_CCV_rafsi <- (initial_pair stressed_vowel)
stressed_CVV_rafsi <- (consonant (unstressed_vowel h stressed_vowel / stressed_diphthong) r_hyphen?)
y_rafsi <- ((long_rafsi / CVC_rafsi) y h?)
y_less_rafsi <- (!y_rafsi !stressed_y_rafsi !hy_rafsi !stressed_hy_rafsi (CVC_rafsi / CCV_rafsi / CVV_rafsi) !h)
hy_rafsi <- ((long_rafsi vowel / CCV_rafsi / CVV_rafsi) h y h?)
stressed_hy_rafsi <- ((long_rafsi stressed_vowel / stressed_CCV_rafsi / stressed_CVV_rafsi) h y)
long_rafsi <- (initial_pair unstressed_vowel consonant / consonant unstressed_vowel consonant consonant)
CVC_rafsi <- (consonant unstressed_vowel consonant)
CCV_rafsi <- (initial_pair unstressed_vowel)
CVV_rafsi <- (consonant (unstressed_vowel h unstressed_vowel / unstressed_diphthong) r_hyphen?)
r_hyphen <- (r &consonant / n &r)
final_syllable <- (onset !y !stressed nucleus !cmevla &post_word)
stressed_syllable <- (&stressed syllable / syllable &stress)
stressed_diphthong <- (&stressed diphthong / diphthong &stress)
stressed_vowel <- (&stressed vowel / vowel &stress)
unstressed_syllable <- (!stressed syllable !stress / consonantal_syllable)
unstressed_diphthong <- (!stressed diphthong !stress)
unstressed_vowel <- (!stressed vowel !stress)
stress <- ((consonant / glide)* h? y? syllable pause)
stressed <- (onset comma* [AEIOU])
any_syllable <- (onset nucleus coda? / consonantal_syllable)
syllable <- (onset !y nucleus coda?)
consonantal_syllable <- (consonant &syllabic coda)
coda <- (!any_syllable consonant &any_syllable / syllabic? consonant? &pause)
onset <- (h / glide / initial)
nucleus <- (vowel / diphthong / y !nucleus)
glide <- (i / u) &nucleus
diphthong <- (a i !i / a u !u / e i !i / o i !i) !nucleus
vowel <- (a / e / i / o / u) !nucleus
a <- comma* [aA]
e <- comma* [eE]
i <- comma* [iI]
o <- comma* [oO]
u <- comma* [uU]
y <- comma* [yY] !(!y nucleus)
cluster <- (consonant consonant+)
initial_pair <- (&initial consonant consonant !consonant)
initial <- (affricate / sibilant? other? liquid?) !consonant !glide
affricate <- (t c / t s / d j / d z)
liquid <- (l / r)
other <- (p / t !l / k / f / x / b / d !l / g / v / m / n !liquid)
sibilant <- (c / s !x / (j / z) !n !liquid)
consonant <- (voiced / unvoiced / syllabic)
syllabic <- (l / m / n / r)
voiced <- (b / d / g / j / v / z)
unvoiced <- (c / f / k / p / s / t / x)
l <- comma* [lL] !h !glide !l
m <- comma* [mM] !h !glide !m !z
n <- comma* [nN] !h !glide !n !affricate
r <- comma* [rR] !h !glide !r
b <- comma* [bB] !h !glide !b !unvoiced
d <- comma* [dD] !h !glide !d !unvoiced
g <- comma* [gG] !h !glide !g !unvoiced
v <- comma* [vV] !h !glide !v !unvoiced
j <- comma* [jJ] !h !glide !j !z !unvoiced
z <- comma* [zZ] !h !glide !z !j !unvoiced
s <- comma* [sS] !h !glide !s !c !voiced
c <- comma* [cC] !h !glide !c !s !x !voiced
x <- comma* [xX] !h !glide !x !c !k !voiced
k <- comma* [kK] !h !glide !k !x !voiced
f <- comma* [fF] !h !glide !f !voiced
p <- comma* [pP] !h !glide !p !voiced
t <- comma* [tT] !h !glide !t !voiced
h <- comma* ['h] &nucleus
digit <- (comma* [0123456789] !h !nucleus)
post_word <- (pause / !nucleus lojban_word)
pause <- (comma* space_char+ / EOF)
EOF <- (comma* !.)
comma <- [,]
non_lojban_word <- (!lojban_word non_space+)
non_space <- (!space_char .)
space_char <- [.\t\n\r?!\u0020]
spaces <- (!Y initial_spaces)
initial_spaces <- ((comma* space_char / !ybu Y)+ EOF? / EOF)
ybu <- (Y space_char* BU)
lujvo <- (!gismu !fuhivla brivla)
A <- &cmavo ( a / e / j i / o / u ) &post_word
BAI <- &cmavo ( d u h o / s i h u / z a u / k i h i / d u h i / c u h u / t u h i / t i h u / d i h o / j i h u / r i h a / n i h i / m u h i / k i h u / v a h u / k o i / c a h i / t a h i / p u h e / j a h i / k a i / b a i / f i h e / d e h i / c i h o / m a u / m u h u / r i h i / r a h i / k a h a / p a h u / p a h a / l e h a / k u h u / t a i / b a u / m a h i / c i h e / f a u / p o h i / c a u / m a h e / c i h u / r a h a / p u h a / l i h e / l a h u / b a h i / k a h i / s a u / f a h e / b e h i / t i h i / j a h e / g a h a / v a h o / j i h o / m e h a / d o h e / j i h e / p i h o / g a u / z u h e / m e h e / r a i ) &post_word
BAhE <- &cmavo ( b a h e / z a h e ) &post_word
BE <- &cmavo ( b e ) &post_word
BEI <- &cmavo ( b e i ) &post_word
BEhO <- &cmavo ( b e h o ) &post_word
BIhE <- &cmavo ( b i h e ) &post_word
BIhI <- &cmavo ( m i h i / b i h o / b i h i ) &post_word
BO <- &cmavo ( b o ) &post_word
BOI <- &cmavo ( b o i ) &post_word
BU <- &cmavo ( b u ) &post_word
BY <- &cmavo (ybu / j o h o / r u h o / g e h o / j e h o / l o h a / n a h a / s e h e / t o h a / g a h e / y h y / b y / c y / d y / f y / g y / j y / k y / l y / m y / n y / p y / r y / s y / t y / v y / x y / z y ) &post_word
CAhA <- &cmavo ( c a h a / p u h i / n u h o / k a h e ) &post_word
CAI <- &cmavo ( p e i / c a i / c u h i / s a i / r u h e ) &post_word
CEI <- &cmavo ( c e i ) &post_word
CEhE <- &cmavo ( c e h e ) &post_word
CO <- &cmavo ( c o ) &post_word
COI <- &cmavo ( j u h i / c o i / f i h i / t a h a / m u h o / f e h o / c o h o / p e h u / k e h o / n u h e / r e h i / b e h e / j e h e / m i h e / k i h e / v i h o ) &post_word
CU <- &cmavo ( c u ) &post_word
CUhE <- &cmavo ( c u h e / n a u ) &post_word
DAhO <- &cmavo ( d a h o ) &post_word
DOI <- &cmavo ( d o i ) &post_word
DOhU <- &cmavo ( d o h u ) &post_word
FA <- &cmavo ( f a i / f a / f e / f o / f u / f i h a / f i ) &post_word
FAhA <- &cmavo ( d u h a / b e h a / n e h u / v u h a / g a h u / t i h a / n i h a / c a h u / z u h a / r i h u / r u h u / r e h o / t e h e / b u h u / n e h a / p a h o / n e h i / t o h o / z o h i / z e h o / z o h a / f a h a ) &post_word &post_word
FAhO <- &cmavo ( f a h o ) &post_word
FEhE <- &cmavo ( f e h e ) &post_word
FEhU <- &cmavo ( f e h u ) &post_word
FIhO <- &cmavo ( f i h o ) &post_word
FOI <- &cmavo ( f o i ) &post_word
FUhA <- &cmavo ( f u h a ) &post_word
FUhE <- &cmavo ( f u h e ) &post_word
FUhO <- &cmavo ( f u h o ) &post_word
GA <- &cmavo ( g e h i / g e / g o / g a / g u ) &post_word
GAhO <- &cmavo ( k e h i / g a h o ) &post_word
GEhU <- &cmavo ( g e h u ) &post_word
GI <- &cmavo ( g i ) &post_word
GIhA <- &cmavo ( g i h e / g i h i / g i h o / g i h a / g i h u ) &post_word
GOI <- &cmavo ( n o h u / n e / g o i / p o h u / p e / p o h e / p o ) &post_word
GOhA <- &cmavo ( m o / n e i / g o h u / g o h o / g o h i / n o h a / g o h e / g o h a / d u / b u h a / b u h e / b u h i / c o h e ) &post_word
GUhA <- &cmavo ( g u h e / g u h i / g u h o / g u h a / g u h u ) &post_word
I <- &cmavo ( i ) &post_word
JA <- &cmavo ( j e h i / j e / j o / j a / j u ) &post_word
JAI <- &cmavo ( j a i ) &post_word
JOhI <- &cmavo ( j o h i ) &post_word
JOI <- &cmavo ( f a h u / p i h u / j o i / c e h o / c e / j o h u / k u h a / j o h e / j u h e ) &post_word
KE <- &cmavo ( k e ) &post_word
KEhE <- &cmavo ( k e h e ) &post_word
KEI <- &cmavo ( k e i ) &post_word
KI <- &cmavo ( k i ) &post_word
KOhA <- &cmavo ( d a h u / d a h e / d i h u / d i h e / d e h u / d e h e / d e i / d o h i / m i h o / m a h a / m i h a / d o h o / k o h a / f o h u / k o h e / k o h i / k o h o / k o h u / f o h a / f o h e / f o h i / f o h o / v o h a / v o h e / v o h i / v o h o / v o h u / r u / r i / r a / t a / t u / t i / z i h o / k e h a / m a / z u h i / z o h e / c e h u / d a / d e / d i / k o / m i / d o ) &post_word
KU <- &cmavo ( k u ) &post_word
KUhE <- &cmavo ( k u h e ) &post_word
KUhO <- &cmavo ( k u h o ) &post_word
LA <- &cmavo ( l a i / l a h i / l a ) &post_word
LAU <- &cmavo ( c e h a / l a u / z a i / t a u ) &post_word
LAhE <- &cmavo ( t u h a / l u h a / l u h o / l a h e / v u h i / l u h i / l u h e ) &post_word
LE <- &cmavo ( l e i / l o i / l e h i / l o h i / l e h e / l o h e / l o / l e ) &post_word
LEhU <- &cmavo ( l e h u ) &post_word
LI <- &cmavo ( m e h o / l i ) &post_word
LIhU <- &cmavo ( l i h u ) &post_word
LOhO <- &cmavo ( l o h o ) &post_word
LOhU <- &cmavo ( l o h u ) &post_word
LU <- &cmavo ( l u ) &post_word
LUhU <- &cmavo ( l u h u ) &post_word
MAhO <- &cmavo ( m a h o ) &post_word
MAI <- &cmavo ( m o h o / m a i ) &post_word
ME <- &cmavo ( m e ) &post_word
MEhU <- &cmavo ( m e h u ) &post_word
MOhE <- &cmavo ( m o h e ) &post_word
MOhI <- &cmavo ( m o h i ) &post_word
MOI <- &cmavo ( m e i / m o i / s i h e / c u h o / v a h e ) &post_word
NA <- &cmavo ( j a h a / n a ) &post_word
NAI <- &cmavo ( n a i ) &post_word
NAhE <- &cmavo ( t o h e / j e h a / n a h e / n o h e ) &post_word
NAhU <- &cmavo ( n a h u ) &post_word
NIhE <- &cmavo ( n i h e ) &post_word
NIhO <- &cmavo ( n i h o / n o h i ) &post_word
NOI <- &cmavo ( v o i / n o i / p o i ) &post_word
NU <- &cmavo ( n i / d u h u / s i h o / n u / l i h i / k a / j e i / s u h u / z u h o / m u h e / p u h u / z a h i ) &post_word
NUhA <- &cmavo ( n u h a ) &post_word
NUhI <- &cmavo ( n u h i ) &post_word
NUhU <- &cmavo ( n u h u ) &post_word
PA <- &cmavo ( d a u / f e i / g a i / j a u / r e i / v a i / p i h e / p i / f i h u / z a h u / m e h i / n i h u / k i h o / c e h i / m a h u / r a h e / d a h a / s o h a / j i h i / s u h o / s u h e / r o / r a u / s o h u / s o h i / s o h e / s o h o / m o h a / d u h e / t e h o / k a h o / c i h i / t u h o / x o / p a i / n o h o / n o / p a / r e / c i / v o / m u / x a / z e / b i / s o / digit ) &post_word
PEhE <- &cmavo ( p e h e ) &post_word
PEhO <- &cmavo ( p e h o ) &post_word
PU <- &cmavo ( b a / p u / c a ) &post_word
RAhO <- &cmavo ( r a h o ) &post_word
ROI <- &cmavo ( r e h u / r o i ) &post_word
SA <- &cmavo ( s a ) &post_word
SE <- &cmavo ( s e / t e / v e / x e ) &post_word
SEI <- &cmavo ( s e i / t i h o ) &post_word
SEhU <- &cmavo ( s e h u ) &post_word
SI <- &cmavo ( s i ) &post_word
SOI <- &cmavo ( s o i ) &post_word
SU <- &cmavo ( s u ) &post_word
TAhE <- &cmavo ( r u h i / t a h e / d i h i / n a h o ) &post_word
TEhU <- &cmavo ( t e h u ) &post_word
TEI <- &cmavo ( t e i ) &post_word
TO <- &cmavo ( t o h i / t o ) &post_word
TOI <- &cmavo ( t o i ) &post_word
TUhE <- &cmavo ( t u h e ) &post_word
TUhU <- &cmavo ( t u h u ) &post_word
UI <- &cmavo ( i h a / i e / a h e / u h i / i h o / i h e / a h a / i a / o h i / o h e / e h e / o i / u o / e h i / u h o / a u / u a / a h i / i h u / i i / u h a / u i / a h o / a i / a h u / i u / e i / o h o / e h a / u u / o h a / o h u / u h u / e h o / i o / e h u / u e / i h i / u h e / b a h a / j a h o / c a h e / s u h a / t i h e / k a h u / s e h o / z a h a / p e h i / r u h a / j u h a / t a h o / r a h u / l i h a / b a h u / m u h a / d o h a / t o h u / v a h i / p a h e / z u h u / s a h e / l a h a / k e h u / s a h u / d a h i / j e h u / s a h a / k a u / t a h u / n a h i / j o h a / b i h u / l i h o / p a u / m i h u / k u h i / j i h a / s i h a / p o h o / p e h a / r o h i / r o h e / r o h o / r o h u / r o h a / r e h e / l e h o / j u h o / f u h i / d a i / g a h i / z o h o / b e h u / r i h e / s e h i / s e h a / v u h e / k i h a / x u / g e h e / b u h o ) &post_word
VA <- &cmavo ( v i / v a / v u ) &post_word
VAU <- &cmavo ( v a u ) &post_word
VEI <- &cmavo ( v e i ) &post_word
VEhO <- &cmavo ( v e h o ) &post_word
VUhU <- &cmavo ( g e h a / f u h u / p i h i / f e h i / v u h u / s u h i / j u h u / g e i / p a h i / f a h i / t e h a / c u h a / v a h a / n e h o / d e h o / f e h a / s a h o / r e h a / r i h o / s a h i / p i h a / s i h i ) &post_word
VEhA <- &cmavo ( v e h u / v e h a / v e h i / v e h e ) &post_word
VIhA <- &cmavo ( v i h i / v i h a / v i h u / v i h e ) &post_word
VUhO <- &cmavo ( v u h o ) &post_word
XI <- &cmavo ( x i ) &post_word
Y <- &cmavo ( y+ ) &post_word
ZAhO <- &cmavo ( c o h i / p u h o / c o h u / m o h u / c a h o / c o h a / d e h a / b a h o / d i h a / z a h o ) &post_word
ZEhA <- &cmavo ( z e h u / z e h a / z e h i / z e h e ) &post_word
ZEI <- &cmavo ( z e i ) &post_word
ZI <- &cmavo ( z u / z a / z i ) &post_word
ZIhE <- &cmavo ( z i h e ) &post_word
ZO <- &cmavo ( z o ) &post_word
ZOI <- &cmavo ( z o i / l a h o ) &post_word
ZOhU <- &cmavo ( z o h u ) &post_word