[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?