[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lojban] zoi bug in camxes?
On Tue, Jan 25, 2011 at 09:13:55AM -0300, Jorge Llambías wrote:
> On Tue, Jan 25, 2011 at 12:57 AM, .alyn.post.
> <alyn.post@lodockikumazvati.org> wrote:
> >>
> >> CLL: "The cmavo “zoi” (of selma'o ZOI) is a quotation mark for quoting
> >> non-Lojban text. Its syntax is “zoi X. text .X”, where X is a Lojban
> >> word (called the delimiting word) which is separated from the quoted
> >> text by pauses, and which is not found in the written text or spoken
> >> phoneme stream."
> >
> > I always assumed that this description was describing (in a PEG
> > grammar with an '=' operator I'm inventing for this purpose):
> >
> > zoi <- zoi-open=any-lojban-word pause (!(pause? zoi-open) .)* pause zoi-open
> >
> > Namely, that we read a X as any-lojban-word, store the value, then
> > we read a *character at a time* until we find another X. In this case
> > "quoted text" is a character stream, not itself broken into discrete
> > words and therefor not subject to differentiation between gyrate and
> > gyration.
> >
> > I believe this description makes the CLL consistent with itself. It
> > is the only way I make sense of the example given. I'm not suggesting
> > this is the behavior the PEG grammar should have, though I certainly
> > wonder if this is what is being described in the text above.
>
> No, that doesn't agree with the CLL requirement of a pause in front of
> the second delimiter, because you are disallowing X even in places not
> preceded by a pause.
>
Right. zoi-quoted text that contains X not preceded by a pause
is ungrammatical. The opening message in this thread was the
relevent section of the CLL which describes exactly that situation
as being so.
There are two clauses there, the second being "and which is not
found in the written text" The intention of the code above is
that it does enforce a pause in front of the second delimiter
(that is the 'pause' before the final 'zoi-open'), but that it
also doesn't permit the literal string identified by zoi-open
to appear in the intervening text (with our without a pause,
with in order to succeed in matching the ending delimiter,
without to detect the extra CLL requirement that it also not
appear in the quoted text).
To describe it another way: match any Lojban word, then match a
pause, then try to match the same Lojban word you just matched,
moving forward a character at a time until the match succeeds.
Then, since you must, assert that you had a pause in front of
the second delimiter.
It's convoluted, but I think your statement that I'm disallowing
X even in places not preceded by a pause is indeed a CLL
requirement. Both by implication of the example given and because
of the text I specifically quoted above.
I'm not suggesting this behavior is what we want, I still do
believe it is what the CLL describes.
-Alan
--
.i ko djuno fi le do sevzi
--
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.