From lojban+bncCOjSjrXVGBCJo6zmBBoELbl4jg@googlegroups.com Fri Oct 29 11:25:33 2010 Received: from mail-gx0-f189.google.com ([209.85.161.189]) by chain.digitalkingdom.org with esmtp (Exim 4.72) (envelope-from ) id 1PBtdj-0005uZ-Jr; Fri, 29 Oct 2010 11:25:32 -0700 Received: by gxk28 with SMTP id 28sf4828774gxk.16 for ; Fri, 29 Oct 2010 11:25:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:x-beenthere:received:received:received :received:received-spf:received:mime-version:received:received :in-reply-to:references:date:message-id:subject:from:to :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :sender:list-subscribe:list-unsubscribe:content-type; bh=UKkIkeMcgGePgdZ8OwozP47k0sTxWKdSfZCsKcfhQgM=; b=jwrjnAjJD+GcAxYeFBhlOrzqOk3aclQgWz1kC7GzLa23U2hvN2mnuqoCPclooi2of6 uHvfEeAqiRpxn6k4YVlQ1viruZ/qtqGO1Pfx2TRRof5EPl2JB75KAUw1KWeDSbmYcN9m aVIFF0JhLbTqISlO8wEOfyY9TckppvaqIleJo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:mime-version:in-reply-to:references:date :message-id:subject:from:to:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type; b=IpZqYdqsNpKbOD+rDSFKasK/7G1ObCkVqFVU8TgSppIZ98uT5tngnn0FBPjZoeXakg rdXPbRv5VtIiZRMGH5omp2equm4FJ65ROoY5b7zpBc2doi93V44ufaN3+LsgqAmoxhmF OWbFfHQh+bm80XTVb1y9tn2azcirDS+TEnNxk= Received: by 10.90.237.3 with SMTP id k3mr370061agh.12.1288376713251; Fri, 29 Oct 2010 11:25:13 -0700 (PDT) X-BeenThere: lojban@googlegroups.com Received: by 10.231.123.203 with SMTP id q11ls3131688ibr.2.p; Fri, 29 Oct 2010 11:25:12 -0700 (PDT) Received: by 10.231.161.81 with SMTP id q17mr3632354ibx.12.1288376712617; Fri, 29 Oct 2010 11:25:12 -0700 (PDT) Received: by 10.231.161.81 with SMTP id q17mr3632353ibx.12.1288376712544; Fri, 29 Oct 2010 11:25:12 -0700 (PDT) Received: from mail-iw0-f173.google.com (mail-iw0-f173.google.com [209.85.214.173]) by gmr-mx.google.com with ESMTP id j25si3493201ibb.4.2010.10.29.11.25.11; Fri, 29 Oct 2010 11:25:11 -0700 (PDT) Received-SPF: pass (google.com: domain of lukeabergen@gmail.com designates 209.85.214.173 as permitted sender) client-ip=209.85.214.173; Received: by mail-iw0-f173.google.com with SMTP id 36so4225650iwn.4 for ; Fri, 29 Oct 2010 11:25:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.35.138 with SMTP id p10mr11582994ibd.33.1288376711027; Fri, 29 Oct 2010 11:25:11 -0700 (PDT) Received: by 10.231.149.14 with HTTP; Fri, 29 Oct 2010 11:25:10 -0700 (PDT) In-Reply-To: <20101029181312.GG47249@alice.local> References: <20101029170344.GB47249@alice.local> <20101029174411.GF47249@alice.local> <20101029181312.GG47249@alice.local> Date: Fri, 29 Oct 2010 14:25:10 -0400 Message-ID: Subject: Re: [lojban] lujvo deconstruction From: Luke Bergen To: lojban@googlegroups.com X-Original-Sender: lukeabergen@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of lukeabergen@gmail.com designates 209.85.214.173 as permitted sender) smtp.mail=lukeabergen@gmail.com; dkim=pass (test mode) header.i=@gmail.com Reply-To: lojban@googlegroups.com Precedence: list Mailing-list: list lojban@googlegroups.com; contact lojban+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: Sender: lojban@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: multipart/alternative; boundary=0022152d6e5932b9fe0493c594a9 --0022152d6e5932b9fe0493c594a9 Content-Type: text/plain; charset=ISO-8859-1 .oi I already have a bunch of code in place to handle gismu and cmavo. I was trying to just hook lujvo in. Looks like it's going to be a lot harder for lujvo. For gismu and cmavo I just grab the word and look for it in a text file that has all the gismu and cmavo in it (and where the word occurs within the first few characters of the line so as not to get false positives where the word shows up in the definition or some such). I've been using autoit for this for a while and it's suited me well, it just gets irritating when I want to lookup a lujvo. I chose autoit because it's easy, has high utility, and makes creating global shortcut keys very easy. Once I get the lujvo bit nailed down maybe I'll release it. On Fri, Oct 29, 2010 at 2:13 PM, .alyn.post. wrote: > What language are you going to use/are you using? > > I've been teaching myself about PEG grammar and packrat parsing, and > my experience so far has been quite positive. Brian Ford's Master's > thesis is quite easy to read, and as a technique packrat parsing is > probably easier to understand than any other parsing technique. > > There are a *lot* of parsing problems in the world that have > half-baked solutions, with someone trying to work around having to > understanding parsing. > > By way of an example, have a look at how syntax hightlighting works > in vim: > > http://vim.wikia.com/wiki/Creating_your_own_syntax_files > > That is a stunning amount of work put into doing something the wrong > way, all presumably to avoid having to actually learning about > parsing. I can't imagine writing a syntax file for vim that would Do > The Right Thing(tm) with Lojban. You'd be fighting the code trying > to make it act like a parser. > > You won't regret using Lojban's formal grammar for your project. :-) > > -Alan > > On Fri, Oct 29, 2010 at 01:55:42PM -0400, Luke Bergen wrote: > > well shite. I was hoping to get away with a shortcut that wouldn't > require > > me to learn and implement a piece of the peg grammar. I don't even > know > > PEG. I guess I have a good reason to now. > > > > On Fri, Oct 29, 2010 at 1:44 PM, .alyn.post. > > <[1]alyn.post@lodockikumazvati.org> wrote: > > > > I think your message here contains the kernel of the solution, > > namely that you can't just chop off three letters and call that a > > rafsi, but you must grab three (four) letters that form a valid > > rafsi or it isn't one. > > > > The PEG grammar for Lojban morphology: > > > > [2] > http://www.lojban.org/tiki/tiki-index.php?page=BPFK+Section%3A+PEG+Morphology+Algorithm > > > > Shows what makes a valid Lujvo, and the process is more subtle than > > "grab three letters and pretend they're a rafsi." But if you follow > > the formal grammar, you'll get an abstract syntax tree that fully > > delimits each piece of the lujvo. > > > > -Alan > > On Fri, Oct 29, 2010 at 01:37:23PM -0400, Luke Bergen wrote: > > > Actually I guess that was a bad example at the end because a lujvo > > ending > > > with "rat" would definitely be wrong. But you get where I'm going > with > > it. > > > > > > On Fri, Oct 29, 2010 at 1:34 PM, Luke Bergen > > <[1][3]lukeabergen@gmail.com> > > > wrote: > > > > > > Sorry, yes, I was providing very rough pseudocode for my script. I > do > > > look from left to right. But since rafsi are always 3 letters > (minus > > any > > > ' characters and excluding 4 letter rafsi), I take them in chunks > of > > 3. > > > an example with morsi would be "xamymro". My code would go like: > > > grab left most three chars, check for .y'ys and grab a fourth char > if > > > there is a .y'y > > > look up the rafsi, chop off what you found to be the "leftmost" > rafsi > > > and loop again with what you have left > > > Now we're looking at "ymro" > > > Strip off "y" and we're left with "mro". Now because I'm assuming > that > > > "r", "l", "m", or "n" followed by a consonant is a buffer vowel, I > see > > > "mro" and think "ok, the 'm' is a buffer vowel so grab another > char so > > > we're back to a 3 letter rafsi", I then try to grab whatever comes > > after > > > "o" and get a null-pointer or some such. > > > It just occurred to me that I might deal with 4 letter rafsi by > > keeping > > > in mind that they always end with "y". So my revised "grab > leftmost > > > rafsi" code would look something like: > > > word = xajmymro > > > if (word = "....y") // where this is "word" = any 4 characters > > followed > > > by an "y" > > > return substring(word, 0, 4) > > > Then in the calling function I just have to look for gismu of the > form > > > rafsi+a, rafsi+e, etc... till I find one that matches a gismu. > > > I'm still stuck on the buffer consonant problem though. > > > It feels wrong to use guesswork like "if you see [r|l|m|n]C then > check > > > to see if it's a valid rafsi, if it's not, strip off the > [r|l|m|n], > > grab > > > another char from the right, and look THAT up and see if it's a > > rafsi". > > > Here's a non-code way to think of the problem. How would a parser > > figure > > > out whether "co'amrobratroci" is "co'a mro bra troci" or "co'a m > rob > > rat > > > ro ci"? > > > On Fri, Oct 29, 2010 at 1:03 PM, .alyn.post. > > > <[2][4]alyn.post@lodockikumazvati.org> wrote: > > > > > > On Fri, Oct 29, 2010 at 12:08:09PM -0400, Luke Bergen wrote: > > > > When I first started learning lojban I wrote up a quick'n dirty > > > script to > > > > make looking up words faster and easier. gismu and cmavo were > easy, > > > but I > > > > could never figure out lujvo. So I'm taking another stab at it. > I > > > > currently have something that works in the general cases of > > > {bajdri}, > > > > {ba'udri}, and {bagypau}. But currently I'm not sure how to deal > > > with 4 > > > > letter rafsi and non "y" buffer letters. > > > > To deal with the non "y" buffer letters I thought I could just > say: > > > > strip all "y" from the word > > > > get first three non "'" chars > > > > if the first letter is "r", "l", "m", or "n" and the second > letter > > > is a > > > > consonant, then chop off the first letter and grab another > letter > > > from the > > > > right > > > > (so if I was parsing "bacru zei bevri" = "ba'urbei" I would > (after > > > > handling ba'u in the first iteration) end up with "rbe" and due > to > > > the > > > > above step, I'd strip off the "r" and grab the next letter thus > > > ending > > > > with "bei" which is the right result). > > > > But this produces strange results because there ARE cases where > > > buffer > > > > letters are followed by consonants (morsi for instance). > > > > Is there a way to un-ambiguously and algorithmically break a > lujvo > > > down > > > > into its component gismu? > > > > > > > > > > I haven't rigorously looked at this, so please excuse me if I'm > way > > > off base. > > > > > > What if you start at the left side of the word and match > characters > > > until you get a matching rafsi, then look for optional buffer > > > characters before matching your next rafsi, &c? You could be much > > > more sophisticated by adding detection for valid lerfu clustering > > > to throw out what would otherwise be an ambiguous case. > > > > > > It sounds like you're working top down on the problem rather than > > > going from left to right, but I don't know what is wrong with my > > > suggestion yet. > > > > > > I see you've provided 3 simple examples, but can you provide an > > > example for morsi which you mention at the end? > > > > > > -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 [3][5] > lojban@googlegroups.com. > > > To unsubscribe from this group, send email to > > > [4][6]lojban+unsubscribe@googlegroups.com > . > > > For more options, visit this group at > > > [5][7]http://groups.google.com/group/lojban?hl=en. > > > > > > -- > > > You received this message because you are subscribed to the Google > > Groups > > > "lojban" group. > > > To post to this group, send email to [8]lojban@googlegroups.com. > > > To unsubscribe from this group, send email to > > > [9]lojban+unsubscribe@googlegroups.com > . > > > For more options, visit this group at > > > [10]http://groups.google.com/group/lojban?hl=en. > > > > > > References > > > > > > Visible links > > > 1. mailto:[11]lukeabergen@gmail.com > > > 2. mailto:[12]alyn.post@lodockikumazvati.org > > > 3. mailto:[13]lojban@googlegroups.com > > > 4. mailto:[14]lojban%2Bunsubscribe@googlegroups.com > > > 5. [15]http://groups.google.com/group/lojban?hl=en > > -- > > .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 [16]lojban@googlegroups.com. > > To unsubscribe from this group, send email to > > [17]lojban+unsubscribe@googlegroups.com > . > > For more options, visit this group at > > [18]http://groups.google.com/group/lojban?hl=en. > > > > -- > > 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. > > > > References > > > > Visible links > > 1. mailto:alyn.post@lodockikumazvati.org > > 2. > http://www.lojban.org/tiki/tiki-index.php?page=BPFK+Section%3A+PEG+Morphology+Algorithm > > 3. mailto:lukeabergen@gmail.com > > 4. mailto:alyn.post@lodockikumazvati.org > > 5. mailto:lojban@googlegroups.com > > 6. mailto:lojban%2Bunsubscribe@googlegroups.com > > 7. http://groups.google.com/group/lojban?hl=en > > 8. mailto:lojban@googlegroups.com > > 9. mailto:lojban%2Bunsubscribe@googlegroups.com > > 10. http://groups.google.com/group/lojban?hl=en > > 11. mailto:lukeabergen@gmail.com > > 12. mailto:alyn.post@lodockikumazvati.org > > 13. mailto:lojban@googlegroups.com > > 14. mailto:lojban%252Bunsubscribe@googlegroups.com > > 15. http://groups.google.com/group/lojban?hl=en > > 16. mailto:lojban@googlegroups.com > > 17. mailto:lojban%2Bunsubscribe@googlegroups.com > > 18. http://groups.google.com/group/lojban?hl=en > > -- > .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. > > -- 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. --0022152d6e5932b9fe0493c594a9 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable .oi I already have a bunch of code in place to handle gismu and cmavo. =A0I= was trying to just hook lujvo in. =A0Looks like it's going to be a lot= harder for lujvo. =A0For gismu and cmavo I just grab the word and look for= it in a text file that has all the gismu and cmavo in it (and where the wo= rd occurs within the first few characters of the line so as not to get fals= e positives where the word shows up in the definition or some such).

I've been using autoit for this for a while and it's= suited me well, it just gets irritating when I want to lookup a lujvo. =A0= I chose autoit because it's easy, has high utility, and makes creating = global shortcut keys very easy. =A0Once I get the lujvo bit nailed down may= be I'll release it.

On Fri, Oct 29, 2010 at 2:13 PM, .alyn.post.= <al= yn.post@lodockikumazvati.org> wrote:
What language are you going to use/are you using?

I've been teaching myself about PEG grammar and packrat parsing, and my experience so far has been quite positive. =A0Brian Ford's Master= 9;s
thesis is quite easy to read, and as a technique packrat parsing is
probably easier to understand than any other parsing technique.

There are a *lot* of parsing problems in the world that have
half-baked solutions, with someone trying to work around having to
understanding parsing.

By way of an example, have a look at how syntax hightlighting works
in vim:

=A0http://vim.wikia.com/wiki/Creating_your_own_syntax_files

That is a stunning amount of work put into doing something the wrong
way, all presumably to avoid having to actually learning about
parsing. =A0I can't imagine writing a syntax file for vim that would Do=
The Right Thing(tm) with Lojban. =A0You'd be fighting the code trying to make it act like a parser.

You won't regret using Lojban's formal grammar for your project. = =A0:-)

-Alan

On Fri, Oct 29, 2010 at 01:55:42PM -0400, Luke Bergen wrote:
> =A0 =A0well shite. I was hoping to get away with a shortcut that would= n't require
> =A0 =A0me to learn and implement a piece of the peg grammar. I don'= ;t even know
> =A0 =A0PEG. I guess I have a good reason to now.
>
> =A0 =A0On Fri, Oct 29, 2010 at 1:44 PM, .alyn.post.
> =A0 =A0<[1]alyn.post@lodockikumazvati.org> wrote:
>
> =A0 =A0 =A0I think your message here contains the kernel of the soluti= on,
> =A0 =A0 =A0namely that you can't just chop off three letters and c= all that a
> =A0 =A0 =A0rafsi, but you must grab three (four) letters that form a v= alid
> =A0 =A0 =A0rafsi or it isn't one.
>
> =A0 =A0 =A0The PEG grammar for Lojban morphology:
>
> =A0 =A0 =A0[2]http:= //www.lojban.org/tiki/tiki-index.php?page=3DBPFK+Section%3A+PEG+Morphology+= Algorithm
>
> =A0 =A0 =A0Shows what makes a valid Lujvo, and the process is more sub= tle than
> =A0 =A0 =A0"grab three letters and pretend they're a rafsi.&q= uot; But if you follow
> =A0 =A0 =A0the formal grammar, you'll get an abstract syntax tree = that fully
> =A0 =A0 =A0delimits each piece of the lujvo.
>
> =A0 =A0 =A0-Alan
> =A0 =A0 =A0On Fri, Oct 29, 2010 at 01:37:23PM -0400, Luke Bergen wrote= :
> =A0 =A0 =A0> Actually I guess that was a bad example at the end bec= ause a lujvo
> =A0 =A0 =A0ending
> =A0 =A0 =A0> with "rat" would definitely be wrong. But yo= u get where I'm going with
> =A0 =A0 =A0it.
> =A0 =A0 =A0>
> =A0 =A0 =A0> On Fri, Oct 29, 2010 at 1:34 PM, Luke Bergen
> =A0 =A0 =A0<[1][3]lu= keabergen@gmail.com>
> =A0 =A0 =A0> wrote:
> =A0 =A0 =A0>
> =A0 =A0 =A0> Sorry, yes, I was providing very rough pseudocode for = my script. I do
> =A0 =A0 =A0> look from left to right. But since rafsi are always 3 = letters (minus
> =A0 =A0 =A0any
> =A0 =A0 =A0> ' characters and excluding 4 letter rafsi), I take= them in chunks of
> =A0 =A0 =A03.
> =A0 =A0 =A0> an example with morsi would be "xamymro". My= code would go like:
> =A0 =A0 =A0> grab left most three chars, check for .y'ys and gr= ab a fourth char if
> =A0 =A0 =A0> there is a .y'y
> =A0 =A0 =A0> look up the rafsi, chop off what you found to be the &= quot;leftmost" rafsi
> =A0 =A0 =A0> and loop again with what you have left
> =A0 =A0 =A0> Now we're looking at "ymro"
> =A0 =A0 =A0> Strip off "y" and we're left with "= mro". Now because I'm assuming that
> =A0 =A0 =A0> "r", "l", "m", or "= n" followed by a consonant is a buffer vowel, I see
> =A0 =A0 =A0> "mro" and think "ok, the 'm' is= a buffer vowel so grab another char so
> =A0 =A0 =A0> we're back to a 3 letter rafsi", I then try t= o grab whatever comes
> =A0 =A0 =A0after
> =A0 =A0 =A0> "o" and get a null-pointer or some such.
> =A0 =A0 =A0> It just occurred to me that I might deal with 4 letter= rafsi by
> =A0 =A0 =A0keeping
> =A0 =A0 =A0> in mind that they always end with "y". So my= revised "grab leftmost
> =A0 =A0 =A0> rafsi" code would look something like:
> =A0 =A0 =A0> word =3D xajmymro
> =A0 =A0 =A0> if (word =3D "....y") // where this is "= ;word" =3D any 4 characters
> =A0 =A0 =A0followed
> =A0 =A0 =A0> by an "y"
> =A0 =A0 =A0> return substring(word, 0, 4)
> =A0 =A0 =A0> Then in the calling function I just have to look for g= ismu of the form
> =A0 =A0 =A0> rafsi+a, rafsi+e, etc... till I find one that matches = a gismu.
> =A0 =A0 =A0> I'm still stuck on the buffer consonant problem th= ough.
> =A0 =A0 =A0> It feels wrong to use guesswork like "if you see = [r|l|m|n]C then check
> =A0 =A0 =A0> to see if it's a valid rafsi, if it's not, str= ip off the [r|l|m|n],
> =A0 =A0 =A0grab
> =A0 =A0 =A0> another char from the right, and look THAT up and see = if it's a
> =A0 =A0 =A0rafsi".
> =A0 =A0 =A0> Here's a non-code way to think of the problem. How= would a parser
> =A0 =A0 =A0figure
> =A0 =A0 =A0> out whether "co'amrobratroci" is "c= o'a mro bra troci" or "co'a m rob
> =A0 =A0 =A0rat
> =A0 =A0 =A0> ro ci"?
> =A0 =A0 =A0> On Fri, Oct 29, 2010 at 1:03 PM, .alyn.post.
> =A0 =A0 =A0> <[2][= 4]alyn.post@lodockikumazv= ati.org> wrote:
> =A0 =A0 =A0>
> =A0 =A0 =A0> On Fri, Oct 29, 2010 at 12:08:09PM -0400, Luke Bergen = wrote:
> =A0 =A0 =A0> > When I first started learning lojban I wrote up a= quick'n dirty
> =A0 =A0 =A0> script to
> =A0 =A0 =A0> > make looking up words faster and easier. gismu an= d cmavo were easy,
> =A0 =A0 =A0> but I
> =A0 =A0 =A0> > could never figure out lujvo. So I'm taking a= nother stab at it. I
> =A0 =A0 =A0> > currently have something that works in the genera= l cases of
> =A0 =A0 =A0> {bajdri},
> =A0 =A0 =A0> > {ba'udri}, and {bagypau}. But currently I'= ;m not sure how to deal
> =A0 =A0 =A0> with 4
> =A0 =A0 =A0> > letter rafsi and non "y" buffer letters= .
> =A0 =A0 =A0> > To deal with the non "y" buffer letters= I thought I could just say:
> =A0 =A0 =A0> > strip all "y" from the word
> =A0 =A0 =A0> > get first three non "'" chars
> =A0 =A0 =A0> > if the first letter is "r", "l&quo= t;, "m", or "n" and the second letter
> =A0 =A0 =A0> is a
> =A0 =A0 =A0> > consonant, then chop off the first letter and gra= b another letter
> =A0 =A0 =A0> from the
> =A0 =A0 =A0> > right
> =A0 =A0 =A0> > (so if I was parsing "bacru zei bevri" = =3D "ba'urbei" I would (after
> =A0 =A0 =A0> > handling ba'u in the first iteration) end up = with "rbe" and due to
> =A0 =A0 =A0> the
> =A0 =A0 =A0> > above step, I'd strip off the "r" a= nd grab the next letter thus
> =A0 =A0 =A0> ending
> =A0 =A0 =A0> > with "bei" which is the right result).<= br> > =A0 =A0 =A0> > But this produces strange results because there A= RE cases where
> =A0 =A0 =A0> buffer
> =A0 =A0 =A0> > letters are followed by consonants (morsi for ins= tance).
> =A0 =A0 =A0> > Is there a way to un-ambiguously and algorithmica= lly break a lujvo
> =A0 =A0 =A0> down
> =A0 =A0 =A0> > into its component gismu?
> =A0 =A0 =A0> >
> =A0 =A0 =A0>
> =A0 =A0 =A0> I haven't rigorously looked at this, so please exc= use me if I'm way
> =A0 =A0 =A0> off base.
> =A0 =A0 =A0>
> =A0 =A0 =A0> What if you start at the left side of the word and mat= ch characters
> =A0 =A0 =A0> until you get a matching rafsi, then look for optional= buffer
> =A0 =A0 =A0> characters before matching your next rafsi, &c? Yo= u could be much
> =A0 =A0 =A0> more sophisticated by adding detection for valid lerfu= clustering
> =A0 =A0 =A0> to throw out what would otherwise be an ambiguous case= .
> =A0 =A0 =A0>
> =A0 =A0 =A0> It sounds like you're working top down on the prob= lem rather than
> =A0 =A0 =A0> going from left to right, but I don't know what is= wrong with my
> =A0 =A0 =A0> suggestion yet.
> =A0 =A0 =A0>
> =A0 =A0 =A0> I see you've provided 3 simple examples, but can y= ou provide an
> =A0 =A0 =A0> example for morsi which you mention at the end?
> =A0 =A0 =A0>
> =A0 =A0 =A0> -Alan
> =A0 =A0 =A0> --
> =A0 =A0 =A0> .i ko djuno fi le do sevzi
> =A0 =A0 =A0> --
> =A0 =A0 =A0> You received this message because you are subscribed t= o the Google
> =A0 =A0 =A0> Groups "lojban" group.
> =A0 =A0 =A0> To post to this group, send email to [3][5= ]lojban@googlegroups.com.
> =A0 =A0 =A0> To unsubscribe from this group, send= email to
> =A0 =A0 =A0> [4][6]lojban+unsubscribe@googlegroups.com.
> =A0 =A0 =A0> For more options, visit this group a= t
> =A0 =A0 =A0> [5][7]http://groups.google.com/group/lojban?hl= =3Den.
> =A0 =A0 =A0>
> =A0 =A0 =A0> --
> =A0 =A0 =A0> You received this message because you are subscribed t= o the Google
> =A0 =A0 =A0Groups
> =A0 =A0 =A0> "lojban" group.
> =A0 =A0 =A0> To post to this group, send email to [8]lojban@googlegroups.com.
> =A0 =A0 =A0> To unsubscribe from this group, send= email to
> =A0 =A0 =A0> [9]lojban+unsubscribe@googlegroups.com.
> =A0 =A0 =A0> For more options, visit this group a= t
> =A0 =A0 =A0> [10]http://groups.google.com/group/lojban?hl=3D= en.
> =A0 =A0 =A0>
> =A0 =A0 =A0> References
> =A0 =A0 =A0>
> =A0 =A0 =A0> Visible links
> =A0 =A0 =A0> 1. mailto:[11]lukeabergen@gmail.com
> =A0 =A0 =A0> 2. mailto:[12]alyn.post@lodockikumazvati.org
> =A0 =A0 =A0> 3. mailto:[13]lojban@googlegroups.com
> =A0 =A0 =A0> 4. mailto:[14]lojban%2Bunsubscribe@googlegroups.com
> =A0 =A0 =A0> 5. [15]http://groups.google.com/group/lojban?hl=3Den<= /a>
> =A0 =A0 =A0--
> =A0 =A0 =A0.i ko djuno fi le do sevzi
>
> =A0 =A0 =A0--
> =A0 =A0 =A0You received this message because you are subscribed to the= Google
> =A0 =A0 =A0Groups "lojban" group.
> =A0 =A0 =A0To post to this group, send email to [16]
lojban@googlegroups.com.
> =A0 =A0 =A0To unsubscribe from this group, send emai= l to
> =A0 =A0 =A0[17]lojban+unsubscribe@googlegroups.com.
> =A0 =A0 =A0For more options, visit this group at
> =A0 =A0 =A0[18]http://groups.google.com/group/lojban?hl=3Den.
> =A0 =A01. mailto:alyn.post@lodockikumazvati.org
> =A0 =A02. http://www.lojb= an.org/tiki/tiki-index.php?page=3DBPFK+Section%3A+PEG+Morphology+Algorithm<= /a>
> =A0 =A07. http://groups.google.com/group/lojban?hl=3Den
> =A0 =A08. mailto:lojban@googlegroups.com
> =A0 =A09. mailto:lojban%2Bunsubscribe@googlegroups.com
> =A0 10. http://groups.google.com/group/lojban?hl=3Den
> =A0 11. mailto:lukeabergen@gm= ail.com
> =A0 12. mailto:alyn.= post@lodockikumazvati.org
> =A0 13. mailto:lojban@googl= egroups.com
> =A0 14. mailto:lojban%252Bunsubscribe@googlegroups.com
> =A0 15. http://groups.google.com/group/lojban?hl=3Den
> =A0 16. mailto:lojban@googl= egroups.com
> =A0 17. mailto:lojban%2Bunsubscribe@googlegroups.com
> =A0 18. http://groups.google.com/group/lojban?hl=3Den

--
.i ko djuno fi le do sevzi

--
You received this message because you are subscribed to the Google Groups &= quot;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/lojba= n?hl=3Den.


--
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@googlegrou= ps.com.
For more options, visit this group at http://groups.google.com/group/lojban= ?hl=3Den.
--0022152d6e5932b9fe0493c594a9--