I had a chance to have a little closer look. Do something like this.

Note theat the %when !check syntax isn't documented yet. It's been around for a few years and works (I use it at work), I'm just not totally happy with the implementation.

action check {len--}

buffer =
    (any when check)*
    %when !check
    @{ printf("[%d]:%d\n", len, *p); };

close =
    '</XRNDATA>'
    @{ printf("end XRNDATA\n"); };

expr = open len buffer close;

_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users

Reply via email to