History: zasni gerna

Preview of version: 14

This is a version (not official) of the full grammar of Lojban. I intend to make many changes to it, some cosmetic, some not. Don't take the contents of this page too seriously for now. In zasni gerna cenba vreji I will try to keep a record of the changes as I make them. mi'e xorxes


; - GRAMMAR -

PUBLIC text <- intro? text-1? FAhO#?

text-1 <- I# joik-jek? (tag? BO#)? text-1? / NIhO#* paragraphs

paragraphs <- paragraph (NIhO#+ paragraph)*

paragraph <- statement (I# statement?)*

statement <- statement-1 / prenex statement / fragment

statement-1 <- statement-2 (I# joik-jek statement-2?)*

statement-2 <- statement-3 (I# joik-jek? tag? BO# statement-2?)?

statement-3 <- sentence / tag? TUhE# text-1 TUhU#?

fragment <- prenex / terms VAU#? / ek / gihek / quantifier / NA# !JA# / relative-clauses / links / linkargs

; ------------------

prenex <- terms ZOhU#

sentence <- (terms CU#?)? bridi-tail

subsentence <- sentence / prenex subsentence

bridi-tail <- bridi-tail-1 (gihek tag? KE# bridi-tail KEhE#? tail-terms)?

bridi-tail-1 <- bridi-tail-2 (gihek !(tag? KE#) bridi-tail-2 tail-terms)*

bridi-tail-2 <- bridi-tail-3 (gihek tag? BO# bridi-tail-2 tail-terms)?

bridi-tail-3 <- selbri tail-terms / gek-sentence

gek-sentence <- gek subsentence gik subsentence tail-terms / tag? KE# gek-sentence KEhE#? / NA# gek-sentence

; ------------

tail-terms <- terms? VAU#?

terms <- terms-1+

terms-1 <- terms-2 (PEhE# joik-jek terms-2)*

terms-2 <- term (CEhE# term)*

term <- FA#? sumti / tag? sumti / tag KU#? / FA# KU#? / NA# KU# / termset

termset <- gek-termset / NUhI# gek terms NUhU#? gik terms NUhU#? / NUhI# terms NUhU#?

gek-termset <- gek terms-gik-terms

terms-gik-terms <- term (gik / terms-gik-terms) term

; -----------

sumti <- sumti-1 (VUhO# relative-clauses)?

sumti-1 <- sumti-2 (joik-ek tag? KE# sumti KEhE#?)?

sumti-2 <- sumti-3 (joik-ek sumti-3)*

sumti-3 <- sumti-4 (joik-ek tag? BO# sumti-3)?

sumti-4 <- sumti-5 / gek sumti gik sumti-4

sumti-5 <- quantifier? sumti-6 relative-clauses? / quantifier selbri KU#? relative-clauses?

sumti-6 <- ZO-word# / ZOI-expression# / LOhU-words-LEhU# / lerfu-string !MOI# BOI#? / LU# text LIhU#? / (LAhE# / NAhE# BO#) relative-clauses? sumti LUhU#? / KOhA# / (LA# / LE#) sumti-tail KU#? / LI# mex LOhO#?

sumti-tail <- sumti-6? relative-clauses? (quantifier? selbri relative-clauses? / quantifier sumti)

relative-clauses <- relative-clause (ZIhE# relative-clause)*

relative-clause <- GOI# term GEhU#? / NOI# subsentence KUhO#?

; ----------

selbri <- (tag / NA#)* selbri-2

selbri-2 <- selbri-4+ (CO# selbri-2)?

selbri-4 <- selbri-5 (joik-jek selbri-5 / joik-jek tag? KE# selbri-4+ KEhE#?)*

selbri-5 <- selbri-6 (joik-jek tag? BO# selbri-5)?

selbri-6 <- tanru-unit (BO# selbri-6)? / NAhE#? guhek selbri gik selbri-6

tanru-unit <- tanru-unit-1 (CEI# tanru-unit-1)*

tanru-unit-1 <- tanru-unit-2 linkargs?

tanru-unit-2 <- BRIVLA# / ZEI-lujvo# / CMENE# / GOhA# / KE# selbri-4+ KEhE#? / ME# (sumti / lerfu-string) MEhU#? MOI#? / (number / lerfu-string) MOI# / NUhA# mex-operator / SE# tanru-unit-2 / JAI# tag? tanru-unit-2 / NAhE# tanru-unit-2 / NU# (joik-jek NU#)* subsentence KEI#?

linkargs <- BE# term links? BEhO#?

links <- BEI# term links?

; -------------

quantifier <- number !MOI# BOI#? / VEI# mex VEhO#?

mex <- mex-1 (operator mex-1)* / rp#

rp# <- FUhA# rp-expression

mex-1 <- mex-2 (BIhE# operator mex-1)?

mex-2 <- operand / mex-forethought

mex-forethought <- PEhO#? operator fore-operands KUhE#?

fore-operands <- mex-2+

rp-expression <- operand (rp-expression operator)*

operator <- operator-1 (joik-jek operator-1 / joik-jek tag? KE# operator KEhE#?)*

operator-1 <- operator-2 / guhek operator-1 gik operator-2 / operator-2 joik-jek tag? BO# operator-1

operator-2 <- mex-operator / KE# operator KEhE#?

mex-operator <- SE# mex-operator / NAhE# mex-operator / MAhO# mex TEhU#? / NAhU# selbri TEhU#? / VUhU#

operand <- operand-1 (joik-ek tag? KE# operand KEhE#?)?

operand-1 <- operand-2 (joik-ek operand-2)*

operand-2 <- operand-3 (joik-ek tag? BO# operand-2)?

operand-3 <- quantifier / lerfu-string !MOI# BOI#? / NIhE# selbri TEhU#? / MOhE# sumti TEhU#? / JOhI# mex-2+ TEhU#? / gek operand gik operand-3 / (LAhE# / NAhE# BO#) operand LUhU#?

number <- PA#+

lerfu-string <- lerfu-word+

lerfu-word <- BY# / BU-lerfu# / LAU# lerfu-word / TEI# lerfu-string FOI#

; ----------

ek <- NA#? SE#? A#

gihek <- NA#? SE#? GIhA#

joik-jek <- NA#? SE#? (JOI# / JA# / BIhI#)

joik-ek <- joik-jek / ek

gek <- SE#? GA# / joik-jek GI# / tag GI#

guhek <- SE#? GUhA#

gik <- GI#

; -----------

tag <- tag-unit+ (joik-jek tag-unit+)*

tag-unit <- KI# / BAI# / PU# / ZI# / ZEhA# / FAhA# / VA# / VEhA# / VIhA# / TAhE# / ZAhO# / CAhA# / CUhE# / number ROI# / FIhO# selbri FEhU# / (FEhE# / MOhI# / SE# / NAhE#) tag-unit

; ------------

intro <- su-null* si-null* SI#* post# (!gek joik-jek)?

su-null <- SI#* su-word* SU#

si-null <- si-word SI#

; - Word Modifiers -

pre# <- BAhE#* si-null*

post# <- !BU# !ZEI# (vocative / parenthetical / number-mai / lerfu-mai / subscript / indicator)?

vocative <- (COI#+ DOI#? / DOI#) (relative-clauses? selbri relative-clauses? / sumti?) DOhU#?

parenthetical <- SEI# (terms CU#?)? selbri SEhU#? / SOI# sumti sumti? SEhU#? / TO# text TOI#?

number-mai <- number MAI#

lerfu-mai <- lerfu-string MAI#

subscript <- XI# (number BOI#? / lerfu-string BOI#? / VEI# mex VEhO#?)

indicator <- FUhE# / UI# / CAI# / NAI# / DAhO# / FUhO# / RAhO# / GAhO#

; - Special SELMAHO -

BAhE# <- si-null* BAhE !BU# !ZEI#

BU# <- si-null* BU

ZEI# <- si-null* ZEI

SI# <- si-null* SI

SU# <- si-null* SU

FAhO# <- pre# FAhO NON-LOJBAN*

COI# <- pre# COI !vocative post#

PA# <- pre# PA !number-mai post#

BY# <- pre# BY !lerfu-mai post#

LAU# <- pre# LAU !lerfu-mai post#

TEI# <- pre# TEI !lerfu-mai post#

FOI# <- pre# FOI !lerfu-mai post#

; - Pseudo SELMAHO -

BU-lerfu# <- pre# BU-lerfu !lerfu-mai post#

ZEI-lujvo# <- pre# ZEI-lujvo post#

ZO-word# <- pre# ZO-word post#

LOhU-words-LEhU# <- pre# LOhU-words-LEhU post#

ZOI-expression# <- pre# ZOI-expression post#

; - Normal SELMAHO -

BRIVLA# <- pre# BRIVLA post#

CMENE# <- pre# CMENE post#

CMAVO# <- pre# CMAVO post#

A# <- pre# A post#

BAI# <- pre# BAI post#

BE# <- pre# BE post#

BEI# <- pre# BEI post#

BEhO# <- pre# BEhO post#

BIhE# <- pre# BIhE post#

BIhI# <- pre# BIhI post#

BO# <- pre# BO post#

BOI# <- pre# BOI post#

CAhA# <- pre# CAhA post#

CAI# <- pre# CAI post#

CEI# <- pre# CEI post#

CEhE# <- pre# CEhE post#

CO# <- pre# CO post#

CU# <- pre# CU post#

CUhE# <- pre# CUhE post#

DAhO# <- pre# DAhO post#

DOhU# <- pre# DOhU post#

DOI# <- pre# DOI post#

FA# <- pre# FA post#

FAhA# <- pre# FAhA post#

FEhE# <- pre# FEhE post#

FEhU# <- pre# FEhU post#

FIhO# <- pre# FIhO post#

FUhA# <- pre# FUhA post#

FUhE# <- pre# FUhE post#

FUhO# <- pre# FUhO post#

GA# <- pre# GA post#

GAhO# <- pre# GAhO post#

GEhU# <- pre# GEhU post#

GI# <- pre# GI post#

GIhA# <- pre# GIhA post#

GOI# <- pre# GOI post#

GOhA# <- pre# GOhA post#

GUhA# <- pre# GUhA post#

I# <- pre# I post#

JA# <- pre# JA post#

JAI# <- pre# JAI post#

JOhI# <- pre# JOhI post#

JOI# <- pre# JOI post#

KE# <- pre# KE post#

KEhE# <- pre# KEhE post#

KEI# <- pre# KEI post#

KI# <- pre# KI post#

KOhA# <- pre# KOhA post#

KU# <- pre# KU post#

KUhE# <- pre# KUhE post#

KUhO# <- pre# KUhO post#

LA# <- pre# LA post#

LAhE# <- pre# LAhE post#

LE# <- pre# LE post#

LEhU# <- pre# LEhU post#

LI# <- pre# LI post#

LIhU# <- pre# LIhU post#

LOhO# <- pre# LOhO post#

LU# <- pre# LU post#

LUhU# <- pre# LUhU post#

MAhO# <- pre# MAhO post#

MAI# <- pre# MAI post#

ME# <- pre# ME post#

MEhU# <- pre# MEhU post#

MOhE# <- pre# MOhE post#

MOhI# <- pre# MOhI post#

MOI# <- pre# MOI post#

NA# <- pre# NA post#

NAI# <- pre# NAI post#

NAhE# <- pre# NAhE post#

NAhU# <- pre# NAhU post#

NIhE# <- pre# NIhE post#

NIhO# <- pre# NIhO post#

NOI# <- pre# NOI post#

NU# <- pre# NU post#

NUhA# <- pre# NUhA post#

NUhI# <- pre# NUhI post#

NUhU# <- pre# NUhU post#

PEhE# <- pre# PEhE post#

PEhO# <- pre# PEhO post#

PU# <- pre# PU post#

RAhO# <- pre# RAhO post#

ROI# <- pre# ROI post#

SE# <- pre# SE post#

SA# <- pre# SA post#

SEI# <- pre# SEI post#

SEhU# <- pre# SEhU post#

SOI# <- pre# SOI post#

TAhE# <- pre# TAhE post#

TEhU# <- pre# TEhU post#

TO# <- pre# TO post#

TOI# <- pre# TOI post#

TUhE# <- pre# TUhE post#

TUhU# <- pre# TUhU post#

UI# <- pre# UI post#

VA# <- pre# VA post#

VAU# <- pre# VAU post#

VEI# <- pre# VEI post#

VEhO# <- pre# VEhO post#

VUhU# <- pre# VUhU post#

VEhA# <- pre# VEhA post#

VIhA# <- pre# VIhA post#

VUhO# <- pre# VUhO post#

XI# <- pre# XI post#

ZAhO# <- pre# ZAhO post#

ZEhA# <- pre# ZEhA post#

ZI# <- pre# ZI post#

ZIhE# <- pre# ZIhE post#

ZOhU# <- pre# ZOhU post#

; **************************

; MAGIC WORD CONSTRUCTS

; **************************

; (ZOI-delimiters not fully implemented here.)


su-word <- ZEI-lujvo / BU-lerfu / zei-bu-word

si-word <- ZEI-lujvo / BU-lerfu / zei-bu-word

BU-lerfu <- zei-bu-word (BU#* zei-tail)* BU#+

ZEI-lujvo <- zei-bu-word (zei-tail? BU#+)* zei-tail

zei-bu-word <- ZO-word / LOhU-words-LEhU / ZOI-expression / !BU !ZEI !ZO !LOhU !ZOI !SI !SU !FAhO any-word

bu-tail <- BU#+

zei-tail <- (ZEI# any-word)+

ZO-word <- ZO any-word

LOhU-words-LEhU <- LOhU (!LEhU any-word)* LEhU

ZOI-expression <- ZOI ZOI (!ZOI NON-LOJBAN)* ZOI

any-word <- CMENE / BRIVLA / A / BAI / BAhE / BE / BEI / BEhO / BIhE / BIhI / BO / BOI / BU / BY / CAI / CAhA / 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 / JOI / JOhI / KE / KEI / KEhE / KI / KOhA / KU / KUhE / KUhO / LA / LAU / LAhE / LE / LEhU / LI / LIhU / LOhO / LOhU / LU / LUhU / MAI / MAhO / ME / MEhU / MOI / MOhE / MOhI / 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 / TEI / TEhU / TO / TOI / TUhE / TUhU / UI / VA / VAU / VEI / VEhA / VEhO / VIhA / VUhO / VUhU / XI / ZAhO / ZEI / ZEhA / ZI / ZIhE / ZO / ZOI / ZOhU / CMAVO

;************************

; MORPHOLOGY

; the above has terminals NON-LOJBAN, BRIVLA, CMENE, CMAVO, A, BAI, ..., ZOhU.


;************************


NON-LOJBAN <- non-space+ spaces

;-----------------------

A <- &CMAVO ( a / e / j i / o / u ) &post-cmavo spaces?

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-cmavo spaces?

BAhE <- &CMAVO ( b a h e / z a h e ) &post-cmavo spaces?

BE <- &CMAVO ( b e ) &post-cmavo spaces?

BEI <- &CMAVO ( b e i ) &post-cmavo spaces?

BEhO <- &CMAVO ( b e h o ) &post-cmavo spaces?

BIhE <- &CMAVO ( b i h e ) &post-cmavo spaces?

BIhI <- &CMAVO ( m i h i / b i h o / b i h i ) &post-cmavo spaces?

BO <- &CMAVO ( b o ) &post-cmavo spaces?

BOI <- &CMAVO ( b o i ) &post-cmavo spaces?

BU <- &CMAVO ( b u ) &post-cmavo spaces?

BY <- ybu / &CMAVO ( 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-cmavo spaces?

CAhA <- &CMAVO ( c a h a / p u h i / n u h o / k a h e ) &post-cmavo spaces?

CAI <- &CMAVO ( p e i / c a i / c u h i / s a i / r u h e ) &post-cmavo spaces?

CEI <- &CMAVO ( c e i ) &post-cmavo spaces?

CEhE <- &CMAVO ( c e h e ) &post-cmavo spaces?

CO <- &CMAVO ( c o ) &post-cmavo spaces?

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-cmavo spaces?

CU <- &CMAVO ( c u ) &post-cmavo spaces?

CUhE <- &CMAVO ( c u h e / n a u ) &post-cmavo spaces?

DAhO <- &CMAVO ( d a h o ) &post-cmavo spaces?

DOI <- &CMAVO ( d o i ) &post-cmavo spaces?

DOhU <- &CMAVO ( d o h u ) &post-cmavo spaces?

FA <- &CMAVO ( f a i / f a / f e / f o / f u / f i h a / f i ) &post-cmavo spaces?

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-cmavo spaces?

FAhO <- &CMAVO ( f a h o ) &post-cmavo spaces?

FEhE <- &CMAVO ( f e h e ) &post-cmavo spaces?

FEhU <- &CMAVO ( f e h u ) &post-cmavo spaces?

FIhO <- &CMAVO ( f i h o ) &post-cmavo spaces?

FOI <- &CMAVO ( f o i ) &post-cmavo spaces?

FUhA <- &CMAVO ( f u h a ) &post-cmavo spaces?

FUhE <- &CMAVO ( f u h e ) &post-cmavo spaces?

FUhO <- &CMAVO ( f u h o ) &post-cmavo spaces?

GA <- &CMAVO ( g e h i / g e / g o / g a / g u ) &post-cmavo spaces?

GAhO <- &CMAVO ( k e h i / g a h o ) &post-cmavo spaces?

GEhU <- &CMAVO ( g e h u ) &post-cmavo spaces?

GI <- &CMAVO ( g i ) &post-cmavo spaces?

GIhA <- &CMAVO ( g i h e / g i h i / g i h o / g i h a / g i h u ) &post-cmavo spaces?

GOI <- &CMAVO ( n o h u / n e / g o i / p o h u / p e / p o h e / p o ) &post-cmavo spaces?

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-cmavo spaces?

GUhA <- &CMAVO ( g u h e / g u h i / g u h o / g u h a / g u h u ) &post-cmavo spaces?

I <- &CMAVO ( i ) &post-cmavo spaces?

JA <- &CMAVO ( j e h i / j e / j o / j a / j u ) &post-cmavo spaces?

JAI <- &CMAVO ( j a i ) &post-cmavo spaces?

JOhI <- &CMAVO ( j o h i ) &post-cmavo spaces?

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-cmavo spaces?

KE <- &CMAVO ( k e ) &post-cmavo spaces?

KEhE <- &CMAVO ( k e h e ) &post-cmavo spaces?

KEI <- &CMAVO ( k e i ) &post-cmavo spaces?

KI <- &CMAVO ( k i ) &post-cmavo spaces?

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-cmavo spaces?

KU <- &CMAVO ( k u ) &post-cmavo spaces?

KUhE <- &CMAVO ( k u h e ) &post-cmavo spaces?

KUhO <- &CMAVO ( k u h o ) &post-cmavo spaces?

LA <- &CMAVO ( l a i / l a h i / l a ) &post-cmavo spaces?

LAU <- &CMAVO ( c e h a / l a u / z a i / t a u ) &post-cmavo spaces?

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-cmavo spaces?

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-cmavo spaces?

LEhU <- &CMAVO ( l e h u ) &post-cmavo spaces?

LI <- &CMAVO ( m e h o / l i ) &post-cmavo spaces?

LIhU <- &CMAVO ( l i h u ) &post-cmavo spaces?

LOhO <- &CMAVO ( l o h o ) &post-cmavo spaces?

LOhU <- &CMAVO ( l o h u ) &post-cmavo spaces?

LU <- &CMAVO ( l u ) &post-cmavo spaces?

LUhU <- &CMAVO ( l u h u ) &post-cmavo spaces?

MAhO <- &CMAVO ( m a h o ) &post-cmavo spaces?

MAI <- &CMAVO ( m o h o / m a i ) &post-cmavo spaces?

ME <- &CMAVO ( m e ) &post-cmavo spaces?

MEhU <- &CMAVO ( m e h u ) &post-cmavo spaces?

MOhE <- &CMAVO ( m o h e ) &post-cmavo spaces?

MOhI <- &CMAVO ( m o h i ) &post-cmavo spaces?

MOI <- &CMAVO ( m e i / m o i / s i h e / c u h o / v a h e ) &post-cmavo spaces?

NA <- &CMAVO ( j a h a / n a ) &post-cmavo spaces?

NAI <- &CMAVO ( n a i ) &post-cmavo spaces?

NAhE <- &CMAVO ( t o h e / j e h a / n a h e / n o h e ) &post-cmavo spaces?

NAhU <- &CMAVO ( n a h u ) &post-cmavo spaces?

NIhE <- &CMAVO ( n i h e ) &post-cmavo spaces?

NIhO <- &CMAVO ( n i h o / n o h i ) &post-cmavo spaces?

NOI <- &CMAVO ( v o i / n o i / p o i ) &post-cmavo spaces?

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-cmavo spaces?

NUhA <- &CMAVO ( n u h a ) &post-cmavo spaces?

NUhI <- &CMAVO ( n u h i ) &post-cmavo spaces?

NUhU <- &CMAVO ( n u h u ) &post-cmavo spaces?

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 ) &post-cmavo spaces?

PEhE <- &CMAVO ( p e h e ) &post-cmavo spaces?

PEhO <- &CMAVO ( p e h o ) &post-cmavo spaces?

PU <- &CMAVO ( b a / p u / c a ) &post-cmavo spaces?

RAhO <- &CMAVO ( r a h o ) &post-cmavo spaces?

ROI <- &CMAVO ( r e h u / r o i ) &post-cmavo spaces?

SA <- &CMAVO ( s a ) &post-cmavo spaces?

SE <- &CMAVO ( s e / t e / v e / x e ) &post-cmavo spaces?

SEI <- &CMAVO ( s e i / t i h o ) &post-cmavo spaces?

SEhU <- &CMAVO ( s e h u ) &post-cmavo spaces?

SI <- &CMAVO ( s i ) &post-cmavo spaces?

SOI <- &CMAVO ( s o i ) &post-cmavo spaces?

SU <- &CMAVO ( s u ) &post-cmavo spaces?

TAhE <- &CMAVO ( r u h i / t a h e / d i h i / n a h o ) &post-cmavo spaces?

TEhU <- &CMAVO ( t e h u ) &post-cmavo spaces?

TEI <- &CMAVO ( t e i ) &post-cmavo spaces?

TO <- &CMAVO ( t o h i / t o ) &post-cmavo spaces?

TOI <- &CMAVO ( t o i ) &post-cmavo spaces?

TUhE <- &CMAVO ( t u h e ) &post-cmavo spaces?

TUhU <- &CMAVO ( t u h u ) &post-cmavo spaces?

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-cmavo spaces?

VA <- &CMAVO ( v i / v a / v u ) &post-cmavo spaces?

VAU <- &CMAVO ( v a u ) &post-cmavo spaces?

VEI <- &CMAVO ( v e i ) &post-cmavo spaces?

VEhO <- &CMAVO ( v e h o ) &post-cmavo spaces?

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-cmavo spaces?

VEhA <- &CMAVO ( v e h u / v e h a / v e h i / v e h e ) &post-cmavo spaces?

VIhA <- &CMAVO ( v i h i / v i h a / v i h u / v i h e ) &post-cmavo spaces?

VUhO <- &CMAVO ( v u h o ) &post-cmavo spaces?

XI <- &CMAVO ( x i ) &post-cmavo spaces?

Y <- &CMAVO ( y+ ) &post-cmavo spaces?

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-cmavo spaces?

ZEhA <- &CMAVO ( z e h u / z e h a / z e h i / z e h e ) &post-cmavo spaces?

ZEI <- &CMAVO ( z e i ) &post-cmavo spaces?

ZI <- &CMAVO ( z u / z a / z i ) &post-cmavo spaces?

ZIhE <- &CMAVO ( z i h e ) &post-cmavo spaces?

ZO <- &CMAVO ( z o ) &post-cmavo spaces?

ZOI <- &CMAVO ( z o i / l a h o ) &post-cmavo spaces?

ZOhU <- &CMAVO ( z o h u ) &post-cmavo spaces?

;-----------------------

CMENE <- jbocme / zifcme

jbocme <- &zifcme (syllable / y-syllable)+ spaces

zifcme <- !h (nucleus / glide / h / C !spaces)* C spaces

;-----------------------

CMAVO <- !cmene !CVCy-lujvo C? glide? (nucleus h)* nucleus &post-cmavo spaces? / y+

CVCy-lujvo <- C V C y h? initial-rafsi* (type-3 / fuhivla / gismu / end-rafsi)

post-cmavo <- spaces / !nucleus (CMAVO / BRIVLA)

;-----------------------

BRIVLA <- gismu / fuhivla / type-3 / lujvo

;---------------

lujvo <- !cmavo initial-rafsi+ (type-3 / fuhivla / gismu / end-rafsi)

initial-rafsi <- y-less-rafsi / y-rafsi / fuhivla-rafsi / type-3-rafsi / brivla-rafsi

brivla-rafsi <- !cmene !cmavo !slinkuhi !h syllable syllable+ h y !nucleus h?

;---------------

type-3 <- !cmene (C V C C / CC V C / C V C) y? (r / n / l) &C syllable+ spaces

type-3-rafsi <- !cmene (C V C C / CC V C / C V C) y? (r / n / l) &C syllable* y-syllable h?

;---------------

fuhivla <- !cmene !cmavo !rafsi-string !slinkuhi !h syllable syllable+ spaces

fuhivla-rafsi <- !cmene !cmavo !rafsi-string !slinkuhi !h syllable+ y-syllable h?

slinkuhi <- C rafsi-string

rafsi-string <- y-less-rafsi* (gismu / end-rafsi / y-rafsi / CC y / h y / C V C C V h y / CC V C V h y)

;---------------

gismu <- (C V C C V / CC V C V) spaces

end-rafsi <- (C V h V / C VV / CC V) spaces

y-rafsi <- (C V C C / CC V C / C V C) y !nucleus h?

y-less-rafsi <- (C V C / CC V / C VV R? / C V h V R?) &rafsi-string

R <- r &C / n &r

;-----------------------

;************************

; PHONOTACTICS

; the above has terminals a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x, y, z,

; V, VV, nucleus, glide, C, CC, syllable, y-syllable, spaces, dot-star and EOF ...

;************************

;-----------------------

syllable <- onset !y nucleus coda?

y-syllable <- onset &y nucleus coda?

;------------

CC <- &onset C C

C <- voiced / unvoiced / l / m / n / r

coda <- !syllable C / liquid !liquid C

onset <- (h / C? glide / affricate / sibilant? middle? liquid?) &nucleus

sibilant <- c / s !x / (j / z) !n !l !r

middle <- p / t !l / k / f / x / b / d !l / g / v / m / n !l !r

liquid <- l / r

affricate <- t c / t s / d j / d z

voiced <- b / d / g / j / v / z

unvoiced <- c / f / k / p / s / t / x

l <- l !h !l

m <- m !h !m !z

n <- n !h !n !affricate

r <- r !h !r

b <- b !h !b !unvoiced

d <- d !h !d !unvoiced

g <- g !h !g !unvoiced

v <- v !h !v !unvoiced

j <- j !h !j !z !unvoiced

z <- z !h !z !j !unvoiced

s <- s !h !s !c !voiced

c <- c !h !c !s !x !voiced

x <- x !h !x !c !k !voiced

k <- k !h !k !x !voiced

f <- f !h !f !voiced

p <- p !h !p !voiced

t <- t !h !t !voiced

h <- 'h &nucleus

;----------------

glide <- (i / u) &nucleus

nucleus <- V / VV / y !nucleus

VV <- (a i / a u / e i / o i) !nucleus !glide

V <- (a / e / i / o / u) !nucleus

a <- a

e <- e

i <- i

o <- o

u <- u

y <- y

;-----------------------

ybu <- Y space-char* BU

spaces <- !Y initial-spaces

initial-spaces <- (space-char / !ybu Y)+ EOF? / EOF

NORATS non-space <- !space-char .

NORATS space-char <- .\t\n\r?!\u0020

EOF <- !.

SPACE dot-star <- .*

History

Information Version
Thu 09 of Jan, 2014 14:59 GMT xorxes from 181.1.236.152 added !selbri to tag term 39
Tue 18 of Dec, 2007 23:48 GMT xorxes from 190.137.20.97 38
Wed 12 of Dec, 2007 23:34 GMT xorxes from 200.117.153.109 37
Wed 12 of Dec, 2007 19:40 GMT xorxes from 200.123.104.43 36
Wed 12 of Dec, 2007 18:17 GMT xorxes from 200.123.104.43 35
Wed 12 of Dec, 2007 15:59 GMT xorxes from 200.123.104.43 34
Tue 11 of Dec, 2007 20:50 GMT xorxes from 200.123.104.43 33
Tue 11 of Dec, 2007 20:48 GMT xorxes from 200.123.104.43 32
Tue 11 of Dec, 2007 20:46 GMT xorxes from 200.123.104.43 31
Tue 11 of Dec, 2007 18:54 GMT xorxes from 200.123.104.43 30
Mon 10 of Dec, 2007 22:10 GMT xorxes from 190.31.40.236 29
Mon 10 of Dec, 2007 00:55 GMT xorxes from 190.137.19.83 28
Sun 09 of Dec, 2007 22:02 GMT xorxes from 190.136.127.166 27
Sun 09 of Dec, 2007 19:44 GMT xorxes from 190.136.127.166 26
Sun 09 of Dec, 2007 15:28 GMT xorxes from 201.253.225.159 25
Sun 09 of Dec, 2007 00:22 GMT xorxes from 190.136.91.102 mergers 24
Sat 08 of Dec, 2007 19:47 GMT xorxes from 190.136.91.102 23
Fri 07 of Dec, 2007 21:00 GMT xorxes from 200.123.104.43 22
Wed 05 of Dec, 2007 01:00 GMT xorxes from 190.31.45.241 21
Mon 03 of Dec, 2007 20:55 GMT xorxes from 200.123.104.43 mex stuff 20
Sat 01 of Dec, 2007 23:20 GMT xorxes from 190.136.124.191 19
Fri 30 of Nov, 2007 20:38 GMT xorxes from 200.123.104.43 18
Thu 29 of Nov, 2007 21:02 GMT xorxes from 200.123.104.43 Y 17
Wed 28 of Nov, 2007 21:07 GMT xorxes from 200.123.104.43 spaces 16
Wed 28 of Nov, 2007 14:49 GMT xorxes from 200.123.104.43 r-hyphen stuff 15
Tue 27 of Nov, 2007 23:32 GMT xorxes from 190.136.125.97 moved spaces to morphology section 14
Tue 27 of Nov, 2007 21:09 GMT xorxes from 200.123.104.43 13
Mon 26 of Nov, 2007 21:19 GMT xorxes from 200.123.104.43 12
Sun 25 of Nov, 2007 15:26 GMT xorxes from 190.137.21.6 removed capitals as mark for stress 11
Sun 25 of Nov, 2007 02:02 GMT xorxes from 201.253.224.58 Magic words 10
Sat 24 of Nov, 2007 21:40 GMT xorxes from 201.253.224.58 number, lerfu-string, CMENE, RAhO, GAhO, joik-jek 9
Sat 24 of Nov, 2007 19:33 GMT xorxes from 190.30.132.60 tags and NAI 8
Sat 24 of Nov, 2007 18:51 GMT xorxes from 190.30.132.60 full merge of free with indicators 7
Sat 24 of Nov, 2007 15:31 GMT xorxes from 190.31.42.153 move down some more free* (after terminators) 6
Fri 23 of Nov, 2007 20:33 GMT xorxes from 200.123.104.43 moved some free* down to #-clauses 5
Fri 23 of Nov, 2007 19:13 GMT xorxes from 200.123.104.43 replaced A-clause, BAI-clause, etc. with A#, BAI#, etc for improved readability 4
Fri 23 of Nov, 2007 18:55 GMT xorxes from 200.123.104.43 3
Fri 23 of Nov, 2007 18:22 GMT xorxes from 200.123.104.43 Removed morphology interface stuff (NORATS) 2
Fri 23 of Nov, 2007 16:34 GMT xorxes from 200.123.104.43 1