Not tried it but maybe something like this works on gcc: cpp -dU -P -CC -o output.rl macroedsource.rl
On 16 Dec 2010, at 17:34, Adrian Thurston <[email protected]> wrote: > This has been a desired feature for many years. A few times I've sketched out > a solution, but it has never materialized. Your request has been noted it > bumps the relative priority. > > Thanks, > Adrian > > On 10-12-08 01:23 PM, Iñaki Baz Castillo wrote: >> 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. >> >> > > _______________________________________________ > ragel-users mailing list > [email protected] > http://www.complang.org/mailman/listinfo/ragel-users _______________________________________________ ragel-users mailing list [email protected] http://www.complang.org/mailman/listinfo/ragel-users
