[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lojban] *-no-SA-handling in PEG grammar
On Thu, Jan 06, 2011 at 08:03:31AM -0700, .alyn.post. wrote:
> On Thu, Jan 06, 2011 at 06:51:08AM -0800, Robin Lee Powell wrote:
> > On Thu, Jan 06, 2011 at 07:15:06AM -0700, .alyn.post. wrote:
> > > There are several productions of the form *-no-SA-handling,
> > > (BAI-no-SA-handling, BAhE-no-SA-handling, &c) in the Lojban
> > > PEG grammar.
> > >
> > > I can't see that any of these productions are referenced by
> > > other productions in the grammar. What are these rules? It
> > > seems that removing them would have no effect on the parser.
> >
> > These appear to be a side effect of how SA handling used to
> > work; diffs back to the version in question attached. I've
> > updated the source to remove them.
> >
>
> The diffs appear to have been removed from this e-mail after you
> setn it. Will you send them again?
Nope, I just didn't attach them. -_-
-Robin
--
http://singinst.org/ : Our last, best hope for a fantastic future.
Lojban (http://www.lojban.org/): The language in which "this parrot
is dead" is "ti poi spitaki cu morsi", but "this sentence is false"
is "na nei". My personal page: http://www.digitalkingdom.org/rlp/
--
You received this message because you are subscribed to the Google Groups "lojban" group.
To post to this group, send email to lojban@googlegroups.com.
To unsubscribe from this group, send email to lojban+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/lojban?hl=en.
--- lojban.peg 2005/01/27 21:57:26 1.34
+++ lojban.peg 2006/08/21 22:15:26
@@ -22,12 +22,12 @@
; --- GRAMMAR ---
-text <- intro-null NAI-clause* text-part-2 (!text-1 joik-jek)? text-1? faho-clause EOF?
+PUBLIC text <- intro-null NAI-clause* text-part-2 (!text-1 joik-jek)? text-1? faho-clause EOF?
-intro-null <- spaces? su-clause* intro-sa-clause? intro-si-clause
+intro-null <- spaces? su-clause* intro-si-clause
text-part-2 <- (CMENE-clause+ / indicators?) free*
-SPACE intro-sa-clause <- SA-clause+ / any-word-SA-handling !(ZEI-clause SA-clause) intro-sa-clause
+;; SPACE intro-sa-clause <- SA-clause+ / any-word-SA-handling !(ZEI-clause SA-clause) intro-sa-clause
SPACE intro-si-clause <- si-clause? SI-clause*
SPACE faho-clause <- (FAhO-clause dot-star)?
@@ -43,7 +43,6 @@
statement <- statement-1 / prenex statement
statement-1 <- statement-2 (I-clause joik-jek statement-2?)*
-;; statement-2 (I-clause joik-jek statement-2)+ /
statement-2 <- statement-3 (I-clause (jek / joik)? stag? BO-clause free* statement-2)? / statement-3 (I-clause (jek / joik)? stag? BO-clause free*)?
@@ -53,12 +52,22 @@
prenex <- terms ZOhU-clause free*
-sentence <- (terms CU-clause? free*)? bridi-tail / bridi-tail
+;; sentence <- (terms CU-clause? free*)? bridi-tail / bridi-tail
+
+sentence <- (terms bridi-tail-sa* CU-clause? free*)? bridi-tail-sa* bridi-tail
+
+SPACE 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-clause? free* tail-terms)?
+SPACE 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)?
@@ -71,27 +80,46 @@
terms <- terms-1+
-terms-1 <- terms-2 (PEhE-clause free* joik-jek terms-2)*
+;; terms-1 <- terms-2 (PEhE-clause free* joik-jek terms-2)*
+
+;; terms-2 <- term (CEhE-clause free* term)*
+
+terms-1 <- terms-2 (pehe-sa* PEhE-clause free* joik-jek terms-2)*
+
+terms-2 <- term (cehe-sa* CEhE-clause free* term)*
+
+SPACE pehe-sa <- PEhE-clause (!PEhE-clause (sa-word / SA-clause !PEhE-clause))* SA-clause
+
+SPACE cehe-sa <- CEhE-clause (!CEhE-clause (sa-word / SA-clause !CEhE-clause))* SA-clause
+
+;;term <- sumti / ( !gek (tag / FA-clause free*) (sumti / KU-clause? free*) ) / termset / NA-clause KU-clause free*
+
+term <- term-sa* term-1
+
+term-1 <- sumti / ( !gek (tag / FA-clause free*) (sumti / KU-clause? free*) ) / termset / NA-clause KU-clause free*
+
+SPACE 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
-terms-2 <- term (CEhE-clause free* term)*
+termset <- gek-termset / NUhI-clause free* gek terms NUhU-clause? free* gik terms NUhU-clause? free* / NUhI-clause free* terms NUhU-clause? free*
-term <- sumti / ( !gek (tag / FA-clause free*) (sumti / KU-clause? free*) ) / termset / NA-clause KU-clause free*
+gek-termset <- gek terms-gik-terms
-termset <- NUhI-clause free* gek terms NUhU-clause? free* gik terms NUhU-clause? free* / NUhI-clause free* terms NUhU-clause? free*
+terms-gik-terms <- term (gik / terms-gik-terms) term
sumti <- sumti-1 (VUhO-clause free* relative-clauses)?
-sumti-1 <- sumti-2 ((ek / joik) stag? KE-clause free* sumti KEhE-clause? free*)?
+sumti-1 <- sumti-2 (joik-ek stag? KE-clause free* sumti KEhE-clause? free*)?
sumti-2 <- sumti-3 (joik-ek sumti-3)*
-sumti-3 <- sumti-4 ((ek / joik) stag? BO-clause free* 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-clause? free* relative-clauses?
-;; sumti-6 <- zo-clause indicators* free* / zoi-clause indicators* free* / lohu-lehu-quote indicators* free* / lerfu-string !MOI-clause BOI-clause? free* / LU-clause text LIhU-clause? free* / (LAhE-clause free* / NAhE-clause BO-clause free*) relative-clauses? sumti LUhU-clause? free* / KOhA-clause free* / LA-clause free* relative-clauses? CMENE-clause+ free* / (LA-clause / LE-clause) free* sumti-tail KU-clause? free* / li-clause
sumti-6 <- ZO-clause free* / ZOI-clause free* / LOhU-clause free* / lerfu-string !MOI-clause BOI-clause? free* / LU-clause text LIhU-clause? free* / (LAhE-clause free* / NAhE-clause BO-clause free*) relative-clauses? sumti LUhU-clause? free* / KOhA-clause free* / LA-clause free* relative-clauses? CMENE-clause+ free* / (LA-clause / LE-clause) free* sumti-tail KU-clause? free* / li-clause
li-clause <- LI-clause free* mex LOhO-clause? free*
@@ -102,7 +130,15 @@
relative-clauses <- relative-clause (ZIhE-clause free* relative-clause)*
-relative-clause <- GOI-clause free* term GEhU-clause? free* / NOI-clause free* subsentence KUhO-clause? free*
+;; relative-clause <- GOI-clause free* term GEhU-clause? free* / NOI-clause free* subsentence KUhO-clause? free*
+
+relative-clause <- relative-clause-sa* relative-clause-1
+
+SPACE 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-clause? free* / NOI-clause free* subsentence KUhO-clause? free*
+
+relative-clause-start <- GOI-clause / NOI-clause
selbri <- tag? selbri-1
@@ -125,17 +161,47 @@
; ** zei is part of BRIVLA-clause
tanru-unit-2 <- BRIVLA-clause free* / GOhA-clause RAhO-clause? free* / KE-clause free* selbri-3 KEhE-clause? free* / ME-clause free* (sumti / lerfu-string) MEhU-clause? 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-clause? free*
-linkargs <- BE-clause free* term links? BEhO-clause? free*
+;; linkargs <- BE-clause free* term links? BEhO-clause? free*
+
+linkargs <- linkargs-sa* linkargs-1
+
+linkargs-1 <- BE-clause free* term links? BEhO-clause? free*
+
+SPACE linkargs-sa <- linkargs-start (!linkargs-start (sa-word / SA-clause !linkargs-start ) )* SA-clause &linkargs-1
-links <- BEI-clause free* term links?
+linkargs-start <- BE-clause
+
+;; links <- BEI-clause free* term links?
+
+links <- links-sa* links-1
+
+links-1 <- BEI-clause free* term links?
+
+SPACE 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-clause? free* / VEI-clause free* mex VEhO-clause? free*
-mex <- mex-1 (operator mex-1)* / FUhA-clause free* rp-expression
+;;mex <- mex-1 (operator mex-1)* / rp-clause
+
+mex <- mex-sa* mex-0
+
+mex-0 <- mex-1 (operator mex-1)* / rp-clause
+
+SPACE 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 / PEhO-clause? free* operator mex-2+ KUhE-clause? free*
+mex-2 <- operand / mex-forethought
+
+; This is just to make for clearer parse trees
+mex-forethought <- PEhO-clause? free* operator fore-operands KUhE-clause? free*
+fore-operands <- mex-2+
;li fu'a reboi ci pi'i voboi mu pi'i su'i reboi ci vu'u su'i du li rexa
;rp-expression <- rp-operand rp-operand operator
@@ -147,7 +213,15 @@
rp-expression <- operand rp-expression-tail
rp-expression-tail <- rp-expression operator rp-expression-tail / ()
-operator <- operator-1 (joik-jek operator-1 / joik stag? KE-clause free* operator KEhE-clause? free*)*
+;; operator <- operator-1 (joik-jek operator-1 / joik stag? KE-clause free* operator KEhE-clause? free*)*
+
+operator <- operator-sa* operator-0
+
+operator-0 <- operator-1 (joik-jek operator-1 / joik stag? KE-clause free* operator KEhE-clause? free*)*
+
+SPACE 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
@@ -155,11 +229,19 @@
mex-operator <- SE-clause free* mex-operator / NAhE-clause free* mex-operator / MAhO-clause free* mex TEhU-clause? free* / NAhU-clause free* selbri TEhU-clause? free* / VUhU-clause free*
-operand <- operand-1 ((ek / joik) stag? KE-clause free* operand KEhE-clause? free*)?
+;; operand <- operand-1 (joik-ek stag? KE-clause free* operand KEhE-clause? free*)?
+
+operand <- operand-sa* operand-0
+
+operand-0 <- operand-1 (joik-ek stag? KE-clause free* operand KEhE-clause? free*)?
+
+SPACE 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 ((ek / joik) stag? BO-clause free* operand-2)?
+operand-2 <- operand-3 (joik-ek stag? BO-clause free* operand-2)?
operand-3 <- quantifier / lerfu-string !MOI-clause BOI-clause? free* / NIhE-clause free* selbri TEhU-clause? free* / MOhE-clause free* sumti TEhU-clause? free* / JOhI-clause free* mex-2+ TEhU-clause? free* / gek operand gik operand-3 / (LAhE-clause free* / NAhE-clause BO-clause free*) operand LUhU-clause? free*
@@ -172,7 +254,12 @@
ek <- NA-clause? SE-clause? A-clause NAI-clause?
-gihek <- NA-clause? SE-clause? GIhA-clause NAI-clause?
+;; gihek <- NA-clause? SE-clause? GIhA-clause NAI-clause?
+gihek <- gihek-sa* gihek-1
+
+gihek-1 <- NA-clause? SE-clause? GIhA-clause NAI-clause?
+
+SPACE gihek-sa <- gihek-1 (!gihek-1 (sa-word / SA-clause !gihek-1 ) )* SA-clause &gihek
jek <- NA-clause? SE-clause? JA-clause NAI-clause?
@@ -180,7 +267,12 @@
interval <- SE-clause? BIhI-clause NAI-clause?
-joik-ek <- joik free* / ek free*
+;; joik-ek <- joik free* / ek free*
+joik-ek <- joik-ek-sa* joik-ek-1
+
+joik-ek-1 <- (joik free* / ek free*)
+
+SPACE 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*
@@ -228,23 +320,14 @@
; Magic Words
; ****************
-;; lohu-lehu-quote <- LOhU-clause (!LEhU-clause any-word)* LEhU-clause post-clause
-;; lohu-lehu-quote-no-SA <- LOhU-clause-no-SA (!LEhU-clause any-word)* LEhU-clause-no-SA post-clause
-
zei-clause <- pre-clause zei-clause-no-pre
zei-clause-no-pre <- pre-zei-bu (zei-tail? bu-tail)* zei-tail post-clause
zei-clause-no-SA <- pre-zei-bu-no-SA (zei-tail? bu-tail)* zei-tail
-;; zei-clause-no-pre <- pre-zei-bu zei-tail? (bu-tail zei-tail)+ post-clause / pre-zei-bu zei-tail post-clause
-;; zei-clause-no-SA <- pre-zei-bu-no-SA zei-tail? (bu-tail zei-tail)+ / pre-zei-bu-no-SA zei-tail
-
bu-clause <- pre-clause bu-clause-no-pre
bu-clause-no-pre <- pre-zei-bu (bu-tail? zei-tail)* bu-tail post-clause
bu-clause-no-SA <- pre-zei-bu-no-SA (bu-tail? zei-tail)* bu-tail
-;; bu-clause-no-pre <- pre-zei-bu bu-tail? (zei-tail bu-tail)+ post-clause / pre-zei-bu bu-tail post-clause
-;; bu-clause-no-SA <- pre-zei-bu-no-SA bu-tail? (zei-tail bu-tail)+ / pre-zei-bu-no-SA bu-tail
-
zei-tail <- (ZEI-clause any-word)+
bu-tail <- BU-clause+
@@ -252,30 +335,6 @@
; LOhU-pre / ZO-pre / ZOI-pre / !ZEI-clause !BU-clause !FAhO-clause !SI-clause !SA-clause !SU-clause any-word-SA-handling si-clause?
pre-zei-bu-no-SA <- LOhU-pre / ZO-pre / ZOI-pre / !ZEI-clause !BU-clause !FAhO-clause !SI-clause !SA-clause !SU-clause any-word si-clause?
-;; lohu-lehu-pre-zei-bu <- LOhU-clause (!LEhU-clause any-word)* LEhU-clause
-
-;; zo-pre-zei-bu <- ZO-clause any-word
-
-;; zoi-pre-zei-bu <- ZOI-clause zoi-open zoi-word* zoi-close
-
-; ****
-; zo
-; ****
-;; zo-clause <- ZO-clause any-word post-clause
-;; zo-clause-no-SA <- ZO-clause-no-SA any-word post-clause
-
-; ****
-; ZOI
-; ****
-
-;; zoi-clause <- ZOI-clause zoi-open zoi-word* zoi-close post-clause
-
-;; zoi-clause-no-SA <- ZOI-clause-no-SA zoi-open zoi-word* zoi-close post-clause
-
-; ****
-; End ZOI
-; ****
-
; -- General Morphology Issues
;
; 1. Spaces (including '.y') and UI are eaten *after* a word.
@@ -300,10 +359,12 @@
; Handling of SI and interactions with zo and lo'u...le'u
-si-clause <- ((erasable-clause / si-word) si-clause? SI-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 <- !NIhO-clause !LU-clause !TUhE-clause !TO-clause !SU-clause !FAhO-clause any-word-SA-handling
@@ -311,179 +372,120 @@
; --- SELMAHO ---
; Do *NOT* delete the line above!
-BRIVLA-clause <- BRIVLA-pre BRIVLA-post / BRIVLA-sa-clause? zei-clause
-BRIVLA-pre <- BRIVLA-sa-clause? pre-clause BRIVLA spaces?
+BRIVLA-clause <- BRIVLA-pre BRIVLA-post / zei-clause
+BRIVLA-pre <- pre-clause BRIVLA spaces?
BRIVLA-post <- post-clause
SPACE BRIVLA-no-SA-handling <- pre-clause BRIVLA post-clause / zei-clause-no-SA
-;; BRIVLA-special-clause <- BRIVLA-pre BRIVLA-post / BRIVLA-sa-clause? zei-clause-no-SA
-SPACE BRIVLA-sa-clause <- BRIVLA-no-SA-handling BRIVLA-sa-tail
-SPACE BRIVLA-sa-tail <- SA-clause &BRIVLA-no-SA-handling / BRIVLA-no-SA-handling BRIVLA-sa-tail2 BRIVLA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BRIVLA-no-SA-handling any-word-SA-handling BRIVLA-sa-tail
-SPACE BRIVLA-sa-tail2 <- SA-clause / BRIVLA-no-SA-handling BRIVLA-sa-tail2 BRIVLA-sa-tail2 / !SA-clause !BRIVLA-no-SA-handling any-word-SA-handling BRIVLA-sa-tail2
CMENE-clause <- CMENE-pre CMENE-post
-CMENE-pre <- CMENE-sa-clause? pre-clause CMENE spaces?
+CMENE-pre <- pre-clause CMENE spaces?
CMENE-post <- post-clause
SPACE CMENE-no-SA-handling <- pre-clause CMENE post-clause
-SPACE CMENE-sa-clause <- CMENE-no-SA-handling CMENE-sa-tail
-SPACE CMENE-sa-tail <- SA-clause &CMENE-no-SA-handling / CMENE-no-SA-handling CMENE-sa-tail2 CMENE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CMENE-no-SA-handling any-word-SA-handling CMENE-sa-tail
-SPACE CMENE-sa-tail2 <- SA-clause / CMENE-no-SA-handling CMENE-sa-tail2 CMENE-sa-tail2 / !SA-clause !CMENE-no-SA-handling any-word-SA-handling CMENE-sa-tail2
CMAVO-clause <- CMAVO-pre CMAVO-post
-CMAVO-pre <- CMAVO-sa-clause? pre-clause CMAVO spaces?
+CMAVO-pre <- pre-clause CMAVO spaces?
CMAVO-post <- post-clause
SPACE CMAVO-no-SA-handling <- pre-clause CMAVO post-clause
-SPACE CMAVO-sa-clause <- CMAVO-no-SA-handling CMAVO-sa-tail
-SPACE CMAVO-sa-tail <- SA-clause &CMAVO-no-SA-handling / CMAVO-no-SA-handling CMAVO-sa-tail2 CMAVO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CMAVO-no-SA-handling any-word-SA-handling CMAVO-sa-tail
-SPACE CMAVO-sa-tail2 <- SA-clause / CMAVO-no-SA-handling CMAVO-sa-tail2 CMAVO-sa-tail2 / !SA-clause !CMAVO-no-SA-handling any-word-SA-handling CMAVO-sa-tail2
; eks; basic afterthought logical connectives
A-clause <- A-pre A-post
-A-pre <- A-sa-clause? pre-clause A spaces?
+A-pre <- pre-clause A spaces?
A-post <- post-clause
SPACE A-no-SA-handling <- pre-clause A post-clause
-SPACE A-sa-clause <- A-no-SA-handling A-sa-tail
-SPACE A-sa-tail <- SA-clause &A-no-SA-handling / A-no-SA-handling A-sa-tail2 A-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !A-no-SA-handling any-word-SA-handling A-sa-tail
-SPACE A-sa-tail2 <- SA-clause / A-no-SA-handling A-sa-tail2 A-sa-tail2 / !SA-clause !A-no-SA-handling any-word-SA-handling A-sa-tail2
; modal operators
BAI-clause <- BAI-pre BAI-post
-BAI-pre <- BAI-sa-clause? pre-clause BAI spaces?
+BAI-pre <- pre-clause BAI spaces?
BAI-post <- post-clause
SPACE BAI-no-SA-handling <- pre-clause BAI post-clause
-SPACE BAI-sa-clause <- BAI-no-SA-handling BAI-sa-tail
-SPACE BAI-sa-tail <- SA-clause &BAI-no-SA-handling / BAI-no-SA-handling BAI-sa-tail2 BAI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BAI-no-SA-handling any-word-SA-handling BAI-sa-tail
-SPACE BAI-sa-tail2 <- SA-clause / BAI-no-SA-handling BAI-sa-tail2 BAI-sa-tail2 / !SA-clause !BAI-no-SA-handling any-word-SA-handling BAI-sa-tail2
; next word intensifier
-;; BAhE-clause <- (BAhE spaces?)+
BAhE-clause <- (BAhE-pre BAhE-post)+
-BAhE-pre <- BAhE-sa-clause? BAhE spaces?
+BAhE-pre <- BAhE spaces?
BAhE-post <- si-clause? !ZEI-clause !BU-clause
SPACE BAhE-no-SA-handling <- BAhE spaces? BAhE-post
-SPACE BAhE-sa-clause <- BAhE-no-SA-handling BAhE-sa-tail
-SPACE BAhE-sa-tail <- SA-clause &BAhE-no-SA-handling / BAhE-no-SA-handling BAhE-sa-tail2 BAhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BAhE-no-SA-handling any-word-SA-handling BAhE-sa-tail
-SPACE BAhE-sa-tail2 <- SA-clause / BAhE-no-SA-handling BAhE-sa-tail2 BAhE-sa-tail2 / !SA-clause !BAhE-no-SA-handling any-word-SA-handling BAhE-sa-tail2
; sumti link to attach sumti to a selbri
BE-clause <- BE-pre BE-post
-BE-pre <- BE-sa-clause? pre-clause BE spaces?
+BE-pre <- pre-clause BE spaces?
BE-post <- post-clause
SPACE BE-no-SA-handling <- pre-clause BE post-clause
-SPACE BE-sa-clause <- BE-no-SA-handling BE-sa-tail
-SPACE BE-sa-tail <- SA-clause &BE-no-SA-handling / BE-no-SA-handling BE-sa-tail2 BE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BE-no-SA-handling any-word-SA-handling BE-sa-tail
-SPACE BE-sa-tail2 <- SA-clause / BE-no-SA-handling BE-sa-tail2 BE-sa-tail2 / !SA-clause !BE-no-SA-handling any-word-SA-handling BE-sa-tail2
; multiple sumti separator between BE, BEI
BEI-clause <- BEI-pre BEI-post
-BEI-pre <- BEI-sa-clause? pre-clause BEI spaces?
+BEI-pre <- pre-clause BEI spaces?
BEI-post <- post-clause
SPACE BEI-no-SA-handling <- pre-clause BEI post-clause
-SPACE BEI-sa-clause <- BEI-no-SA-handling BEI-sa-tail
-SPACE BEI-sa-tail <- SA-clause &BEI-no-SA-handling / BEI-no-SA-handling BEI-sa-tail2 BEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BEI-no-SA-handling any-word-SA-handling BEI-sa-tail
-SPACE BEI-sa-tail2 <- SA-clause / BEI-no-SA-handling BEI-sa-tail2 BEI-sa-tail2 / !SA-clause !BEI-no-SA-handling any-word-SA-handling BEI-sa-tail2
; terminates BEBEI specified descriptors
BEhO-clause <- BEhO-pre BEhO-post
-BEhO-pre <- BEhO-sa-clause? pre-clause BEhO spaces?
+BEhO-pre <- pre-clause BEhO spaces?
BEhO-post <- post-clause
SPACE BEhO-no-SA-handling <- pre-clause BEhO post-clause
-SPACE BEhO-sa-clause <- BEhO-no-SA-handling BEhO-sa-tail
-SPACE BEhO-sa-tail <- SA-clause &BEhO-no-SA-handling / BEhO-no-SA-handling BEhO-sa-tail2 BEhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BEhO-no-SA-handling any-word-SA-handling BEhO-sa-tail
-SPACE BEhO-sa-tail2 <- SA-clause / BEhO-no-SA-handling BEhO-sa-tail2 BEhO-sa-tail2 / !SA-clause !BEhO-no-SA-handling any-word-SA-handling BEhO-sa-tail2
; prefix for high-priority MEX operator
BIhE-clause <- BIhE-pre BIhE-post
-BIhE-pre <- BIhE-sa-clause? pre-clause BIhE spaces?
+BIhE-pre <- pre-clause BIhE spaces?
BIhE-post <- post-clause
SPACE BIhE-no-SA-handling <- pre-clause BIhE post-clause
-SPACE BIhE-sa-clause <- BIhE-no-SA-handling BIhE-sa-tail
-SPACE BIhE-sa-tail <- SA-clause &BIhE-no-SA-handling / BIhE-no-SA-handling BIhE-sa-tail2 BIhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BIhE-no-SA-handling any-word-SA-handling BIhE-sa-tail
-SPACE BIhE-sa-tail2 <- SA-clause / BIhE-no-SA-handling BIhE-sa-tail2 BIhE-sa-tail2 / !SA-clause !BIhE-no-SA-handling any-word-SA-handling BIhE-sa-tail2
; interval component of JOI
BIhI-clause <- BIhI-pre BIhI-post
-BIhI-pre <- BIhI-sa-clause? pre-clause BIhI spaces?
+BIhI-pre <- pre-clause BIhI spaces?
BIhI-post <- post-clause
SPACE BIhI-no-SA-handling <- pre-clause BIhI post-clause
-SPACE BIhI-sa-clause <- BIhI-no-SA-handling BIhI-sa-tail
-SPACE BIhI-sa-tail <- SA-clause &BIhI-no-SA-handling / BIhI-no-SA-handling BIhI-sa-tail2 BIhI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BIhI-no-SA-handling any-word-SA-handling BIhI-sa-tail
-SPACE BIhI-sa-tail2 <- SA-clause / BIhI-no-SA-handling BIhI-sa-tail2 BIhI-sa-tail2 / !SA-clause !BIhI-no-SA-handling any-word-SA-handling BIhI-sa-tail2
; joins two units with shortest scope
BO-clause <- BO-pre BO-post
-BO-pre <- BO-sa-clause? pre-clause BO spaces?
+BO-pre <- pre-clause BO spaces?
BO-post <- post-clause
SPACE BO-no-SA-handling <- pre-clause BO post-clause
-SPACE BO-sa-clause <- BO-no-SA-handling BO-sa-tail
-SPACE BO-sa-tail <- SA-clause &BO-no-SA-handling / BO-no-SA-handling BO-sa-tail2 BO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BO-no-SA-handling any-word-SA-handling BO-sa-tail
-SPACE BO-sa-tail2 <- SA-clause / BO-no-SA-handling BO-sa-tail2 BO-sa-tail2 / !SA-clause !BO-no-SA-handling any-word-SA-handling BO-sa-tail2
; number or lerfu-string terminator
BOI-clause <- BOI-pre BOI-post
-BOI-pre <- BOI-sa-clause? pre-clause BOI spaces?
+BOI-pre <- pre-clause BOI spaces?
BOI-post <- post-clause
SPACE BOI-no-SA-handling <- pre-clause BOI post-clause
-SPACE BOI-sa-clause <- BOI-no-SA-handling BOI-sa-tail
-SPACE BOI-sa-tail <- SA-clause &BOI-no-SA-handling / BOI-no-SA-handling BOI-sa-tail2 BOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BOI-no-SA-handling any-word-SA-handling BOI-sa-tail
-SPACE BOI-sa-tail2 <- SA-clause / BOI-no-SA-handling BOI-sa-tail2 BOI-sa-tail2 / !SA-clause !BOI-no-SA-handling any-word-SA-handling BOI-sa-tail2
; turns any word into a BY lerfu word
BU-clause <- BU-pre BU-post
BU-clause-no-SA <- BU-pre-no-SA BU BU-post
-BU-pre <- BU-sa-clause? pre-clause BU spaces?
+BU-pre <- pre-clause BU spaces?
BU-pre-no-SA <- pre-clause
BU-post <- spaces?
SPACE BU-no-SA-handling <- pre-clause BU spaces?
-SPACE BU-sa-clause <- BU-no-SA-handling BU-sa-tail
-SPACE BU-sa-tail <- SA-clause &BU-no-SA-handling / BU-no-SA-handling BU-sa-tail2 BU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BU-no-SA-handling any-word-SA-handling BU-sa-tail
-SPACE BU-sa-tail2 <- SA-clause / BU-no-SA-handling BU-sa-tail2 BU-sa-tail2 / !SA-clause !BU-no-SA-handling any-word-SA-handling BU-sa-tail2
; individual lerfu words
-BY-clause <- BY-pre BY-post / BY-sa-clause? bu-clause
-BY-pre <- BY-sa-clause? pre-clause BY spaces?
+BY-clause <- BY-pre BY-post / bu-clause
+BY-pre <- pre-clause BY spaces?
BY-post <- post-clause
SPACE BY-no-SA-handling <- pre-clause BY post-clause / bu-clause-no-SA
-SPACE BY-sa-clause <- BY-no-SA-handling BY-sa-tail
-SPACE BY-sa-tail <- SA-clause &BY-no-SA-handling / BY-no-SA-handling BY-sa-tail2 BY-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !BY-no-SA-handling any-word-SA-handling BY-sa-tail
-SPACE BY-sa-tail2 <- SA-clause / BY-no-SA-handling BY-sa-tail2 BY-sa-tail2 / !SA-clause !BY-no-SA-handling any-word-SA-handling BY-sa-tail2
; specifies actualitypotentiality of tense
CAhA-clause <- CAhA-pre CAhA-post
-CAhA-pre <- CAhA-sa-clause? pre-clause CAhA spaces?
+CAhA-pre <- pre-clause CAhA spaces?
CAhA-post <- post-clause
SPACE CAhA-no-SA-handling <- pre-clause CAhA post-clause
-SPACE CAhA-sa-clause <- CAhA-no-SA-handling CAhA-sa-tail
-SPACE CAhA-sa-tail <- SA-clause &CAhA-no-SA-handling / CAhA-no-SA-handling CAhA-sa-tail2 CAhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CAhA-no-SA-handling any-word-SA-handling CAhA-sa-tail
-SPACE CAhA-sa-tail2 <- SA-clause / CAhA-no-SA-handling CAhA-sa-tail2 CAhA-sa-tail2 / !SA-clause !CAhA-no-SA-handling any-word-SA-handling CAhA-sa-tail2
; afterthought intensity marker
CAI-clause <- CAI-pre CAI-post
-CAI-pre <- CAI-sa-clause? pre-clause CAI spaces?
+CAI-pre <- pre-clause CAI spaces?
CAI-post <- post-clause
SPACE CAI-no-SA-handling <- pre-clause CAI post-clause
-SPACE CAI-sa-clause <- CAI-no-SA-handling CAI-sa-tail
-SPACE CAI-sa-tail <- SA-clause &CAI-no-SA-handling / CAI-no-SA-handling CAI-sa-tail2 CAI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CAI-no-SA-handling any-word-SA-handling CAI-sa-tail
-SPACE CAI-sa-tail2 <- SA-clause / CAI-no-SA-handling CAI-sa-tail2 CAI-sa-tail2 / !SA-clause !CAI-no-SA-handling any-word-SA-handling CAI-sa-tail2
; pro-bridi assignment operator
CEI-clause <- CEI-pre CEI-post
-CEI-pre <- CEI-sa-clause? pre-clause CEI spaces?
+CEI-pre <- pre-clause CEI spaces?
CEI-post <- post-clause
SPACE CEI-no-SA-handling <- pre-clause CEI post-clause
-SPACE CEI-sa-clause <- CEI-no-SA-handling CEI-sa-tail
-SPACE CEI-sa-tail <- SA-clause &CEI-no-SA-handling / CEI-no-SA-handling CEI-sa-tail2 CEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CEI-no-SA-handling any-word-SA-handling CEI-sa-tail
-SPACE CEI-sa-tail2 <- SA-clause / CEI-no-SA-handling CEI-sa-tail2 CEI-sa-tail2 / !SA-clause !CEI-no-SA-handling any-word-SA-handling CEI-sa-tail2
; afterthought term list connective
CEhE-clause <- CEhE-pre CEhE-post
-CEhE-pre <- CEhE-sa-clause? pre-clause CEhE spaces?
+CEhE-pre <- pre-clause CEhE spaces?
CEhE-post <- post-clause
SPACE CEhE-no-SA-handling <- pre-clause CEhE post-clause
-SPACE CEhE-sa-clause <- CEhE-no-SA-handling CEhE-sa-tail
-SPACE CEhE-sa-tail <- SA-clause &CEhE-no-SA-handling / CEhE-no-SA-handling CEhE-sa-tail2 CEhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CEhE-no-SA-handling any-word-SA-handling CEhE-sa-tail
-SPACE CEhE-sa-tail2 <- SA-clause / CEhE-no-SA-handling CEhE-sa-tail2 CEhE-sa-tail2 / !SA-clause !CEhE-no-SA-handling any-word-SA-handling CEhE-sa-tail2
; names; require consonant end, then pause no
@@ -493,19 +495,13 @@
; tanru inversion
CO-clause <- CO-pre CO-post
-CO-pre <- CO-sa-clause? pre-clause CO spaces?
+CO-pre <- pre-clause CO spaces?
CO-post <- post-clause
SPACE CO-no-SA-handling <- pre-clause CO post-clause
-SPACE CO-sa-clause <- CO-no-SA-handling CO-sa-tail
-SPACE CO-sa-tail <- SA-clause &CO-no-SA-handling / CO-no-SA-handling CO-sa-tail2 CO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CO-no-SA-handling any-word-SA-handling CO-sa-tail
-SPACE CO-sa-tail2 <- SA-clause / CO-no-SA-handling CO-sa-tail2 CO-sa-tail2 / !SA-clause !CO-no-SA-handling any-word-SA-handling CO-sa-tail2
COI-clause <- COI-pre COI-post
-COI-pre <- COI-sa-clause? pre-clause COI spaces?
+COI-pre <- pre-clause COI spaces?
COI-post <- post-clause
SPACE COI-no-SA-handling <- pre-clause COI post-clause
-SPACE COI-sa-clause <- COI-no-SA-handling COI-sa-tail
-SPACE COI-sa-tail <- SA-clause &COI-no-SA-handling / COI-no-SA-handling COI-sa-tail2 COI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !COI-no-SA-handling any-word-SA-handling COI-sa-tail
-SPACE COI-sa-tail2 <- SA-clause / COI-no-SA-handling COI-sa-tail2 COI-sa-tail2 / !SA-clause !COI-no-SA-handling any-word-SA-handling COI-sa-tail2
; vocative marker permitted inside names; must
@@ -513,68 +509,47 @@
; separator between head sumti and selbri
CU-clause <- CU-pre CU-post
-CU-pre <- CU-sa-clause? pre-clause CU spaces?
+CU-pre <- pre-clause CU spaces?
CU-post <- post-clause
SPACE CU-no-SA-handling <- pre-clause CU post-clause
-SPACE CU-sa-clause <- CU-no-SA-handling CU-sa-tail
-SPACE CU-sa-tail <- SA-clause &CU-no-SA-handling / CU-no-SA-handling CU-sa-tail2 CU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CU-no-SA-handling any-word-SA-handling CU-sa-tail
-SPACE CU-sa-tail2 <- SA-clause / CU-no-SA-handling CU-sa-tail2 CU-sa-tail2 / !SA-clause !CU-no-SA-handling any-word-SA-handling CU-sa-tail2
; tensemodal question
CUhE-clause <- CUhE-pre CUhE-post
-CUhE-pre <- CUhE-sa-clause? pre-clause CUhE spaces?
+CUhE-pre <- pre-clause CUhE spaces?
CUhE-post <- post-clause
SPACE CUhE-no-SA-handling <- pre-clause CUhE post-clause
-SPACE CUhE-sa-clause <- CUhE-no-SA-handling CUhE-sa-tail
-SPACE CUhE-sa-tail <- SA-clause &CUhE-no-SA-handling / CUhE-no-SA-handling CUhE-sa-tail2 CUhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !CUhE-no-SA-handling any-word-SA-handling CUhE-sa-tail
-SPACE CUhE-sa-tail2 <- SA-clause / CUhE-no-SA-handling CUhE-sa-tail2 CUhE-sa-tail2 / !SA-clause !CUhE-no-SA-handling any-word-SA-handling CUhE-sa-tail2
; cancel anaphoracataphora assignments
DAhO-clause <- DAhO-pre DAhO-post
-DAhO-pre <- DAhO-sa-clause? pre-clause DAhO spaces?
+DAhO-pre <- pre-clause DAhO spaces?
DAhO-post <- post-clause
SPACE DAhO-no-SA-handling <- pre-clause DAhO post-clause
-SPACE DAhO-sa-clause <- DAhO-no-SA-handling DAhO-sa-tail
-SPACE DAhO-sa-tail <- SA-clause &DAhO-no-SA-handling / DAhO-no-SA-handling DAhO-sa-tail2 DAhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !DAhO-no-SA-handling any-word-SA-handling DAhO-sa-tail
-SPACE DAhO-sa-tail2 <- SA-clause / DAhO-no-SA-handling DAhO-sa-tail2 DAhO-sa-tail2 / !SA-clause !DAhO-no-SA-handling any-word-SA-handling DAhO-sa-tail2
; vocative marker
DOI-clause <- DOI-pre DOI-post
-DOI-pre <- DOI-sa-clause? pre-clause DOI spaces?
+DOI-pre <- pre-clause DOI spaces?
DOI-post <- post-clause
SPACE DOI-no-SA-handling <- pre-clause DOI post-clause
-SPACE DOI-sa-clause <- DOI-no-SA-handling DOI-sa-tail
-SPACE DOI-sa-tail <- SA-clause &DOI-no-SA-handling / DOI-no-SA-handling DOI-sa-tail2 DOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !DOI-no-SA-handling any-word-SA-handling DOI-sa-tail
-SPACE DOI-sa-tail2 <- SA-clause / DOI-no-SA-handling DOI-sa-tail2 DOI-sa-tail2 / !SA-clause !DOI-no-SA-handling any-word-SA-handling DOI-sa-tail2
; terminator for DOI-marked vocatives
DOhU-clause <- DOhU-pre DOhU-post
-DOhU-pre <- DOhU-sa-clause? pre-clause DOhU spaces?
+DOhU-pre <- pre-clause DOhU spaces?
DOhU-post <- post-clause
SPACE DOhU-no-SA-handling <- pre-clause DOhU post-clause
-SPACE DOhU-sa-clause <- DOhU-no-SA-handling DOhU-sa-tail
-SPACE DOhU-sa-tail <- SA-clause &DOhU-no-SA-handling / DOhU-no-SA-handling DOhU-sa-tail2 DOhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !DOhU-no-SA-handling any-word-SA-handling DOhU-sa-tail
-SPACE DOhU-sa-tail2 <- SA-clause / DOhU-no-SA-handling DOhU-sa-tail2 DOhU-sa-tail2 / !SA-clause !DOhU-no-SA-handling any-word-SA-handling DOhU-sa-tail2
; modifier head generic case tag
FA-clause <- FA-pre FA-post
-FA-pre <- FA-sa-clause? pre-clause FA spaces?
+FA-pre <- pre-clause FA spaces?
FA-post <- post-clause
SPACE FA-no-SA-handling <- pre-clause FA post-clause
-SPACE FA-sa-clause <- FA-no-SA-handling FA-sa-tail
-SPACE FA-sa-tail <- SA-clause &FA-no-SA-handling / FA-no-SA-handling FA-sa-tail2 FA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FA-no-SA-handling any-word-SA-handling FA-sa-tail
-SPACE FA-sa-tail2 <- SA-clause / FA-no-SA-handling FA-sa-tail2 FA-sa-tail2 / !SA-clause !FA-no-SA-handling any-word-SA-handling FA-sa-tail2
; superdirections in space
FAhA-clause <- FAhA-pre FAhA-post
-FAhA-pre <- FAhA-sa-clause? pre-clause FAhA spaces?
+FAhA-pre <- pre-clause FAhA spaces?
FAhA-post <- post-clause
SPACE FAhA-no-SA-handling <- pre-clause FAhA post-clause
-SPACE FAhA-sa-clause <- FAhA-no-SA-handling FAhA-sa-tail
-SPACE FAhA-sa-tail <- SA-clause &FAhA-no-SA-handling / FAhA-no-SA-handling FAhA-sa-tail2 FAhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FAhA-no-SA-handling any-word-SA-handling FAhA-sa-tail
-SPACE FAhA-sa-tail2 <- SA-clause / FAhA-no-SA-handling FAhA-sa-tail2 FAhA-sa-tail2 / !SA-clause !FAhA-no-SA-handling any-word-SA-handling FAhA-sa-tail2
; normally elided 'done pause' to indicate end
@@ -584,588 +559,393 @@
; space interval mod flag
FEhE-clause <- FEhE-pre FEhE-post
-FEhE-pre <- FEhE-sa-clause? pre-clause FEhE spaces?
+FEhE-pre <- pre-clause FEhE spaces?
FEhE-post <- post-clause
SPACE FEhE-no-SA-handling <- pre-clause FEhE post-clause
-SPACE FEhE-sa-clause <- FEhE-no-SA-handling FEhE-sa-tail
-SPACE FEhE-sa-tail <- SA-clause &FEhE-no-SA-handling / FEhE-no-SA-handling FEhE-sa-tail2 FEhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FEhE-no-SA-handling any-word-SA-handling FEhE-sa-tail
-SPACE FEhE-sa-tail2 <- SA-clause / FEhE-no-SA-handling FEhE-sa-tail2 FEhE-sa-tail2 / !SA-clause !FEhE-no-SA-handling any-word-SA-handling FEhE-sa-tail2
; ends bridi to modal conversion
FEhU-clause <- FEhU-pre FEhU-post
-FEhU-pre <- FEhU-sa-clause? pre-clause FEhU spaces?
+FEhU-pre <- pre-clause FEhU spaces?
FEhU-post <- post-clause
SPACE FEhU-no-SA-handling <- pre-clause FEhU post-clause
-SPACE FEhU-sa-clause <- FEhU-no-SA-handling FEhU-sa-tail
-SPACE FEhU-sa-tail <- SA-clause &FEhU-no-SA-handling / FEhU-no-SA-handling FEhU-sa-tail2 FEhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FEhU-no-SA-handling any-word-SA-handling FEhU-sa-tail
-SPACE FEhU-sa-tail2 <- SA-clause / FEhU-no-SA-handling FEhU-sa-tail2 FEhU-sa-tail2 / !SA-clause !FEhU-no-SA-handling any-word-SA-handling FEhU-sa-tail2
; marks bridi to modal conversion
FIhO-clause <- FIhO-pre FIhO-post
-FIhO-pre <- FIhO-sa-clause? pre-clause FIhO spaces?
+FIhO-pre <- pre-clause FIhO spaces?
FIhO-post <- post-clause
SPACE FIhO-no-SA-handling <- pre-clause FIhO post-clause
-SPACE FIhO-sa-clause <- FIhO-no-SA-handling FIhO-sa-tail
-SPACE FIhO-sa-tail <- SA-clause &FIhO-no-SA-handling / FIhO-no-SA-handling FIhO-sa-tail2 FIhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FIhO-no-SA-handling any-word-SA-handling FIhO-sa-tail
-SPACE FIhO-sa-tail2 <- SA-clause / FIhO-no-SA-handling FIhO-sa-tail2 FIhO-sa-tail2 / !SA-clause !FIhO-no-SA-handling any-word-SA-handling FIhO-sa-tail2
; end compound lerfu
FOI-clause <- FOI-pre FOI-post
-FOI-pre <- FOI-sa-clause? pre-clause FOI spaces?
+FOI-pre <- pre-clause FOI spaces?
FOI-post <- post-clause
SPACE FOI-no-SA-handling <- pre-clause FOI post-clause
-SPACE FOI-sa-clause <- FOI-no-SA-handling FOI-sa-tail
-SPACE FOI-sa-tail <- SA-clause &FOI-no-SA-handling / FOI-no-SA-handling FOI-sa-tail2 FOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FOI-no-SA-handling any-word-SA-handling FOI-sa-tail
-SPACE FOI-sa-tail2 <- SA-clause / FOI-no-SA-handling FOI-sa-tail2 FOI-sa-tail2 / !SA-clause !FOI-no-SA-handling any-word-SA-handling FOI-sa-tail2
; reverse Polish flag
FUhA-clause <- FUhA-pre FUhA-post
-FUhA-pre <- FUhA-sa-clause? pre-clause FUhA spaces?
+FUhA-pre <- pre-clause FUhA spaces?
FUhA-post <- post-clause
SPACE FUhA-no-SA-handling <- pre-clause FUhA post-clause
-SPACE FUhA-sa-clause <- FUhA-no-SA-handling FUhA-sa-tail
-SPACE FUhA-sa-tail <- SA-clause &FUhA-no-SA-handling / FUhA-no-SA-handling FUhA-sa-tail2 FUhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FUhA-no-SA-handling any-word-SA-handling FUhA-sa-tail
-SPACE FUhA-sa-tail2 <- SA-clause / FUhA-no-SA-handling FUhA-sa-tail2 FUhA-sa-tail2 / !SA-clause !FUhA-no-SA-handling any-word-SA-handling FUhA-sa-tail2
; open long scope for indicator
FUhE-clause <- FUhE-pre FUhE-post
-FUhE-pre <- FUhE-sa-clause? pre-clause FUhE spaces?
+FUhE-pre <- pre-clause FUhE spaces?
FUhE-post <- !BU-clause spaces? !ZEI-clause !BU-clause
SPACE FUhE-no-SA-handling <- pre-clause FUhE post-clause
-SPACE FUhE-sa-clause <- FUhE-no-SA-handling FUhE-sa-tail
-SPACE FUhE-sa-tail <- SA-clause &FUhE-no-SA-handling / FUhE-no-SA-handling FUhE-sa-tail2 FUhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FUhE-no-SA-handling any-word-SA-handling FUhE-sa-tail
-SPACE FUhE-sa-tail2 <- SA-clause / FUhE-no-SA-handling FUhE-sa-tail2 FUhE-sa-tail2 / !SA-clause !FUhE-no-SA-handling any-word-SA-handling FUhE-sa-tail2
; close long scope for indicator
FUhO-clause <- FUhO-pre FUhO-post
-FUhO-pre <- FUhO-sa-clause? pre-clause FUhO spaces?
+FUhO-pre <- pre-clause FUhO spaces?
FUhO-post <- post-clause
SPACE FUhO-no-SA-handling <- pre-clause FUhO post-clause
-SPACE FUhO-sa-clause <- FUhO-no-SA-handling FUhO-sa-tail
-SPACE FUhO-sa-tail <- SA-clause &FUhO-no-SA-handling / FUhO-no-SA-handling FUhO-sa-tail2 FUhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !FUhO-no-SA-handling any-word-SA-handling FUhO-sa-tail
-SPACE FUhO-sa-tail2 <- SA-clause / FUhO-no-SA-handling FUhO-sa-tail2 FUhO-sa-tail2 / !SA-clause !FUhO-no-SA-handling any-word-SA-handling FUhO-sa-tail2
; geks; forethought logical connectives
GA-clause <- GA-pre GA-post
-GA-pre <- GA-sa-clause? pre-clause GA spaces?
+GA-pre <- pre-clause GA spaces?
GA-post <- post-clause
SPACE GA-no-SA-handling <- pre-clause GA post-clause
-SPACE GA-sa-clause <- GA-no-SA-handling GA-sa-tail
-SPACE GA-sa-tail <- SA-clause &GA-no-SA-handling / GA-no-SA-handling GA-sa-tail2 GA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GA-no-SA-handling any-word-SA-handling GA-sa-tail
-SPACE GA-sa-tail2 <- SA-clause / GA-no-SA-handling GA-sa-tail2 GA-sa-tail2 / !SA-clause !GA-no-SA-handling any-word-SA-handling GA-sa-tail2
; openclosed interval markers for BIhI
GAhO-clause <- GAhO-pre GAhO-post
-GAhO-pre <- GAhO-sa-clause? pre-clause GAhO spaces?
+GAhO-pre <- pre-clause GAhO spaces?
GAhO-post <- post-clause
SPACE GAhO-no-SA-handling <- pre-clause GAhO post-clause
-SPACE GAhO-sa-clause <- GAhO-no-SA-handling GAhO-sa-tail
-SPACE GAhO-sa-tail <- SA-clause &GAhO-no-SA-handling / GAhO-no-SA-handling GAhO-sa-tail2 GAhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GAhO-no-SA-handling any-word-SA-handling GAhO-sa-tail
-SPACE GAhO-sa-tail2 <- SA-clause / GAhO-no-SA-handling GAhO-sa-tail2 GAhO-sa-tail2 / !SA-clause !GAhO-no-SA-handling any-word-SA-handling GAhO-sa-tail2
; marker ending GOI relative clauses
GEhU-clause <- GEhU-pre GEhU-post
-GEhU-pre <- GEhU-sa-clause? pre-clause GEhU spaces?
+GEhU-pre <- pre-clause GEhU spaces?
GEhU-post <- post-clause
SPACE GEhU-no-SA-handling <- pre-clause GEhU post-clause
-SPACE GEhU-sa-clause <- GEhU-no-SA-handling GEhU-sa-tail
-SPACE GEhU-sa-tail <- SA-clause &GEhU-no-SA-handling / GEhU-no-SA-handling GEhU-sa-tail2 GEhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GEhU-no-SA-handling any-word-SA-handling GEhU-sa-tail
-SPACE GEhU-sa-tail2 <- SA-clause / GEhU-no-SA-handling GEhU-sa-tail2 GEhU-sa-tail2 / !SA-clause !GEhU-no-SA-handling any-word-SA-handling GEhU-sa-tail2
; forethought medial marker
GI-clause <- GI-pre GI-post
-GI-pre <- GI-sa-clause? pre-clause GI spaces?
+GI-pre <- pre-clause GI spaces?
GI-post <- post-clause
SPACE GI-no-SA-handling <- pre-clause GI post-clause
-SPACE GI-sa-clause <- GI-no-SA-handling GI-sa-tail
-SPACE GI-sa-tail <- SA-clause &GI-no-SA-handling / GI-no-SA-handling GI-sa-tail2 GI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GI-no-SA-handling any-word-SA-handling GI-sa-tail
-SPACE GI-sa-tail2 <- SA-clause / GI-no-SA-handling GI-sa-tail2 GI-sa-tail2 / !SA-clause !GI-no-SA-handling any-word-SA-handling GI-sa-tail2
; logical connectives for bridi-tails
GIhA-clause <- GIhA-pre GIhA-post
-GIhA-pre <- GIhA-sa-clause? pre-clause GIhA spaces?
+GIhA-pre <- pre-clause GIhA spaces?
GIhA-post <- post-clause
SPACE GIhA-no-SA-handling <- pre-clause GIhA post-clause
-SPACE GIhA-sa-clause <- GIhA-no-SA-handling GIhA-sa-tail
-SPACE GIhA-sa-tail <- SA-clause &GIhA-no-SA-handling / GIhA-no-SA-handling GIhA-sa-tail2 GIhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GIhA-no-SA-handling any-word-SA-handling GIhA-sa-tail
-SPACE GIhA-sa-tail2 <- SA-clause / GIhA-no-SA-handling GIhA-sa-tail2 GIhA-sa-tail2 / !SA-clause !GIhA-no-SA-handling any-word-SA-handling GIhA-sa-tail2
; attaches a sumti modifier to a sumti
GOI-clause <- GOI-pre GOI-post
-GOI-pre <- GOI-sa-clause? pre-clause GOI spaces?
+GOI-pre <- pre-clause GOI spaces?
GOI-post <- post-clause
SPACE GOI-no-SA-handling <- pre-clause GOI post-clause
-SPACE GOI-sa-clause <- GOI-no-SA-handling GOI-sa-tail
-SPACE GOI-sa-tail <- SA-clause &GOI-no-SA-handling / GOI-no-SA-handling GOI-sa-tail2 GOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GOI-no-SA-handling any-word-SA-handling GOI-sa-tail
-SPACE GOI-sa-tail2 <- SA-clause / GOI-no-SA-handling GOI-sa-tail2 GOI-sa-tail2 / !SA-clause !GOI-no-SA-handling any-word-SA-handling GOI-sa-tail2
; pro-bridi
GOhA-clause <- GOhA-pre GOhA-post
-GOhA-pre <- GOhA-sa-clause? pre-clause GOhA spaces?
+GOhA-pre <- pre-clause GOhA spaces?
GOhA-post <- post-clause
SPACE GOhA-no-SA-handling <- pre-clause GOhA post-clause
-SPACE GOhA-sa-clause <- GOhA-no-SA-handling GOhA-sa-tail
-SPACE GOhA-sa-tail <- SA-clause &GOhA-no-SA-handling / GOhA-no-SA-handling GOhA-sa-tail2 GOhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GOhA-no-SA-handling any-word-SA-handling GOhA-sa-tail
-SPACE GOhA-sa-tail2 <- SA-clause / GOhA-no-SA-handling GOhA-sa-tail2 GOhA-sa-tail2 / !SA-clause !GOhA-no-SA-handling any-word-SA-handling GOhA-sa-tail2
; GEK for tanru units, corresponds to JEKs
GUhA-clause <- GUhA-pre GUhA-post
-GUhA-pre <- GUhA-sa-clause? pre-clause GUhA spaces?
+GUhA-pre <- pre-clause GUhA spaces?
GUhA-post <- post-clause
SPACE GUhA-no-SA-handling <- pre-clause GUhA post-clause
-SPACE GUhA-sa-clause <- GUhA-no-SA-handling GUhA-sa-tail
-SPACE GUhA-sa-tail <- SA-clause &GUhA-no-SA-handling / GUhA-no-SA-handling GUhA-sa-tail2 GUhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !GUhA-no-SA-handling any-word-SA-handling GUhA-sa-tail
-SPACE GUhA-sa-tail2 <- SA-clause / GUhA-no-SA-handling GUhA-sa-tail2 GUhA-sa-tail2 / !SA-clause !GUhA-no-SA-handling any-word-SA-handling GUhA-sa-tail2
; sentence link
-I-clause <- I-pre I-post
-I-pre <- I-sa-clause? pre-clause I spaces?
+I-clause <- sentence-sa* I-pre I-post
+I-pre <- pre-clause I spaces?
I-post <- post-clause
SPACE I-no-SA-handling <- pre-clause I post-clause
-SPACE I-sa-clause <- I-no-SA-handling I-sa-tail
-SPACE I-sa-tail <- SA-clause &I-no-SA-handling / I-no-SA-handling I-sa-tail2 I-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !I-no-SA-handling any-word-SA-handling I-sa-tail
-SPACE I-sa-tail2 <- SA-clause / I-no-SA-handling I-sa-tail2 I-sa-tail2 / !SA-clause !I-no-SA-handling any-word-SA-handling I-sa-tail2
; jeks; logical connectives within tanru
JA-clause <- JA-pre JA-post
-JA-pre <- JA-sa-clause? pre-clause JA spaces?
+JA-pre <- pre-clause JA spaces?
JA-post <- post-clause
SPACE JA-no-SA-handling <- pre-clause JA post-clause
-SPACE JA-sa-clause <- JA-no-SA-handling JA-sa-tail
-SPACE JA-sa-tail <- SA-clause &JA-no-SA-handling / JA-no-SA-handling JA-sa-tail2 JA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !JA-no-SA-handling any-word-SA-handling JA-sa-tail
-SPACE JA-sa-tail2 <- SA-clause / JA-no-SA-handling JA-sa-tail2 JA-sa-tail2 / !SA-clause !JA-no-SA-handling any-word-SA-handling JA-sa-tail2
; modal conversion flag
JAI-clause <- JAI-pre JAI-post
-JAI-pre <- JAI-sa-clause? pre-clause JAI spaces?
+JAI-pre <- pre-clause JAI spaces?
JAI-post <- post-clause
SPACE JAI-no-SA-handling <- pre-clause JAI post-clause
-SPACE JAI-sa-clause <- JAI-no-SA-handling JAI-sa-tail
-SPACE JAI-sa-tail <- SA-clause &JAI-no-SA-handling / JAI-no-SA-handling JAI-sa-tail2 JAI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !JAI-no-SA-handling any-word-SA-handling JAI-sa-tail
-SPACE JAI-sa-tail2 <- SA-clause / JAI-no-SA-handling JAI-sa-tail2 JAI-sa-tail2 / !SA-clause !JAI-no-SA-handling any-word-SA-handling JAI-sa-tail2
; flags an array operand
JOhI-clause <- JOhI-pre JOhI-post
-JOhI-pre <- JOhI-sa-clause? pre-clause JOhI spaces?
+JOhI-pre <- pre-clause JOhI spaces?
JOhI-post <- post-clause
SPACE JOhI-no-SA-handling <- pre-clause JOhI post-clause
-SPACE JOhI-sa-clause <- JOhI-no-SA-handling JOhI-sa-tail
-SPACE JOhI-sa-tail <- SA-clause &JOhI-no-SA-handling / JOhI-no-SA-handling JOhI-sa-tail2 JOhI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !JOhI-no-SA-handling any-word-SA-handling JOhI-sa-tail
-SPACE JOhI-sa-tail2 <- SA-clause / JOhI-no-SA-handling JOhI-sa-tail2 JOhI-sa-tail2 / !SA-clause !JOhI-no-SA-handling any-word-SA-handling JOhI-sa-tail2
; non-logical connectives
JOI-clause <- JOI-pre JOI-post
-JOI-pre <- JOI-sa-clause? pre-clause JOI spaces?
+JOI-pre <- pre-clause JOI spaces?
JOI-post <- post-clause
SPACE JOI-no-SA-handling <- pre-clause JOI post-clause
-SPACE JOI-sa-clause <- JOI-no-SA-handling JOI-sa-tail
-SPACE JOI-sa-tail <- SA-clause &JOI-no-SA-handling / JOI-no-SA-handling JOI-sa-tail2 JOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !JOI-no-SA-handling any-word-SA-handling JOI-sa-tail
-SPACE JOI-sa-tail2 <- SA-clause / JOI-no-SA-handling JOI-sa-tail2 JOI-sa-tail2 / !SA-clause !JOI-no-SA-handling any-word-SA-handling JOI-sa-tail2
; left long scope marker
KE-clause <- KE-pre KE-post
-KE-pre <- KE-sa-clause? pre-clause KE spaces?
+KE-pre <- pre-clause KE spaces?
KE-post <- post-clause
SPACE KE-no-SA-handling <- pre-clause KE post-clause
-SPACE KE-sa-clause <- KE-no-SA-handling KE-sa-tail
-SPACE KE-sa-tail <- SA-clause &KE-no-SA-handling / KE-no-SA-handling KE-sa-tail2 KE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KE-no-SA-handling any-word-SA-handling KE-sa-tail
-SPACE KE-sa-tail2 <- SA-clause / KE-no-SA-handling KE-sa-tail2 KE-sa-tail2 / !SA-clause !KE-no-SA-handling any-word-SA-handling KE-sa-tail2
; right terminator for KE groups
KEhE-clause <- KEhE-pre KEhE-post
-KEhE-pre <- KEhE-sa-clause? pre-clause KEhE spaces?
+KEhE-pre <- pre-clause KEhE spaces?
KEhE-post <- post-clause
SPACE KEhE-no-SA-handling <- pre-clause KEhE post-clause
-SPACE KEhE-sa-clause <- KEhE-no-SA-handling KEhE-sa-tail
-SPACE KEhE-sa-tail <- SA-clause &KEhE-no-SA-handling / KEhE-no-SA-handling KEhE-sa-tail2 KEhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KEhE-no-SA-handling any-word-SA-handling KEhE-sa-tail
-SPACE KEhE-sa-tail2 <- SA-clause / KEhE-no-SA-handling KEhE-sa-tail2 KEhE-sa-tail2 / !SA-clause !KEhE-no-SA-handling any-word-SA-handling KEhE-sa-tail2
; right terminator, NU abstractions
KEI-clause <- KEI-pre KEI-post
-KEI-pre <- KEI-sa-clause? pre-clause KEI spaces?
+KEI-pre <- pre-clause KEI spaces?
KEI-post <- post-clause
SPACE KEI-no-SA-handling <- pre-clause KEI post-clause
-SPACE KEI-sa-clause <- KEI-no-SA-handling KEI-sa-tail
-SPACE KEI-sa-tail <- SA-clause &KEI-no-SA-handling / KEI-no-SA-handling KEI-sa-tail2 KEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KEI-no-SA-handling any-word-SA-handling KEI-sa-tail
-SPACE KEI-sa-tail2 <- SA-clause / KEI-no-SA-handling KEI-sa-tail2 KEI-sa-tail2 / !SA-clause !KEI-no-SA-handling any-word-SA-handling KEI-sa-tail2
; multiple utterance scope for tenses
KI-clause <- KI-pre KI-post
-KI-pre <- KI-sa-clause? pre-clause KI spaces?
+KI-pre <- pre-clause KI spaces?
KI-post <- post-clause
SPACE KI-no-SA-handling <- pre-clause KI post-clause
-SPACE KI-sa-clause <- KI-no-SA-handling KI-sa-tail
-SPACE KI-sa-tail <- SA-clause &KI-no-SA-handling / KI-no-SA-handling KI-sa-tail2 KI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KI-no-SA-handling any-word-SA-handling KI-sa-tail
-SPACE KI-sa-tail2 <- SA-clause / KI-no-SA-handling KI-sa-tail2 KI-sa-tail2 / !SA-clause !KI-no-SA-handling any-word-SA-handling KI-sa-tail2
; sumti anaphora
KOhA-clause <- KOhA-pre KOhA-post
-KOhA-pre <- KOhA-sa-clause? pre-clause KOhA spaces?
+KOhA-pre <- pre-clause KOhA spaces?
KOhA-post <- post-clause
SPACE KOhA-no-SA-handling <- pre-clause KOhA spaces?
-SPACE KOhA-sa-clause <- KOhA-no-SA-handling KOhA-sa-tail
-SPACE KOhA-sa-tail <- SA-clause &KOhA-no-SA-handling / KOhA-no-SA-handling KOhA-sa-tail2 KOhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KOhA-no-SA-handling any-word-SA-handling KOhA-sa-tail
-SPACE KOhA-sa-tail2 <- SA-clause / KOhA-no-SA-handling KOhA-sa-tail2 KOhA-sa-tail2 / !SA-clause !KOhA-no-SA-handling any-word-SA-handling KOhA-sa-tail2
; right terminator for descriptions, etc.
KU-clause <- KU-pre KU-post
-KU-pre <- KU-sa-clause? pre-clause KU spaces?
+KU-pre <- pre-clause KU spaces?
KU-post <- post-clause
SPACE KU-no-SA-handling <- pre-clause KU post-clause
-SPACE KU-sa-clause <- KU-no-SA-handling KU-sa-tail
-SPACE KU-sa-tail <- SA-clause &KU-no-SA-handling / KU-no-SA-handling KU-sa-tail2 KU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KU-no-SA-handling any-word-SA-handling KU-sa-tail
-SPACE KU-sa-tail2 <- SA-clause / KU-no-SA-handling KU-sa-tail2 KU-sa-tail2 / !SA-clause !KU-no-SA-handling any-word-SA-handling KU-sa-tail2
; MEX forethought delimiter
KUhE-clause <- KUhE-pre KUhE-post
-KUhE-pre <- KUhE-sa-clause? pre-clause KUhE spaces?
+KUhE-pre <- pre-clause KUhE spaces?
KUhE-post <- post-clause
SPACE KUhE-no-SA-handling <- pre-clause KUhE post-clause
-SPACE KUhE-sa-clause <- KUhE-no-SA-handling KUhE-sa-tail
-SPACE KUhE-sa-tail <- SA-clause &KUhE-no-SA-handling / KUhE-no-SA-handling KUhE-sa-tail2 KUhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KUhE-no-SA-handling any-word-SA-handling KUhE-sa-tail
-SPACE KUhE-sa-tail2 <- SA-clause / KUhE-no-SA-handling KUhE-sa-tail2 KUhE-sa-tail2 / !SA-clause !KUhE-no-SA-handling any-word-SA-handling KUhE-sa-tail2
; right terminator, NOI relative clauses
KUhO-clause <- KUhO-pre KUhO-post
-KUhO-pre <- KUhO-sa-clause? pre-clause KUhO spaces?
+KUhO-pre <- pre-clause KUhO spaces?
KUhO-post <- post-clause
SPACE KUhO-no-SA-handling <- pre-clause KUhO post-clause
-SPACE KUhO-sa-clause <- KUhO-no-SA-handling KUhO-sa-tail
-SPACE KUhO-sa-tail <- SA-clause &KUhO-no-SA-handling / KUhO-no-SA-handling KUhO-sa-tail2 KUhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !KUhO-no-SA-handling any-word-SA-handling KUhO-sa-tail
-SPACE KUhO-sa-tail2 <- SA-clause / KUhO-no-SA-handling KUhO-sa-tail2 KUhO-sa-tail2 / !SA-clause !KUhO-no-SA-handling any-word-SA-handling KUhO-sa-tail2
; name descriptors
LA-clause <- LA-pre LA-post
-LA-pre <- LA-sa-clause? pre-clause LA spaces?
+LA-pre <- pre-clause LA spaces?
LA-post <- post-clause
SPACE LA-no-SA-handling <- pre-clause LA post-clause
-SPACE LA-sa-clause <- LA-no-SA-handling LA-sa-tail
-SPACE LA-sa-tail <- SA-clause &LA-no-SA-handling / LA-no-SA-handling LA-sa-tail2 LA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LA-no-SA-handling any-word-SA-handling LA-sa-tail
-SPACE LA-sa-tail2 <- SA-clause / LA-no-SA-handling LA-sa-tail2 LA-sa-tail2 / !SA-clause !LA-no-SA-handling any-word-SA-handling LA-sa-tail2
; lerfu prefixes
LAU-clause <- LAU-pre LAU-post
-LAU-pre <- LAU-sa-clause? pre-clause LAU spaces?
+LAU-pre <- pre-clause LAU spaces?
LAU-post <- post-clause
SPACE LAU-no-SA-handling <- pre-clause LAU post-clause
-SPACE LAU-sa-clause <- LAU-no-SA-handling LAU-sa-tail
-SPACE LAU-sa-tail <- SA-clause &LAU-no-SA-handling / LAU-no-SA-handling LAU-sa-tail2 LAU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LAU-no-SA-handling any-word-SA-handling LAU-sa-tail
-SPACE LAU-sa-tail2 <- SA-clause / LAU-no-SA-handling LAU-sa-tail2 LAU-sa-tail2 / !SA-clause !LAU-no-SA-handling any-word-SA-handling LAU-sa-tail2
; sumti qualifiers
LAhE-clause <- LAhE-pre LAhE-post
-LAhE-pre <- LAhE-sa-clause? pre-clause LAhE spaces?
+LAhE-pre <- pre-clause LAhE spaces?
LAhE-post <- post-clause
SPACE LAhE-no-SA-handling <- pre-clause LAhE post-clause
-SPACE LAhE-sa-clause <- LAhE-no-SA-handling LAhE-sa-tail
-SPACE LAhE-sa-tail <- SA-clause &LAhE-no-SA-handling / LAhE-no-SA-handling LAhE-sa-tail2 LAhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LAhE-no-SA-handling any-word-SA-handling LAhE-sa-tail
-SPACE LAhE-sa-tail2 <- SA-clause / LAhE-no-SA-handling LAhE-sa-tail2 LAhE-sa-tail2 / !SA-clause !LAhE-no-SA-handling any-word-SA-handling LAhE-sa-tail2
; sumti descriptors
LE-clause <- LE-pre LE-post
-LE-pre <- LE-sa-clause? pre-clause LE spaces?
+LE-pre <- pre-clause LE spaces?
LE-post <- post-clause
SPACE LE-no-SA-handling <- pre-clause LE post-clause
-SPACE LE-sa-clause <- LE-no-SA-handling LE-sa-tail
-SPACE LE-sa-tail <- SA-clause &LE-no-SA-handling / LE-no-SA-handling LE-sa-tail2 LE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LE-no-SA-handling any-word-SA-handling LE-sa-tail
-SPACE LE-sa-tail2 <- SA-clause / LE-no-SA-handling LE-sa-tail2 LE-sa-tail2 / !SA-clause !LE-no-SA-handling any-word-SA-handling LE-sa-tail2
; possibly ungrammatical text right quote
LEhU-clause <- LEhU-pre LEhU-post
-LEhU-pre <- LEhU-sa-clause? pre-clause LEhU spaces?
+LEhU-pre <- pre-clause LEhU spaces?
LEhU-post <- spaces?
LEhU-clause-no-SA <- LEhU-pre-no-SA LEhU-post
LEhU-pre-no-SA <- pre-clause LEhU spaces?
SPACE LEhU-no-SA-handling <- pre-clause LEhU post-clause
-SPACE LEhU-sa-clause <- LEhU-no-SA-handling LEhU-sa-tail
-SPACE LEhU-sa-tail <- SA-clause &LEhU-no-SA-handling / LEhU-no-SA-handling LEhU-sa-tail2 LEhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LEhU-no-SA-handling any-word-SA-handling LEhU-sa-tail
-SPACE LEhU-sa-tail2 <- SA-clause / LEhU-no-SA-handling LEhU-sa-tail2 LEhU-sa-tail2 / !SA-clause !LEhU-no-SA-handling any-word-SA-handling LEhU-sa-tail2
; convert number to sumti
LI-clause <- LI-pre LI-post
-LI-pre <- LI-sa-clause? pre-clause LI spaces?
+LI-pre <- pre-clause LI spaces?
LI-post <- post-clause
SPACE LI-no-SA-handling <- pre-clause LI post-clause
-SPACE LI-sa-clause <- LI-no-SA-handling LI-sa-tail
-SPACE LI-sa-tail <- SA-clause &LI-no-SA-handling / LI-no-SA-handling LI-sa-tail2 LI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LI-no-SA-handling any-word-SA-handling LI-sa-tail
-SPACE LI-sa-tail2 <- SA-clause / LI-no-SA-handling LI-sa-tail2 LI-sa-tail2 / !SA-clause !LI-no-SA-handling any-word-SA-handling LI-sa-tail2
; grammatical text right quote
LIhU-clause <- LIhU-pre LIhU-post
-LIhU-pre <- LIhU-sa-clause? pre-clause LIhU spaces?
+LIhU-pre <- pre-clause LIhU spaces?
LIhU-post <- post-clause
SPACE LIhU-no-SA-handling <- pre-clause LIhU post-clause
-SPACE LIhU-sa-clause <- LIhU-no-SA-handling LIhU-sa-tail
-SPACE LIhU-sa-tail <- SA-clause &LIhU-no-SA-handling / LIhU-no-SA-handling LIhU-sa-tail2 LIhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LIhU-no-SA-handling any-word-SA-handling LIhU-sa-tail
-SPACE LIhU-sa-tail2 <- SA-clause / LIhU-no-SA-handling LIhU-sa-tail2 LIhU-sa-tail2 / !SA-clause !LIhU-no-SA-handling any-word-SA-handling LIhU-sa-tail2
; elidable terminator for LI
LOhO-clause <- LOhO-pre LOhO-post
-LOhO-pre <- LOhO-sa-clause? pre-clause LOhO spaces?
+LOhO-pre <- pre-clause LOhO spaces?
LOhO-post <- post-clause
SPACE LOhO-no-SA-handling <- pre-clause LOhO post-clause
-SPACE LOhO-sa-clause <- LOhO-no-SA-handling LOhO-sa-tail
-SPACE LOhO-sa-tail <- SA-clause &LOhO-no-SA-handling / LOhO-no-SA-handling LOhO-sa-tail2 LOhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LOhO-no-SA-handling any-word-SA-handling LOhO-sa-tail
-SPACE LOhO-sa-tail2 <- SA-clause / LOhO-no-SA-handling LOhO-sa-tail2 LOhO-sa-tail2 / !SA-clause !LOhO-no-SA-handling any-word-SA-handling LOhO-sa-tail2
; possibly ungrammatical text left quote
-;; LOhU-clause <- LOhU-pre LOhU-post
-;; LOhU-pre <- LOhU-sa-clause? pre-clause LOhU spaces?
-;; LOhU-post <- spaces?
-;; LOhU-clause-no-SA <- LOhU-pre-no-SA LOhU-post
-;; LOhU-pre-no-SA <- pre-clause LOhU spaces?
-;; SPACE LOhU-no-SA-handling <- lohu-lehu-quote-no-SA / pre-clause LOhU post-clause
LOhU-clause <- LOhU-pre LOhU-post
-LOhU-pre <- LOhU-sa-clause? pre-clause LOhU spaces? (!LEhU any-word)* LEhU-clause spaces?
+LOhU-pre <- pre-clause LOhU spaces? (!LEhU any-word)* LEhU-clause spaces?
LOhU-post <- post-clause
SPACE LOhU-no-SA-handling <- pre-clause LOhU spaces? (!LEhU any-word)* LEhU-clause spaces?
-SPACE LOhU-sa-clause <- LOhU-no-SA-handling LOhU-sa-tail
-SPACE LOhU-sa-tail <- SA-clause &LOhU-no-SA-handling / LOhU-no-SA-handling LOhU-sa-tail2 LOhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LOhU-no-SA-handling any-word-SA-handling LOhU-sa-tail
-SPACE LOhU-sa-tail2 <- SA-clause / LOhU-no-SA-handling LOhU-sa-tail2 LOhU-sa-tail2 / !SA-clause !LOhU-no-SA-handling any-word-SA-handling LOhU-sa-tail2
; grammatical text left quote
LU-clause <- LU-pre LU-post
-LU-pre <- LU-sa-clause? pre-clause LU spaces?
+LU-pre <- pre-clause LU spaces?
LU-post <- post-clause
SPACE LU-no-SA-handling <- pre-clause LU post-clause
-SPACE LU-sa-clause <- LU-no-SA-handling LU-sa-tail
-SPACE LU-sa-tail <- SA-clause &LU-no-SA-handling / LU-no-SA-handling LU-sa-tail2 LU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LU-no-SA-handling any-word-SA-handling LU-sa-tail
-SPACE LU-sa-tail2 <- SA-clause / LU-no-SA-handling LU-sa-tail2 LU-sa-tail2 / !SA-clause !LU-no-SA-handling any-word-SA-handling LU-sa-tail2
; LAhE close delimiter
LUhU-clause <- LUhU-pre LUhU-post
-LUhU-pre <- LUhU-sa-clause? pre-clause LUhU spaces?
+LUhU-pre <- pre-clause LUhU spaces?
LUhU-post <- post-clause
SPACE LUhU-no-SA-handling <- pre-clause LUhU post-clause
-SPACE LUhU-sa-clause <- LUhU-no-SA-handling LUhU-sa-tail
-SPACE LUhU-sa-tail <- SA-clause &LUhU-no-SA-handling / LUhU-no-SA-handling LUhU-sa-tail2 LUhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !LUhU-no-SA-handling any-word-SA-handling LUhU-sa-tail
-SPACE LUhU-sa-tail2 <- SA-clause / LUhU-no-SA-handling LUhU-sa-tail2 LUhU-sa-tail2 / !SA-clause !LUhU-no-SA-handling any-word-SA-handling LUhU-sa-tail2
; change MEX expressions to MEX operators
MAhO-clause <- MAhO-pre MAhO-post
-MAhO-pre <- MAhO-sa-clause? pre-clause MAhO spaces?
+MAhO-pre <- pre-clause MAhO spaces?
MAhO-post <- post-clause
SPACE MAhO-no-SA-handling <- pre-clause MAhO post-clause
-SPACE MAhO-sa-clause <- MAhO-no-SA-handling MAhO-sa-tail
-SPACE MAhO-sa-tail <- SA-clause &MAhO-no-SA-handling / MAhO-no-SA-handling MAhO-sa-tail2 MAhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !MAhO-no-SA-handling any-word-SA-handling MAhO-sa-tail
-SPACE MAhO-sa-tail2 <- SA-clause / MAhO-no-SA-handling MAhO-sa-tail2 MAhO-sa-tail2 / !SA-clause !MAhO-no-SA-handling any-word-SA-handling MAhO-sa-tail2
; change numbers to utterance ordinals
MAI-clause <- MAI-pre MAI-post
-MAI-pre <- MAI-sa-clause? pre-clause MAI spaces?
+MAI-pre <- pre-clause MAI spaces?
MAI-post <- post-clause
SPACE MAI-no-SA-handling <- pre-clause MAI post-clause
-SPACE MAI-sa-clause <- MAI-no-SA-handling MAI-sa-tail
-SPACE MAI-sa-tail <- SA-clause &MAI-no-SA-handling / MAI-no-SA-handling MAI-sa-tail2 MAI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !MAI-no-SA-handling any-word-SA-handling MAI-sa-tail
-SPACE MAI-sa-tail2 <- SA-clause / MAI-no-SA-handling MAI-sa-tail2 MAI-sa-tail2 / !SA-clause !MAI-no-SA-handling any-word-SA-handling MAI-sa-tail2
; converts a sumti into a tanru_unit
ME-clause <- ME-pre ME-post
-ME-pre <- ME-sa-clause? pre-clause ME spaces?
+ME-pre <- pre-clause ME spaces?
ME-post <- post-clause
SPACE ME-no-SA-handling <- pre-clause ME post-clause
-SPACE ME-sa-clause <- ME-no-SA-handling ME-sa-tail
-SPACE ME-sa-tail <- SA-clause &ME-no-SA-handling / ME-no-SA-handling ME-sa-tail2 ME-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ME-no-SA-handling any-word-SA-handling ME-sa-tail
-SPACE ME-sa-tail2 <- SA-clause / ME-no-SA-handling ME-sa-tail2 ME-sa-tail2 / !SA-clause !ME-no-SA-handling any-word-SA-handling ME-sa-tail2
; terminator for ME
MEhU-clause <- MEhU-pre MEhU-post
-MEhU-pre <- MEhU-sa-clause? pre-clause MEhU spaces?
+MEhU-pre <- pre-clause MEhU spaces?
MEhU-post <- post-clause
SPACE MEhU-no-SA-handling <- pre-clause MEhU post-clause
-SPACE MEhU-sa-clause <- MEhU-no-SA-handling MEhU-sa-tail
-SPACE MEhU-sa-tail <- SA-clause &MEhU-no-SA-handling / MEhU-no-SA-handling MEhU-sa-tail2 MEhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !MEhU-no-SA-handling any-word-SA-handling MEhU-sa-tail
-SPACE MEhU-sa-tail2 <- SA-clause / MEhU-no-SA-handling MEhU-sa-tail2 MEhU-sa-tail2 / !SA-clause !MEhU-no-SA-handling any-word-SA-handling MEhU-sa-tail2
; change sumti to operand, inverse of LI
MOhE-clause <- MOhE-pre MOhE-post
-MOhE-pre <- MOhE-sa-clause? pre-clause MOhE spaces?
+MOhE-pre <- pre-clause MOhE spaces?
MOhE-post <- post-clause
SPACE MOhE-no-SA-handling <- pre-clause MOhE post-clause
-SPACE MOhE-sa-clause <- MOhE-no-SA-handling MOhE-sa-tail
-SPACE MOhE-sa-tail <- SA-clause &MOhE-no-SA-handling / MOhE-no-SA-handling MOhE-sa-tail2 MOhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !MOhE-no-SA-handling any-word-SA-handling MOhE-sa-tail
-SPACE MOhE-sa-tail2 <- SA-clause / MOhE-no-SA-handling MOhE-sa-tail2 MOhE-sa-tail2 / !SA-clause !MOhE-no-SA-handling any-word-SA-handling MOhE-sa-tail2
; motion tense marker
MOhI-clause <- MOhI-pre MOhI-post
-MOhI-pre <- MOhI-sa-clause? pre-clause MOhI spaces?
+MOhI-pre <- pre-clause MOhI spaces?
MOhI-post <- post-clause
SPACE MOhI-no-SA-handling <- pre-clause MOhI post-clause
-SPACE MOhI-sa-clause <- MOhI-no-SA-handling MOhI-sa-tail
-SPACE MOhI-sa-tail <- SA-clause &MOhI-no-SA-handling / MOhI-no-SA-handling MOhI-sa-tail2 MOhI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !MOhI-no-SA-handling any-word-SA-handling MOhI-sa-tail
-SPACE MOhI-sa-tail2 <- SA-clause / MOhI-no-SA-handling MOhI-sa-tail2 MOhI-sa-tail2 / !SA-clause !MOhI-no-SA-handling any-word-SA-handling MOhI-sa-tail2
; change number to selbri
MOI-clause <- MOI-pre MOI-post
-MOI-pre <- MOI-sa-clause? pre-clause MOI spaces?
+MOI-pre <- pre-clause MOI spaces?
MOI-post <- post-clause
SPACE MOI-no-SA-handling <- pre-clause MOI post-clause
-SPACE MOI-sa-clause <- MOI-no-SA-handling MOI-sa-tail
-SPACE MOI-sa-tail <- SA-clause &MOI-no-SA-handling / MOI-no-SA-handling MOI-sa-tail2 MOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !MOI-no-SA-handling any-word-SA-handling MOI-sa-tail
-SPACE MOI-sa-tail2 <- SA-clause / MOI-no-SA-handling MOI-sa-tail2 MOI-sa-tail2 / !SA-clause !MOI-no-SA-handling any-word-SA-handling MOI-sa-tail2
; bridi negation
NA-clause <- NA-pre NA-post
-NA-pre <- NA-sa-clause? pre-clause NA spaces?
+NA-pre <- pre-clause NA spaces?
NA-post <- post-clause
SPACE NA-no-SA-handling <- pre-clause NA post-clause
-SPACE NA-sa-clause <- NA-no-SA-handling NA-sa-tail
-SPACE NA-sa-tail <- SA-clause &NA-no-SA-handling / NA-no-SA-handling NA-sa-tail2 NA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NA-no-SA-handling any-word-SA-handling NA-sa-tail
-SPACE NA-sa-tail2 <- SA-clause / NA-no-SA-handling NA-sa-tail2 NA-sa-tail2 / !SA-clause !NA-no-SA-handling any-word-SA-handling NA-sa-tail2
; attached to words to negate them
NAI-clause <- NAI-pre NAI-post
-NAI-pre <- NAI-sa-clause? pre-clause NAI spaces?
+NAI-pre <- pre-clause NAI spaces?
NAI-post <- post-clause
SPACE NAI-no-SA-handling <- pre-clause NAI post-clause
-SPACE NAI-sa-clause <- NAI-no-SA-handling NAI-sa-tail
-SPACE NAI-sa-tail <- SA-clause &NAI-no-SA-handling / NAI-no-SA-handling NAI-sa-tail2 NAI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NAI-no-SA-handling any-word-SA-handling NAI-sa-tail
-SPACE NAI-sa-tail2 <- SA-clause / NAI-no-SA-handling NAI-sa-tail2 NAI-sa-tail2 / !SA-clause !NAI-no-SA-handling any-word-SA-handling NAI-sa-tail2
; scalar negation
NAhE-clause <- NAhE-pre NAhE-post
-NAhE-pre <- NAhE-sa-clause? pre-clause NAhE spaces?
+NAhE-pre <- pre-clause NAhE spaces?
NAhE-post <- post-clause
SPACE NAhE-no-SA-handling <- pre-clause NAhE post-clause
-SPACE NAhE-sa-clause <- NAhE-no-SA-handling NAhE-sa-tail
-SPACE NAhE-sa-tail <- SA-clause &NAhE-no-SA-handling / NAhE-no-SA-handling NAhE-sa-tail2 NAhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NAhE-no-SA-handling any-word-SA-handling NAhE-sa-tail
-SPACE NAhE-sa-tail2 <- SA-clause / NAhE-no-SA-handling NAhE-sa-tail2 NAhE-sa-tail2 / !SA-clause !NAhE-no-SA-handling any-word-SA-handling NAhE-sa-tail2
; change a selbri into an operator
NAhU-clause <- NAhU-pre NAhU-post
-NAhU-pre <- NAhU-sa-clause? pre-clause NAhU spaces?
+NAhU-pre <- pre-clause NAhU spaces?
NAhU-post <- post-clause
SPACE NAhU-no-SA-handling <- pre-clause NAhU post-clause
-SPACE NAhU-sa-clause <- NAhU-no-SA-handling NAhU-sa-tail
-SPACE NAhU-sa-tail <- SA-clause &NAhU-no-SA-handling / NAhU-no-SA-handling NAhU-sa-tail2 NAhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NAhU-no-SA-handling any-word-SA-handling NAhU-sa-tail
-SPACE NAhU-sa-tail2 <- SA-clause / NAhU-no-SA-handling NAhU-sa-tail2 NAhU-sa-tail2 / !SA-clause !NAhU-no-SA-handling any-word-SA-handling NAhU-sa-tail2
; change selbri to operand; inverse of MOI
NIhE-clause <- NIhE-pre NIhE-post
-NIhE-pre <- NIhE-sa-clause? pre-clause NIhE spaces?
+NIhE-pre <- pre-clause NIhE spaces?
NIhE-post <- post-clause
SPACE NIhE-no-SA-handling <- pre-clause NIhE post-clause
-SPACE NIhE-sa-clause <- NIhE-no-SA-handling NIhE-sa-tail
-SPACE NIhE-sa-tail <- SA-clause &NIhE-no-SA-handling / NIhE-no-SA-handling NIhE-sa-tail2 NIhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NIhE-no-SA-handling any-word-SA-handling NIhE-sa-tail
-SPACE NIhE-sa-tail2 <- SA-clause / NIhE-no-SA-handling NIhE-sa-tail2 NIhE-sa-tail2 / !SA-clause !NIhE-no-SA-handling any-word-SA-handling NIhE-sa-tail2
; new paragraph; change of subject
-NIhO-clause <- NIhO-pre NIhO-post
-NIhO-pre <- NIhO-sa-clause? pre-clause NIhO spaces?
+NIhO-clause <- sentence-sa* NIhO-pre NIhO-post
+NIhO-pre <- pre-clause NIhO spaces?
NIhO-post <- su-clause* post-clause
SPACE NIhO-no-SA-handling <- pre-clause NIhO su-clause* post-clause
-SPACE NIhO-sa-clause <- NIhO-no-SA-handling NIhO-sa-tail
-SPACE NIhO-sa-tail <- SA-clause &NIhO-no-SA-handling / NIhO-no-SA-handling NIhO-sa-tail2 NIhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NIhO-no-SA-handling any-word-SA-handling NIhO-sa-tail
-SPACE NIhO-sa-tail2 <- SA-clause / NIhO-no-SA-handling NIhO-sa-tail2 NIhO-sa-tail2 / !SA-clause !NIhO-no-SA-handling any-word-SA-handling NIhO-sa-tail2
; attaches a subordinate clause to a sumti
NOI-clause <- NOI-pre NOI-post
-NOI-pre <- NOI-sa-clause? pre-clause NOI spaces?
+NOI-pre <- pre-clause NOI spaces?
NOI-post <- post-clause
SPACE NOI-no-SA-handling <- pre-clause NOI post-clause
-SPACE NOI-sa-clause <- NOI-no-SA-handling NOI-sa-tail
-SPACE NOI-sa-tail <- SA-clause &NOI-no-SA-handling / NOI-no-SA-handling NOI-sa-tail2 NOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NOI-no-SA-handling any-word-SA-handling NOI-sa-tail
-SPACE NOI-sa-tail2 <- SA-clause / NOI-no-SA-handling NOI-sa-tail2 NOI-sa-tail2 / !SA-clause !NOI-no-SA-handling any-word-SA-handling NOI-sa-tail2
; abstraction
NU-clause <- NU-pre NU-post
-NU-pre <- NU-sa-clause? pre-clause NU spaces?
+NU-pre <- pre-clause NU spaces?
NU-post <- post-clause
SPACE NU-no-SA-handling <- pre-clause NU post-clause
-SPACE NU-sa-clause <- NU-no-SA-handling NU-sa-tail
-SPACE NU-sa-tail <- SA-clause &NU-no-SA-handling / NU-no-SA-handling NU-sa-tail2 NU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NU-no-SA-handling any-word-SA-handling NU-sa-tail
-SPACE NU-sa-tail2 <- SA-clause / NU-no-SA-handling NU-sa-tail2 NU-sa-tail2 / !SA-clause !NU-no-SA-handling any-word-SA-handling NU-sa-tail2
; change operator to selbri; inverse of MOhE
NUhA-clause <- NUhA-pre NUhA-post
-NUhA-pre <- NUhA-sa-clause? pre-clause NUhA spaces?
+NUhA-pre <- pre-clause NUhA spaces?
NUhA-post <- post-clause
SPACE NUhA-no-SA-handling <- pre-clause NUhA post-clause
-SPACE NUhA-sa-clause <- NUhA-no-SA-handling NUhA-sa-tail
-SPACE NUhA-sa-tail <- SA-clause &NUhA-no-SA-handling / NUhA-no-SA-handling NUhA-sa-tail2 NUhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NUhA-no-SA-handling any-word-SA-handling NUhA-sa-tail
-SPACE NUhA-sa-tail2 <- SA-clause / NUhA-no-SA-handling NUhA-sa-tail2 NUhA-sa-tail2 / !SA-clause !NUhA-no-SA-handling any-word-SA-handling NUhA-sa-tail2
; marks the start of a termset
NUhI-clause <- NUhI-pre NUhI-post
-NUhI-pre <- NUhI-sa-clause? pre-clause NUhI spaces?
+NUhI-pre <- pre-clause NUhI spaces?
NUhI-post <- post-clause
SPACE NUhI-no-SA-handling <- pre-clause NUhI post-clause
-SPACE NUhI-sa-clause <- NUhI-no-SA-handling NUhI-sa-tail
-SPACE NUhI-sa-tail <- SA-clause &NUhI-no-SA-handling / NUhI-no-SA-handling NUhI-sa-tail2 NUhI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NUhI-no-SA-handling any-word-SA-handling NUhI-sa-tail
-SPACE NUhI-sa-tail2 <- SA-clause / NUhI-no-SA-handling NUhI-sa-tail2 NUhI-sa-tail2 / !SA-clause !NUhI-no-SA-handling any-word-SA-handling NUhI-sa-tail2
; marks the middle and end of a termset
NUhU-clause <- NUhU-pre NUhU-post
-NUhU-pre <- NUhU-sa-clause? pre-clause NUhU spaces?
+NUhU-pre <- pre-clause NUhU spaces?
NUhU-post <- post-clause
SPACE NUhU-no-SA-handling <- pre-clause NUhU post-clause
-SPACE NUhU-sa-clause <- NUhU-no-SA-handling NUhU-sa-tail
-SPACE NUhU-sa-tail <- SA-clause &NUhU-no-SA-handling / NUhU-no-SA-handling NUhU-sa-tail2 NUhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !NUhU-no-SA-handling any-word-SA-handling NUhU-sa-tail
-SPACE NUhU-sa-tail2 <- SA-clause / NUhU-no-SA-handling NUhU-sa-tail2 NUhU-sa-tail2 / !SA-clause !NUhU-no-SA-handling any-word-SA-handling NUhU-sa-tail2
; numbers and numeric punctuation
PA-clause <- PA-pre PA-post
-PA-pre <- PA-sa-clause? pre-clause PA spaces?
+PA-pre <- pre-clause PA spaces?
PA-post <- post-clause
SPACE PA-no-SA-handling <- pre-clause PA post-clause
-SPACE PA-sa-clause <- PA-no-SA-handling PA-sa-tail
-SPACE PA-sa-tail <- SA-clause &PA-no-SA-handling / PA-no-SA-handling PA-sa-tail2 PA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !PA-no-SA-handling any-word-SA-handling PA-sa-tail
-SPACE PA-sa-tail2 <- SA-clause / PA-no-SA-handling PA-sa-tail2 PA-sa-tail2 / !SA-clause !PA-no-SA-handling any-word-SA-handling PA-sa-tail2
; afterthought termset connective prefix
PEhE-clause <- PEhE-pre PEhE-post
-PEhE-pre <- PEhE-sa-clause? pre-clause PEhE spaces?
+PEhE-pre <- pre-clause PEhE spaces?
PEhE-post <- post-clause
SPACE PEhE-no-SA-handling <- pre-clause PEhE post-clause
-SPACE PEhE-sa-clause <- PEhE-no-SA-handling PEhE-sa-tail
-SPACE PEhE-sa-tail <- SA-clause &PEhE-no-SA-handling / PEhE-no-SA-handling PEhE-sa-tail2 PEhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !PEhE-no-SA-handling any-word-SA-handling PEhE-sa-tail
-SPACE PEhE-sa-tail2 <- SA-clause / PEhE-no-SA-handling PEhE-sa-tail2 PEhE-sa-tail2 / !SA-clause !PEhE-no-SA-handling any-word-SA-handling PEhE-sa-tail2
; forethought (Polish) flag
PEhO-clause <- PEhO-pre PEhO-post
-PEhO-pre <- PEhO-sa-clause? pre-clause PEhO spaces?
+PEhO-pre <- pre-clause PEhO spaces?
PEhO-post <- post-clause
SPACE PEhO-no-SA-handling <- pre-clause PEhO post-clause
-SPACE PEhO-sa-clause <- PEhO-no-SA-handling PEhO-sa-tail
-SPACE PEhO-sa-tail <- SA-clause &PEhO-no-SA-handling / PEhO-no-SA-handling PEhO-sa-tail2 PEhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !PEhO-no-SA-handling any-word-SA-handling PEhO-sa-tail
-SPACE PEhO-sa-tail2 <- SA-clause / PEhO-no-SA-handling PEhO-sa-tail2 PEhO-sa-tail2 / !SA-clause !PEhO-no-SA-handling any-word-SA-handling PEhO-sa-tail2
; directions in time
PU-clause <- PU-pre PU-post
-PU-pre <- PU-sa-clause? pre-clause PU spaces?
+PU-pre <- pre-clause PU spaces?
PU-post <- post-clause
SPACE PU-no-SA-handling <- pre-clause PU post-clause
-SPACE PU-sa-clause <- PU-no-SA-handling PU-sa-tail
-SPACE PU-sa-tail <- SA-clause &PU-no-SA-handling / PU-no-SA-handling PU-sa-tail2 PU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !PU-no-SA-handling any-word-SA-handling PU-sa-tail
-SPACE PU-sa-tail2 <- SA-clause / PU-no-SA-handling PU-sa-tail2 PU-sa-tail2 / !SA-clause !PU-no-SA-handling any-word-SA-handling PU-sa-tail2
; flag for modified interpretation of GOhI
RAhO-clause <- RAhO-pre RAhO-post
-RAhO-pre <- RAhO-sa-clause? pre-clause RAhO spaces?
+RAhO-pre <- pre-clause RAhO spaces?
RAhO-post <- post-clause
SPACE RAhO-no-SA-handling <- pre-clause RAhO post-clause
-SPACE RAhO-sa-clause <- RAhO-no-SA-handling RAhO-sa-tail
-SPACE RAhO-sa-tail <- SA-clause &RAhO-no-SA-handling / RAhO-no-SA-handling RAhO-sa-tail2 RAhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !RAhO-no-SA-handling any-word-SA-handling RAhO-sa-tail
-SPACE RAhO-sa-tail2 <- SA-clause / RAhO-no-SA-handling RAhO-sa-tail2 RAhO-sa-tail2 / !SA-clause !RAhO-no-SA-handling any-word-SA-handling RAhO-sa-tail2
; converts number to extensional tense
ROI-clause <- ROI-pre ROI-post
-ROI-pre <- ROI-sa-clause? pre-clause ROI spaces?
+ROI-pre <- pre-clause ROI spaces?
ROI-post <- post-clause
SPACE ROI-no-SA-handling <- pre-clause ROI post-clause
-SPACE ROI-sa-clause <- ROI-no-SA-handling ROI-sa-tail
-SPACE ROI-sa-tail <- SA-clause &ROI-no-SA-handling / ROI-no-SA-handling ROI-sa-tail2 ROI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ROI-no-SA-handling any-word-SA-handling ROI-sa-tail
-SPACE ROI-sa-tail2 <- SA-clause / ROI-no-SA-handling ROI-sa-tail2 ROI-sa-tail2 / !SA-clause !ROI-no-SA-handling any-word-SA-handling ROI-sa-tail2
SA-clause <- SA-pre SA-post
SA-pre <- pre-clause SA spaces?
@@ -1177,42 +957,30 @@
; conversions
SE-clause <- SE-pre SE-post
-SE-pre <- SE-sa-clause? pre-clause SE spaces?
+SE-pre <- pre-clause SE spaces?
SE-post <- post-clause
SPACE SE-no-SA-handling <- pre-clause SE post-clause
-SPACE SE-sa-clause <- SE-no-SA-handling SE-sa-tail
-SPACE SE-sa-tail <- SA-clause &SE-no-SA-handling / SE-no-SA-handling SE-sa-tail2 SE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !SE-no-SA-handling any-word-SA-handling SE-sa-tail
-SPACE SE-sa-tail2 <- SA-clause / SE-no-SA-handling SE-sa-tail2 SE-sa-tail2 / !SA-clause !SE-no-SA-handling any-word-SA-handling SE-sa-tail2
; metalinguistic bridi insert marker
SEI-clause <- SEI-pre SEI-post
-SEI-pre <- SEI-sa-clause? pre-clause SEI spaces?
+SEI-pre <- pre-clause SEI spaces?
SEI-post <- post-clause
SPACE SEI-no-SA-handling <- pre-clause SEI post-clause
-SPACE SEI-sa-clause <- SEI-no-SA-handling SEI-sa-tail
-SPACE SEI-sa-tail <- SA-clause &SEI-no-SA-handling / SEI-no-SA-handling SEI-sa-tail2 SEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !SEI-no-SA-handling any-word-SA-handling SEI-sa-tail
-SPACE SEI-sa-tail2 <- SA-clause / SEI-no-SA-handling SEI-sa-tail2 SEI-sa-tail2 / !SA-clause !SEI-no-SA-handling any-word-SA-handling SEI-sa-tail2
; metalinguistic bridi end marker
SEhU-clause <- SEhU-pre SEhU-post
-SEhU-pre <- SEhU-sa-clause? pre-clause SEhU spaces?
+SEhU-pre <- pre-clause SEhU spaces?
SEhU-post <- post-clause
SPACE SEhU-no-SA-handling <- pre-clause SEhU post-clause
-SPACE SEhU-sa-clause <- SEhU-no-SA-handling SEhU-sa-tail
-SPACE SEhU-sa-tail <- SA-clause &SEhU-no-SA-handling / SEhU-no-SA-handling SEhU-sa-tail2 SEhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !SEhU-no-SA-handling any-word-SA-handling SEhU-sa-tail
-SPACE SEhU-sa-tail2 <- SA-clause / SEhU-no-SA-handling SEhU-sa-tail2 SEhU-sa-tail2 / !SA-clause !SEhU-no-SA-handling any-word-SA-handling SEhU-sa-tail2
; metalinguistic single word eraser
SI-clause <- spaces? SI spaces?
; reciprocal sumti marker
SOI-clause <- SOI-pre SOI-post
-SOI-pre <- SOI-sa-clause? pre-clause SOI spaces?
+SOI-pre <- pre-clause SOI spaces?
SOI-post <- post-clause
SPACE SOI-no-SA-handling <- pre-clause SOI post-clause
-SPACE SOI-sa-clause <- SOI-no-SA-handling SOI-sa-tail
-SPACE SOI-sa-tail <- SA-clause &SOI-no-SA-handling / SOI-no-SA-handling SOI-sa-tail2 SOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !SOI-no-SA-handling any-word-SA-handling SOI-sa-tail
-SPACE SOI-sa-tail2 <- SA-clause / SOI-no-SA-handling SOI-sa-tail2 SOI-sa-tail2 / !SA-clause !SOI-no-SA-handling any-word-SA-handling SOI-sa-tail2
; metalinguistic eraser of the entire text
SU-clause <- SU-pre SU-post
@@ -1222,159 +990,108 @@
; tense interval properties
TAhE-clause <- TAhE-pre TAhE-post
-TAhE-pre <- TAhE-sa-clause? pre-clause TAhE spaces?
+TAhE-pre <- pre-clause TAhE spaces?
TAhE-post <- post-clause
SPACE TAhE-no-SA-handling <- pre-clause TAhE post-clause
-SPACE TAhE-sa-clause <- TAhE-no-SA-handling TAhE-sa-tail
-SPACE TAhE-sa-tail <- SA-clause &TAhE-no-SA-handling / TAhE-no-SA-handling TAhE-sa-tail2 TAhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TAhE-no-SA-handling any-word-SA-handling TAhE-sa-tail
-SPACE TAhE-sa-tail2 <- SA-clause / TAhE-no-SA-handling TAhE-sa-tail2 TAhE-sa-tail2 / !SA-clause !TAhE-no-SA-handling any-word-SA-handling TAhE-sa-tail2
; closing gap for MEX constructs
TEhU-clause <- TEhU-pre TEhU-post
-TEhU-pre <- TEhU-sa-clause? pre-clause TEhU spaces?
+TEhU-pre <- pre-clause TEhU spaces?
TEhU-post <- post-clause
SPACE TEhU-no-SA-handling <- pre-clause TEhU post-clause
-SPACE TEhU-sa-clause <- TEhU-no-SA-handling TEhU-sa-tail
-SPACE TEhU-sa-tail <- SA-clause &TEhU-no-SA-handling / TEhU-no-SA-handling TEhU-sa-tail2 TEhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TEhU-no-SA-handling any-word-SA-handling TEhU-sa-tail
-SPACE TEhU-sa-tail2 <- SA-clause / TEhU-no-SA-handling TEhU-sa-tail2 TEhU-sa-tail2 / !SA-clause !TEhU-no-SA-handling any-word-SA-handling TEhU-sa-tail2
; start compound lerfu
TEI-clause <- TEI-pre TEI-post
-TEI-pre <- TEI-sa-clause? pre-clause TEI spaces?
+TEI-pre <- pre-clause TEI spaces?
TEI-post <- post-clause
SPACE TEI-no-SA-handling <- pre-clause TEI post-clause
-SPACE TEI-sa-clause <- TEI-no-SA-handling TEI-sa-tail
-SPACE TEI-sa-tail <- SA-clause &TEI-no-SA-handling / TEI-no-SA-handling TEI-sa-tail2 TEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TEI-no-SA-handling any-word-SA-handling TEI-sa-tail
-SPACE TEI-sa-tail2 <- SA-clause / TEI-no-SA-handling TEI-sa-tail2 TEI-sa-tail2 / !SA-clause !TEI-no-SA-handling any-word-SA-handling TEI-sa-tail2
; left discursive parenthesis
TO-clause <- TO-pre TO-post
-TO-pre <- TO-sa-clause? pre-clause TO spaces?
+TO-pre <- pre-clause TO spaces?
TO-post <- post-clause
SPACE TO-no-SA-handling <- pre-clause TO post-clause
-SPACE TO-sa-clause <- TO-no-SA-handling TO-sa-tail
-SPACE TO-sa-tail <- SA-clause &TO-no-SA-handling / TO-no-SA-handling TO-sa-tail2 TO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TO-no-SA-handling any-word-SA-handling TO-sa-tail
-SPACE TO-sa-tail2 <- SA-clause / TO-no-SA-handling TO-sa-tail2 TO-sa-tail2 / !SA-clause !TO-no-SA-handling any-word-SA-handling TO-sa-tail2
; right discursive parenthesis
TOI-clause <- TOI-pre TOI-post
-TOI-pre <- TOI-sa-clause? pre-clause TOI spaces?
+TOI-pre <- pre-clause TOI spaces?
TOI-post <- post-clause
SPACE TOI-no-SA-handling <- pre-clause TOI post-clause
-SPACE TOI-sa-clause <- TOI-no-SA-handling TOI-sa-tail
-SPACE TOI-sa-tail <- SA-clause &TOI-no-SA-handling / TOI-no-SA-handling TOI-sa-tail2 TOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TOI-no-SA-handling any-word-SA-handling TOI-sa-tail
-SPACE TOI-sa-tail2 <- SA-clause / TOI-no-SA-handling TOI-sa-tail2 TOI-sa-tail2 / !SA-clause !TOI-no-SA-handling any-word-SA-handling TOI-sa-tail2
; multiple utterance scope mark
TUhE-clause <- TUhE-pre TUhE-post
-TUhE-pre <- TUhE-sa-clause? pre-clause TUhE spaces?
+TUhE-pre <- pre-clause TUhE spaces?
TUhE-post <- su-clause* post-clause
SPACE TUhE-no-SA-handling <- pre-clause TUhE su-clause* post-clause
-SPACE TUhE-sa-clause <- TUhE-no-SA-handling TUhE-sa-tail
-SPACE TUhE-sa-tail <- SA-clause &TUhE-no-SA-handling / TUhE-no-SA-handling TUhE-sa-tail2 TUhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TUhE-no-SA-handling any-word-SA-handling TUhE-sa-tail
-SPACE TUhE-sa-tail2 <- SA-clause / TUhE-no-SA-handling TUhE-sa-tail2 TUhE-sa-tail2 / !SA-clause !TUhE-no-SA-handling any-word-SA-handling TUhE-sa-tail2
; multiple utterance end scope mark
TUhU-clause <- TUhU-pre TUhU-post
-TUhU-pre <- TUhU-sa-clause? pre-clause TUhU spaces?
+TUhU-pre <- pre-clause TUhU spaces?
TUhU-post <- post-clause
SPACE TUhU-no-SA-handling <- pre-clause TUhU post-clause
-SPACE TUhU-sa-clause <- TUhU-no-SA-handling TUhU-sa-tail
-SPACE TUhU-sa-tail <- SA-clause &TUhU-no-SA-handling / TUhU-no-SA-handling TUhU-sa-tail2 TUhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !TUhU-no-SA-handling any-word-SA-handling TUhU-sa-tail
-SPACE TUhU-sa-tail2 <- SA-clause / TUhU-no-SA-handling TUhU-sa-tail2 TUhU-sa-tail2 / !SA-clause !TUhU-no-SA-handling any-word-SA-handling TUhU-sa-tail2
; attitudinals, observationals, discursives
UI-clause <- UI-pre UI-post
-UI-pre <- UI-sa-clause? pre-clause UI spaces?
+UI-pre <- pre-clause UI spaces?
UI-post <- post-clause
SPACE UI-no-SA-handling <- pre-clause UI post-clause
-SPACE UI-sa-clause <- UI-no-SA-handling UI-sa-tail
-SPACE UI-sa-tail <- SA-clause &UI-no-SA-handling / UI-no-SA-handling UI-sa-tail2 UI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !UI-no-SA-handling any-word-SA-handling UI-sa-tail
-SPACE UI-sa-tail2 <- SA-clause / UI-no-SA-handling UI-sa-tail2 UI-sa-tail2 / !SA-clause !UI-no-SA-handling any-word-SA-handling UI-sa-tail2
; distance in space-time
VA-clause <- VA-pre VA-post
-VA-pre <- VA-sa-clause? pre-clause VA spaces?
+VA-pre <- pre-clause VA spaces?
VA-post <- post-clause
SPACE VA-no-SA-handling <- pre-clause VA post-clause
-SPACE VA-sa-clause <- VA-no-SA-handling VA-sa-tail
-SPACE VA-sa-tail <- SA-clause &VA-no-SA-handling / VA-no-SA-handling VA-sa-tail2 VA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VA-no-SA-handling any-word-SA-handling VA-sa-tail
-SPACE VA-sa-tail2 <- SA-clause / VA-no-SA-handling VA-sa-tail2 VA-sa-tail2 / !SA-clause !VA-no-SA-handling any-word-SA-handling VA-sa-tail2
; end simple bridi or bridi-tail
VAU-clause <- VAU-pre VAU-post
-VAU-pre <- VAU-sa-clause? pre-clause VAU spaces?
+VAU-pre <- pre-clause VAU spaces?
VAU-post <- post-clause
SPACE VAU-no-SA-handling <- pre-clause VAU post-clause
-SPACE VAU-sa-clause <- VAU-no-SA-handling VAU-sa-tail
-SPACE VAU-sa-tail <- SA-clause &VAU-no-SA-handling / VAU-no-SA-handling VAU-sa-tail2 VAU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VAU-no-SA-handling any-word-SA-handling VAU-sa-tail
-SPACE VAU-sa-tail2 <- SA-clause / VAU-no-SA-handling VAU-sa-tail2 VAU-sa-tail2 / !SA-clause !VAU-no-SA-handling any-word-SA-handling VAU-sa-tail2
; left MEX bracket
VEI-clause <- VEI-pre VEI-post
-VEI-pre <- VEI-sa-clause? pre-clause VEI spaces?
+VEI-pre <- pre-clause VEI spaces?
VEI-post <- post-clause
SPACE VEI-no-SA-handling <- pre-clause VEI post-clause
-SPACE VEI-sa-clause <- VEI-no-SA-handling VEI-sa-tail
-SPACE VEI-sa-tail <- SA-clause &VEI-no-SA-handling / VEI-no-SA-handling VEI-sa-tail2 VEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VEI-no-SA-handling any-word-SA-handling VEI-sa-tail
-SPACE VEI-sa-tail2 <- SA-clause / VEI-no-SA-handling VEI-sa-tail2 VEI-sa-tail2 / !SA-clause !VEI-no-SA-handling any-word-SA-handling VEI-sa-tail2
; right MEX bracket
VEhO-clause <- VEhO-pre VEhO-post
-VEhO-pre <- VEhO-sa-clause? pre-clause VEhO spaces?
+VEhO-pre <- pre-clause VEhO spaces?
VEhO-post <- post-clause
SPACE VEhO-no-SA-handling <- pre-clause VEhO post-clause
-SPACE VEhO-sa-clause <- VEhO-no-SA-handling VEhO-sa-tail
-SPACE VEhO-sa-tail <- SA-clause &VEhO-no-SA-handling / VEhO-no-SA-handling VEhO-sa-tail2 VEhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VEhO-no-SA-handling any-word-SA-handling VEhO-sa-tail
-SPACE VEhO-sa-tail2 <- SA-clause / VEhO-no-SA-handling VEhO-sa-tail2 VEhO-sa-tail2 / !SA-clause !VEhO-no-SA-handling any-word-SA-handling VEhO-sa-tail2
; MEX operator
VUhU-clause <- VUhU-pre VUhU-post
-VUhU-pre <- VUhU-sa-clause? pre-clause VUhU spaces?
+VUhU-pre <- pre-clause VUhU spaces?
VUhU-post <- post-clause
SPACE VUhU-no-SA-handling <- pre-clause VUhU post-clause
-SPACE VUhU-sa-clause <- VUhU-no-SA-handling VUhU-sa-tail
-SPACE VUhU-sa-tail <- SA-clause &VUhU-no-SA-handling / VUhU-no-SA-handling VUhU-sa-tail2 VUhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VUhU-no-SA-handling any-word-SA-handling VUhU-sa-tail
-SPACE VUhU-sa-tail2 <- SA-clause / VUhU-no-SA-handling VUhU-sa-tail2 VUhU-sa-tail2 / !SA-clause !VUhU-no-SA-handling any-word-SA-handling VUhU-sa-tail2
; space-time interval size
VEhA-clause <- VEhA-pre VEhA-post
-VEhA-pre <- VEhA-sa-clause? pre-clause VEhA spaces?
+VEhA-pre <- pre-clause VEhA spaces?
VEhA-post <- post-clause
SPACE VEhA-no-SA-handling <- pre-clause VEhA post-clause
-SPACE VEhA-sa-clause <- VEhA-no-SA-handling VEhA-sa-tail
-SPACE VEhA-sa-tail <- SA-clause &VEhA-no-SA-handling / VEhA-no-SA-handling VEhA-sa-tail2 VEhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VEhA-no-SA-handling any-word-SA-handling VEhA-sa-tail
-SPACE VEhA-sa-tail2 <- SA-clause / VEhA-no-SA-handling VEhA-sa-tail2 VEhA-sa-tail2 / !SA-clause !VEhA-no-SA-handling any-word-SA-handling VEhA-sa-tail2
; space-time dimensionality marker
VIhA-clause <- VIhA-pre VIhA-post
-VIhA-pre <- VIhA-sa-clause? pre-clause VIhA spaces?
+VIhA-pre <- pre-clause VIhA spaces?
VIhA-post <- post-clause
SPACE VIhA-no-SA-handling <- pre-clause VIhA post-clause
-SPACE VIhA-sa-clause <- VIhA-no-SA-handling VIhA-sa-tail
-SPACE VIhA-sa-tail <- SA-clause &VIhA-no-SA-handling / VIhA-no-SA-handling VIhA-sa-tail2 VIhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VIhA-no-SA-handling any-word-SA-handling VIhA-sa-tail
-SPACE VIhA-sa-tail2 <- SA-clause / VIhA-no-SA-handling VIhA-sa-tail2 VIhA-sa-tail2 / !SA-clause !VIhA-no-SA-handling any-word-SA-handling VIhA-sa-tail2
VUhO-clause <- VUhO-pre VUhO-post
-VUhO-pre <- VUhO-sa-clause? pre-clause VUhO spaces?
+VUhO-pre <- pre-clause VUhO spaces?
VUhO-post <- post-clause
SPACE VUhO-no-SA-handling <- pre-clause VUhO post-clause
-SPACE VUhO-sa-clause <- VUhO-no-SA-handling VUhO-sa-tail
-SPACE VUhO-sa-tail <- SA-clause &VUhO-no-SA-handling / VUhO-no-SA-handling VUhO-sa-tail2 VUhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !VUhO-no-SA-handling any-word-SA-handling VUhO-sa-tail
-SPACE VUhO-sa-tail2 <- SA-clause / VUhO-no-SA-handling VUhO-sa-tail2 VUhO-sa-tail2 / !SA-clause !VUhO-no-SA-handling any-word-SA-handling VUhO-sa-tail2
; glue between logically connected sumti and relative clauses
; subscripting operator
XI-clause <- XI-pre XI-post
-XI-pre <- XI-sa-clause? pre-clause XI spaces?
+XI-pre <- pre-clause XI spaces?
XI-post <- post-clause
SPACE XI-no-SA-handling <- pre-clause XI post-clause
-SPACE XI-sa-clause <- XI-no-SA-handling XI-sa-tail
-SPACE XI-sa-tail <- SA-clause &XI-no-SA-handling / XI-no-SA-handling XI-sa-tail2 XI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !XI-no-SA-handling any-word-SA-handling XI-sa-tail
-SPACE XI-sa-tail2 <- SA-clause / XI-no-SA-handling XI-sa-tail2 XI-sa-tail2 / !SA-clause !XI-no-SA-handling any-word-SA-handling XI-sa-tail2
; hesitation
@@ -1384,89 +1101,53 @@
; event properties - inchoative, etc.
ZAhO-clause <- ZAhO-pre ZAhO-post
-ZAhO-pre <- ZAhO-sa-clause? pre-clause ZAhO spaces?
+ZAhO-pre <- pre-clause ZAhO spaces?
ZAhO-post <- post-clause
SPACE ZAhO-no-SA-handling <- pre-clause ZAhO post-clause
-SPACE ZAhO-sa-clause <- ZAhO-no-SA-handling ZAhO-sa-tail
-SPACE ZAhO-sa-tail <- SA-clause &ZAhO-no-SA-handling / ZAhO-no-SA-handling ZAhO-sa-tail2 ZAhO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZAhO-no-SA-handling any-word-SA-handling ZAhO-sa-tail
-SPACE ZAhO-sa-tail2 <- SA-clause / ZAhO-no-SA-handling ZAhO-sa-tail2 ZAhO-sa-tail2 / !SA-clause !ZAhO-no-SA-handling any-word-SA-handling ZAhO-sa-tail2
; time interval size tense
ZEhA-clause <- ZEhA-pre ZEhA-post
-ZEhA-pre <- ZEhA-sa-clause? pre-clause ZEhA spaces?
+ZEhA-pre <- pre-clause ZEhA spaces?
ZEhA-post <- post-clause
SPACE ZEhA-no-SA-handling <- pre-clause ZEhA post-clause
-SPACE ZEhA-sa-clause <- ZEhA-no-SA-handling ZEhA-sa-tail
-SPACE ZEhA-sa-tail <- SA-clause &ZEhA-no-SA-handling / ZEhA-no-SA-handling ZEhA-sa-tail2 ZEhA-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZEhA-no-SA-handling any-word-SA-handling ZEhA-sa-tail
-SPACE ZEhA-sa-tail2 <- SA-clause / ZEhA-no-SA-handling ZEhA-sa-tail2 ZEhA-sa-tail2 / !SA-clause !ZEhA-no-SA-handling any-word-SA-handling ZEhA-sa-tail2
; lujvo glue
ZEI-clause <- ZEI-pre ZEI-post
ZEI-clause-no-SA <- ZEI-pre-no-SA ZEI ZEI-post
-ZEI-pre <- ZEI-sa-clause? pre-clause ZEI spaces?
+ZEI-pre <- pre-clause ZEI spaces?
ZEI-pre-no-SA <- pre-clause
ZEI-post <- spaces?
SPACE ZEI-no-SA-handling <- pre-clause ZEI post-clause
-SPACE ZEI-sa-clause <- ZEI-no-SA-handling ZEI-sa-tail
-SPACE ZEI-sa-tail <- SA-clause &ZEI-no-SA-handling / ZEI-no-SA-handling ZEI-sa-tail2 ZEI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZEI-no-SA-handling any-word-SA-handling ZEI-sa-tail
-SPACE ZEI-sa-tail2 <- SA-clause / ZEI-no-SA-handling ZEI-sa-tail2 ZEI-sa-tail2 / !SA-clause !ZEI-no-SA-handling any-word-SA-handling ZEI-sa-tail2
; time distance tense
ZI-clause <- ZI-pre ZI-post
-ZI-pre <- ZI-sa-clause? pre-clause ZI spaces?
+ZI-pre <- pre-clause ZI spaces?
ZI-post <- post-clause
SPACE ZI-no-SA-handling <- pre-clause ZI post-clause
-SPACE ZI-sa-clause <- ZI-no-SA-handling ZI-sa-tail
-SPACE ZI-sa-tail <- SA-clause &ZI-no-SA-handling / ZI-no-SA-handling ZI-sa-tail2 ZI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZI-no-SA-handling any-word-SA-handling ZI-sa-tail
-SPACE ZI-sa-tail2 <- SA-clause / ZI-no-SA-handling ZI-sa-tail2 ZI-sa-tail2 / !SA-clause !ZI-no-SA-handling any-word-SA-handling ZI-sa-tail2
; conjoins relative clauses
ZIhE-clause <- ZIhE-pre ZIhE-post
-ZIhE-pre <- ZIhE-sa-clause? pre-clause ZIhE spaces?
+ZIhE-pre <- pre-clause ZIhE spaces?
ZIhE-post <- post-clause
SPACE ZIhE-no-SA-handling <- pre-clause ZIhE post-clause
-SPACE ZIhE-sa-clause <- ZIhE-no-SA-handling ZIhE-sa-tail
-SPACE ZIhE-sa-tail <- SA-clause &ZIhE-no-SA-handling / ZIhE-no-SA-handling ZIhE-sa-tail2 ZIhE-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZIhE-no-SA-handling any-word-SA-handling ZIhE-sa-tail
-SPACE ZIhE-sa-tail2 <- SA-clause / ZIhE-no-SA-handling ZIhE-sa-tail2 ZIhE-sa-tail2 / !SA-clause !ZIhE-no-SA-handling any-word-SA-handling ZIhE-sa-tail2
; single word metalinguistic quote marker
-;; ZO-clause <- ZO-pre ZO-post
-;; ZO-clause-no-SA <- ZO-pre-no-SA ZO ZO-post
-;; ZO-pre <- ZO-sa-clause? pre-clause ZO spaces?
-;; ZO-pre-no-SA <- pre-clause
-;; ZO-post <- spaces?
-;; SPACE ZO-no-SA-handling <- zo-clause-no-SA / pre-clause ZO post-clause
ZO-clause <- ZO-pre ZO-post
-ZO-pre <- ZO-sa-clause? pre-clause ZO spaces? any-word spaces?
+ZO-pre <- pre-clause ZO spaces? any-word spaces?
ZO-post <- post-clause
SPACE ZO-no-SA-handling <- pre-clause ZO spaces? any-word spaces?
-SPACE ZO-sa-clause <- ZO-no-SA-handling ZO-sa-tail
-SPACE ZO-sa-tail <- SA-clause &ZO-no-SA-handling / ZO-no-SA-handling ZO-sa-tail2 ZO-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZO-no-SA-handling any-word-SA-handling ZO-sa-tail
-SPACE ZO-sa-tail2 <- SA-clause / ZO-no-SA-handling ZO-sa-tail2 ZO-sa-tail2 / !SA-clause !ZO-no-SA-handling any-word-SA-handling ZO-sa-tail2
; delimited quote marker
-;; ZOI-clause <- ZOI-pre ZOI-post
-;; ZOI-clause-no-SA <- ZOI-pre-no-SA ZOI ZOI-post
-;; ZOI-pre <- ZOI-sa-clause? pre-clause ZOI spaces?
-;; ZOI-pre-no-SA <- pre-clause
-;; ZOI-post <- spaces?
-;; SPACE ZOI-no-SA-handling <- zoi-clause-no-SA / pre-clause ZOI post-clause
ZOI-clause <- ZOI-pre ZOI-post
-ZOI-pre <- ZOI-sa-clause? pre-clause ZOI spaces? zoi-open zoi-word* zoi-close spaces?
+ZOI-pre <- pre-clause ZOI spaces? zoi-open zoi-word* zoi-close spaces?
ZOI-post <- post-clause
SPACE ZOI-no-SA-handling <- pre-clause ZOI spaces? zoi-open zoi-word* zoi-close spaces?
-SPACE ZOI-sa-clause <- ZOI-no-SA-handling ZOI-sa-tail
-SPACE ZOI-sa-tail <- SA-clause &ZOI-no-SA-handling / ZOI-no-SA-handling ZOI-sa-tail2 ZOI-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZOI-no-SA-handling any-word-SA-handling ZOI-sa-tail
-SPACE ZOI-sa-tail2 <- SA-clause / ZOI-no-SA-handling ZOI-sa-tail2 ZOI-sa-tail2 / !SA-clause !ZOI-no-SA-handling any-word-SA-handling ZOI-sa-tail2
; prenex terminator (not elidable)
ZOhU-clause <- ZOhU-pre ZOhU-post
-ZOhU-pre <- ZOhU-sa-clause? pre-clause ZOhU spaces?
+ZOhU-pre <- pre-clause ZOhU spaces?
ZOhU-post <- post-clause
SPACE ZOhU-no-SA-handling <- pre-clause ZOhU post-clause
-SPACE ZOhU-sa-clause <- ZOhU-no-SA-handling ZOhU-sa-tail
-SPACE ZOhU-sa-tail <- SA-clause &ZOhU-no-SA-handling / ZOhU-no-SA-handling ZOhU-sa-tail2 ZOhU-sa-tail / !SA-clause !ZEI-no-SA-handling !BU-no-SA-handling !ZOhU-no-SA-handling any-word-SA-handling ZOhU-sa-tail
-SPACE ZOhU-sa-tail2 <- SA-clause / ZOhU-no-SA-handling ZOhU-sa-tail2 ZOhU-sa-tail2 / !SA-clause !ZOhU-no-SA-handling any-word-SA-handling ZOhU-sa-tail2
;************************
@@ -1481,12 +1162,13 @@
; inner-word (the stuff inside BRIVLA=( ... ), for example) is an
; evenly nested, arbitrary length sequence of foo=( ... ) tags with
; stuff inside them. Gotta snarf it all.
-NORATS inner-word <- space-char* (!equals-char !space-char .)+ equals-char open-paren inner-word close-paren inner-word? / (!close-paren-char .)+
+NORATS inner-word <- space-char (!equals-char !space-char .)+ equals-char open-paren inner-word close-paren inner-word? / inner-word2
+NORATS inner-word2 <- !close-paren-char . inner-word2 / !close-paren-char . &space-char
NORATS space-char <- ' '
NORATS equals-char <- '='
NORATS close-paren-char <- ')'
NORATS open-paren <- "( "
-NORATS close-paren <- " "* ") "
+NORATS close-paren <- " ) "
; any single lexable Lojban words
any-word <- any-word-pre inner-word close-paren spaces?