[ragel-users] Passing data to actions

Ico ragel at zevv.nl
Thu Apr 19 06:21:23 UTC 2018


Quoting Adrian Thurston (2018-04-19 02:29:30)

> It's actually already implemented in ragel 7. See tests/args*.rl.

Sweet, I will look into that, thank you.

> Hopefully this year I'll start iterating some ragel 7 stable releases. 
> I'm almost done the researchy kind of things and soon I can start 
> addressing issues of a practical matter.

After a quick test I found that the same ragel machine compiled by ragel 7
results in a significant larger binary compared to ragel 6.10:

  ico at platdoos:/tmp$ bloat-o-meter a6 a7
  add/remove: 5/3 grow/shrink: 6/0 up/down: 5273/-1139 (4134)
  function                                     old     new   delta
  _rtsp_parser_trans_offsets                     -    1478   +1478
  _rtsp_parser_cond_targs                        -    1478   +1478
  _rtsp_parser_trans_lengths                     -     739    +739
  _rtsp_parser_cond_keys                         -     739    +739
  _rtsp_parser_cond_actions                      -     739    +739
  parse                                        640     733     +93
  _rtsp_parser_key_offsets                     350     352      +2
  _rtsp_parser_index_offsets                   350     352      +2
  _rtsp_parser_single_lengths                  175     176      +1
  _rtsp_parser_range_lengths                   175     176      +1
  _rtsp_parser_actions                         104     105      +1
  _rtsp_parser_trans_targs                     200       -    -200
  _rtsp_parser_trans_actions                   200       -    -200
  _rtsp_parser_indicies                        739       -    -739

I must admit I have not gone through the new documentation yet, but is
there any obvious reason for this increase in size? As my parser will
run on an embedded system with restricted resources it is always worth
saving a few Kb's

Thanks,

Ico

--
:wq
^X^Cy^K^X^C^C^C^C



More information about the ragel-users mailing list