i la'e di'e ve vimcu lo javaskript zei pagbu la ilmen peg i zoizoi
https://raw.githubusercontent.com/guskant/ilmentufa-1/gh-pages/camxes-20160209.peg
zoi
i ganai da'i ji'a sai ro na'e bo mi cu tugni fi lo du'u lo javaskript zei pagbu ji'a cu ca'irselzau
gi la'e di'u la'a plixau lo finti be lo drata genturfa'i
ni'o mi na birti lo du'u .ei va'o lo peg zei curve cu galfi lo zo zoi zei stura ma kau
i ku'i mi cuxna lo tarmi noi se jicmu la masatos peg ku'o gi'e na'e mutce ciksi zo zoi
i di'e te pruce
i zoi peg
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
lojban_word <- (CMEVLA / CMAVO / BRIVLA)
any_word <- lojban_word spaces?
zoi_open <- lojban_word
zoi_word <- (non_space+) spaces
zoi_close <- any_word
peg
ni'o sei sitna lo zo zoi zei stura cu vrici lo finti be lo genturfa'i
i di'e liste lo peg zei velski be lo vo vrici
mi'e la guskant mu'o fa'o
1mai. la camgusmis peg pe la javas
https://raw.githubusercontent.com/lojban/camxes/maven/src/main/resources/lojban.peg
ZOI-clause <- ZOI-pre ZOI-post
ZOI-pre <- pre-clause ZOI spaces? zoi-open zoi-word* zoi-close spaces?
ZOI-post <- post-clause
zoi-open <- any-word-pre inner-word &{ myAssign( new String(innerWordSEP2.toString()) ) } close-paren
zoi-word <- spaces? zoi-printable-pre inner-word &{ ! myCompare( startString, innerWordSEP3 ) } close-paren
zoi-close <- spaces? any-word-pre inner-word &{ myCompare( startString, innerWordSEP3 ) } close-paren spaces?
zoi-printable-pre <- any-word-pre / non-Lojban-word-pre
any-word-pre <- CMAVO-word-pre / CMENE-word-pre / BRIVLA-word-pre
NORATS non-Lojban-word-pre <- " nonLojbanWord=( "
2mai. la masatos peg pe la javaskript
https://raw.githubusercontent.com/mhagiwara/camxes.js/master/camxes.js.peg
ZOI_clause = pre:ZOI_pre post:ZOI_post {return _node2("ZOI_clause", pre, post); }
ZOI_pre = pre_clause ZOI spaces? zoi_open zoi_word* zoi_close spaces?
ZOI_post = post_clause
lojban_word = expr:(CMENE / CMAVO / BRIVLA) { return expr; }
any_word = expr:lojban_word spaces? { return expr; }
zoi_open = lojban_word
zoi_word = non_lojban_word
zoi_close = lojban_word
3mai. la ilmen peg pe la javaskript
https://raw.githubusercontent.com/lojban/ilmentufa/gh-pages/camxes.js.peg
ZOI_clause = pre:ZOI_pre post:ZOI_post {return _node2("ZOI_clause", pre, post); }
ZOI_pre = pre_clause ZOI spaces? zoi_open spaces? zoi_word* zoi_close spaces?
ZOI_post = post_clause
ZOI_start = !ZOI_pre ZOI
lojban_word = expr:(CMEVLA / CMAVO / BRIVLA) { return expr; }
any_word = expr:lojban_word spaces? { return expr; }
zoi_open = w:lojban_word { return _zoi_assign_delim(w); }
zoi_word = expr:( w:(non_space+) spaces &{ return (! _zoi_check_quote(w)); } ) {return "";}
zoi_close = w:any_word &{ return (_zoi_check_delim(w)); }
4mai. la iocikun peg pe la xaskel
https://skami2.iocikun.jp/lojban/zasniGernaPeg
(co'u gubni)
ZOI_anything = z:ZOI sep:any_word str:
( !w:any_word[w == sep] c:anything
)* sep':any_word[sep == sep']