MEX grammar proposal: Difference between revisions

From Lojban
Jump to navigation Jump to search
mNo edit summary
 
mNo edit summary
Line 1: Line 1:


==== Formula for causal BAI ====
=== Current grammar: ===


let M_TAG be a BAI or equivalent fi'o-clause of these ''{bai}, {gau}, {ni'i}, {ri'a}, {ki'u}, {mu'i}, {seja'e}'', and M_SELB be the equivalent selbri, then ''.i broda M_TAG ko'a'' indirectly claims ''.i ko'a M_SELB lo su'u broda''
^


==== ce'oi  ====
sumti-6 <- ... / lerfu-string !MOI# BOI#? / (LAhE# / NAhE# BO#) relative-clauses? sumti LUhU#? /...


ce'oi = sumti list argument separator
tanru-unit-2 <- ... / ME# (sumti / lerfu-string) MEhU#? MOI#? / (number / lerfu-string) MOI# / NUhA# mex-operator / ...


ce'oi (class) = A
interval-property <- number ROI# NAI#? / ...


ce'oi is used to actually fill bridi3, where du'u1 is for bridi1 and me'ei/si'o/ka is for bridi2. Let's describe the following proposition using bridi as a main selbri: ''{zo coi ce'o zo do'u se cusku lo pendo be mi lo patfu be mi}'' -> ''{.i lo du'u zo coi ce'o zo do'u se cusku lo pendo be mi lo patfu be mi cu bridi me'ei se cusku zo coi ce'o zo do'u ce'oi lo pendo be mi ku ce'oi lo patfu be mi}''
free <- ... / (number / lerfu-string) MAI# / XI# (number BOI# / lerfu-string BOI# / VEI# mex VEhO#?)


==== ce'ai ====
quantifier <- number !MOI# BOI#? / VEI# mex VEhO#?


ce'ai = end lambda/relative clause prenex.
mex <- mex-1 (operator mex-1)* / FUhA# rp-expression


ce'ai (class) = ZOhU
mex-1 <- mex-2 (BIhE# operator mex-1)?


ce'ai is used especially in ka-abstractions to prevent Subscripting Madness. Let all the sumti behind a ce'ai be implicitly {ce'u goi X}, then ''.i lo ka ce'u tavla do kei lo ka ko'a ko'e ce'ai ko'a gasnu lo nu
mex-2 <- operand / PEhO#? operator mex-2+ KUhE#?


ko'e zgike tebe'i do cu mleca lo ka ko'a ce'ai do se zdile lo ka ce'u lifri lo nu mi me'au ko'a''
rp-expression <- operand (rp-expression operator)*


ce'ai can also be used for relative clauses. Let all the sumti behind a ce'ai, in a relative clause, implicitly be {ke'a goi X}, such that ''.i mi noi ko'a ce'ai do se pluka lo nu lo do patfu noi ke'a pu jungau ko'a lo du'u ko'a melbi cu djica lo nu pinxe lo djacu cu pendo lo do bruna'' "I, whom was told by your father who wants to drink some water that I be beautiful, is a friend of your brother."
operator <- operator-1 (joik-jek operator-1 / joik stag? KE# operator KEhE#?)*


As a non experimental version of ce'ai, it remains possible to use goi+zo'u such that ''{.i ko'a ckaji lo ka ce'u goi ko'e zo'u ko'e broda}'' and ''{broda ko'a noi ke'a goi ko'e zo'u ko'e brode}'' are fine.
operator-1 <- operator-2 / guhek operator-1 gik operator-2 / operator-2 (jek / joik) stag? BO# operator-1


==== jo'oi ====
operator-2 <- mex-operator / KE# operator KEhE#?


jo'oi = vague sumti joiner; used in combination with  for multiple relative sumti clauses.
mex-operator <- SE# mex-operator / NAhE# mex-operator / MAhO# mex TEhU#? / NAhU# selbri TEhU#? / VUhU#


jo'oi (class) = JOhOI (possibly CEhE, possibly JOI, but that causes some breakage, possibly A but that's ugly)
operand <- operand-1 (joik-ek stag? KE# operand KEhE#?)?


jo'oi is used to vaguely join sumti in order to form >1-sumti relative clauses, a novel concept. The sumti joined by jo'oi do not fill a single sumti place of their containing bridi. In that aspect, they resemble ce'e a lot. Without an attached relative clause by means of vu'o, sumti joined by jo'oi might as well not be joined at all, such that ''{mi jo'oi do nelci}'' == ''{mi ce'e do nelci}'' == ''{mi do nelci}''.
operand-1 <- operand-2 (joik-ek operand-2)*


As we all know, vu'o is used on the "sumti" produced by means of a connective in order to relativise the entire joint construct, such that ''{.i mi .e do vu'o noi ke'a se pluka lo nu ke'a citka lo plise cu broda}'' have the correct meaning. Using jo'oi instead of a regular connective allows us to relativise two distinct sumti into one single relative clause. The use of ce'ai in that relative clause is greatly recommended, due to the ambiguity (-ies?) resulting from the use of simple ke'a. For instance, ''{mi jo'oi do vu'o noi ko'a ko'e ce'ai ko'a pamjai ko'e cu patfu}'' "I, who hug you, am your father." Without jo'oi+vu'o, it becomes necessary to repeat one of the sumti, which can be unreasonable if that sumti is fairly large: ''{lo ka ce'u se fanza lo ka ce'u jai bandu lo verba kei goi ko'a kei jo'oi lo ka ce'u se nandu ko'a kei vu'o noi ko'e ko'i ce'ai mi troci lo se me'au ko'e be mi ja'e lo nu mi me'au ko'e gi'e me'au ko'i cu dunli lo ni mi me'au ce'u}''. (That actually parses (if you replace the experimentals). Kudos to anyone who can actually interpret that; seriously.)
operand-2 <- operand-3 (joik-ek stag? BO# operand-2)?
 
operand-3 <- quantifier / lerfu-string !MOI# BOI#? / NIhE# selbri TEhU#? / MOhE# sumti TEhU#? / JOhI# mex-2+ TEhU#? / gek operand gik operand-3 / (LAhE# / NAhE# BO#) operand LUhU#?
 
joik <- SE#? JOI# NAI#? / interval / GAhO# interval GAhO#
 
^
 
=== Proposed grammar: ===
 
^
 
sumti-6 <- ... / !tag !selbri lerfu-string BOI#? / !tag !selbri (LAhE# / NAhE# BO#) relative-clauses? sumti LUhU#? / ...
 
tanru-unit-2 <- ... / ME# (sumti / mex) MEhU#? MOI#? / mex MOI# / NUhA# operator / ...
 
interval-property <- mex ROI# NAI#? / ...
 
free <- ... / mex-2 MAI# / XI# mex-2
 
quantifier <- !selbri !sumti-6 mex
 
mex <- mex-1 (operator mex-1)*
 
mex-1 <- mex-2 (operator stag? BO# mex-1)?
 
mex-2 <- number BOI#? / lerfu-string BOI#? / VEI# mex VEhO#? / NIhE# selbri TEhU#? / MOhE# sumti TEhU#? / gek mex gik mex-2 / (LAhE# / NAhE# BO#) mex LUhU#? / PEhO# operator mex+ KUhE#? / FUhA# rp-expression
 
rp-expression <- mex (rp-expression operator)*
 
operator <- SE# operator / NAhE# operator / MAhO# mex TEhU#? / NAhU# selbri TEhU#? / VUhU# / JOhI# / joik-jek
 
^
 
=== Rationale ===
 
It makes sense to unify conjunctions with operators because conjunctions ''are'' binary operators. Everything else basicaly follows from that.
 
There is more freedom for "quantifier", "mex MOI", "mex ROI", "mex-2 MAI" and "XI mex-2".

Revision as of 17:06, 4 November 2013

Current grammar:

^

sumti-6 <- ... / lerfu-string !MOI# BOI#? / (LAhE# / NAhE# BO#) relative-clauses? sumti LUhU#? /...

tanru-unit-2 <- ... / ME# (sumti / lerfu-string) MEhU#? MOI#? / (number / lerfu-string) MOI# / NUhA# mex-operator / ...

interval-property <- number ROI# NAI#? / ...

free <- ... / (number / lerfu-string) MAI# / XI# (number BOI# / lerfu-string BOI# / VEI# mex VEhO#?)

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

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

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

mex-2 <- operand / PEhO#? operator mex-2+ KUhE#?

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

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

operator-1 <- operator-2 / guhek operator-1 gik operator-2 / operator-2 (jek / joik) stag? BO# operator-1

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

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

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

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

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

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

joik <- SE#? JOI# NAI#? / interval / GAhO# interval GAhO#

^

Proposed grammar:

^

sumti-6 <- ... / !tag !selbri lerfu-string BOI#? / !tag !selbri (LAhE# / NAhE# BO#) relative-clauses? sumti LUhU#? / ...

tanru-unit-2 <- ... / ME# (sumti / mex) MEhU#? MOI#? / mex MOI# / NUhA# operator / ...

interval-property <- mex ROI# NAI#? / ...

free <- ... / mex-2 MAI# / XI# mex-2

quantifier <- !selbri !sumti-6 mex

mex <- mex-1 (operator mex-1)*

mex-1 <- mex-2 (operator stag? BO# mex-1)?

mex-2 <- number BOI#? / lerfu-string BOI#? / VEI# mex VEhO#? / NIhE# selbri TEhU#? / MOhE# sumti TEhU#? / gek mex gik mex-2 / (LAhE# / NAhE# BO#) mex LUhU#? / PEhO# operator mex+ KUhE#? / FUhA# rp-expression

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

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

^

Rationale

It makes sense to unify conjunctions with operators because conjunctions are binary operators. Everything else basicaly follows from that.

There is more freedom for "quantifier", "mex MOI", "mex ROI", "mex-2 MAI" and "XI mex-2".