Okay, I did some more reading and now understand why with -G2 cs variable is always the same value.  From chapter 5, page 43:<div>"<span class="Apple-style-span" style="font-family: Helvetica; font-size: 11px; ">Generally this produces faster running code because it allows the machine to encode the current 
</span>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica">state using the processor's instruction pointer."</p><div><br class="webkit-block-placeholder"></div><div>I've also been able to reduce the machine size by merging a few redundant states... Still am hoping to get some feedback, regarding whether my approach to the parser is reasonable and if there are any obvious features of ragel that I'm missing.
</div><div><br class="webkit-block-placeholder"></div><div>Thanks,</div><div>Todd</div><br><div class="gmail_quote">On Jan 6, 2008 5:16 PM, taf2 <<a href="mailto:todd.fis...@gmail.com">todd.fis...@gmail.com</a>> wrote:
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>Hi,<br><br>  I've been doing some work on implementing a parser to handle ESI<br>(Edge Side Include) Tags.   I am fairly sure, I have the parser
<br>working, but am curious about methods for optimizing.  I noticed that<br>if  I generate my parser using -G1  I get a file about 25K lines.<br>With -T1 I get about 5K lines.   Also, when using -G2  i'm not seeing<br>
the cs variable changing.   I noticed some pretty significant changes<br>in size based on some simple changes in how I matched attributes.<br>Looking for any advice on methods for optimizing my parser.     Here's<br>my main parser file:  
<a href="http://mongrel-esi.googlecode.com/svn/trunk/ext/esi/common.rl" target="_blank">http://mongrel-esi.googlecode.com/svn/trunk/ext/esi/common.rl</a><br><br>Thanks,<br>Todd<br>