Could one of you write a small paragraph for the petit parser chapter?

Le 18/12/14 09:07, Jan Kurš a écrit :
Exactly...

This happens so often that we should add some warning somewhere in these cases....


Cheers,
Jan

On 18 December 2014 at 08:36, Guillaume Larcheveque <guillaume.larcheve...@gmail.com <mailto:guillaume.larcheve...@gmail.com>> wrote:

    So you just have to remove the #star in notA or replace it by
    #plus to makes it succeed only when it consume at least one character

    2014-12-18 7:54 GMT+01:00 Guillaume Larcheveque
    <guillaume.larcheve...@gmail.com
    <mailto:guillaume.larcheve...@gmail.com>>:

        With x, x it will only go to 2 level deep.

        With the plus you allow to go as far as the x rule succeed and
        your x rule always succeed because notA always succeed due to
        the star without consuming anything so you fall into infinite
        loop.

        2014-12-18 6:47 GMT+01:00 James Foster <smallt...@jgfoster.net
        <mailto:smallt...@jgfoster.net>>:

            There is something about plus that I don’t understand. In
            the following code if I parse for (x , x) then I get what
            I expect. If I parse for (x plus) then the image hangs.
            What am I doing wrong?

            James

            | a notA x y |
            a := $a asParser.
            notA := $a asParser negate star flatten.
            x := a / notA.
            y := x , x.     “works fine”
            y := x plus. “never finishes”
            ^y end parse: 'ab’.




-- *Guillaume Larcheveque*



-- *Guillaume Larcheveque*


Reply via email to