[ragel-users] Something like #define macros for Ragel grammar?

Iñaki Baz Castillo ibc at aliax.net
Wed Dec 8 21:23:26 UTC 2010

Hi, my Ragel grammar have many lines like "Via" below:

 via_parm   = ( sent_protocol LWS sent_by ( SEMI ( via_branch |
header_param ) )* )
                    >start_value %store_value;
 Via           = ( "Via"i | "v"i ) >write_value >start_field
%write_field HCOLON via_parm
                    ( COMMA %write_value via_parm )*;

So I would like to use smething like a C #define. This is, adding at
the top of my Ragel file:

  #define COMMA_SEPARATED_VALUES(VALUE) ">write_value >start_field
             %write_field HCOLON VALUE ( COMMA %write_value VALUE )*;"

And then in the machine write:

  Via = ( "Via"i | "v"i ) COMMA_SEPARATED_VALUE(via_parm)

Of course this doesn't work. Is there a way to use "define" macros in
Ragel prior to parsing the Ragel grammar? or must I use m4?

Thanks a lot.

Iñaki Baz Castillo
<ibc at aliax.net>

ragel-users mailing list
ragel-users at complang.org

More information about the ragel-users mailing list