Hi once again,

I am adding a variation on Romano's example to show how it can be solved:

    nr: not-rule [1 1 1]
    parse [1] [any [nr skip]]
    parse [2] [any [nr skip]]

HTH
    Ladislav

<<Romano>>

But there is at least one little problem with Ladislav's not-rule:

>> nr: not-rule [1]
== [[[1] (finish: [end skip]) | (finish: [])] finish]
>> parse [1] nr
== false
>> parse [2] nr
== false

> Regards,
> Brett.

---
Ciao
Romano

<</Romano>>

This is not a problem with my rule, it is by design. If you want to match a
block that doesn't match the Rule: [integer!] at the start, you have to use
it as follows:

    rule: [integer!]
    nr: not-rule rule
    parse [1 a] [nr to end]
    parse [a 1] [nr to end]

If you want to match a block that doesn't match the rule anywhere, you have
to write it as follows:

    parse [a b c 1 d] [any [nr skip]]
    parse [a b c d e] [any [nr skip]]

HTH
    Ladislav


-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to