Sure... I'll share a "working example" from what I was working on at the time. Pleas keep in mind I wrote this over 8 months ago and never placed it into production (I've moved to a new role since them).<div>

<br></div><div>Anyway beyond what's in the attached example, I had a terrible file format that I'd written an equally terrible state machine to read. This sample only deals with the wrapper part of the file. Essentially it looks like:</div>
<div><br></div><div><div style>opening xml-like tag with parameters type and info... this looks like <XRNDATA08192> the code<br></div><div style>length... this is a 4-byte little endian length</div><div style>binary blog of length bytes... binary data of the length from the previous element</div>
<div style>closing xml-like tag... this looks like </XRNDATA> in the code</div><div style><br></div><div style>Finally, here's the C-code pasted below</div><div style><br></div><div style>//----code start----</div>
<div style><div><font color="#222222" face="arial, sans-serif">#include <stdio.h></font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">/*</font></div>
<div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">chunks in file look like</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div>
<div><font color="#222222" face="arial, sans-serif"><XRNDATA08192020001>LenData</XRNDATA></font></div><div><font color="#222222" face="arial, sans-serif">where "08192" is an ASCII type designator (can expect other types)</font></div>
<div><font color="#222222" face="arial, sans-serif">where "020001" is an ASCII information field</font></div><div><font color="#222222" face="arial, sans-serif">where Len is a 4-byte little endian length designator</font></div>
<div><font color="#222222" face="arial, sans-serif">where Data is binary data of Len length</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">*/</font></div>
<div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">#define XRN 'X', 'R', 'N', 'D', 'A', 'T', 'A'</font></div>
<div><font color="#222222" face="arial, sans-serif">#define T1  '0', '8', '1', '9', '2'</font></div><div><font color="#222222" face="arial, sans-serif">#define T2  '0', '0', '0', '1', '6'</font></div>
<div><font color="#222222" face="arial, sans-serif">#define T3  '0', '0', '0', '0', '8'</font></div><div><font color="#222222" face="arial, sans-serif">#define T4  '0', '0', '0', '0', '1'</font></div>
<div><font color="#222222" face="arial, sans-serif">#define I1  '0', '2', '0', '0', '0', '1'</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div>
<div><font color="#222222" face="arial, sans-serif">%%{</font></div><div><font color="#222222" face="arial, sans-serif">machine tds;</font></div><div><font color="#222222" face="arial, sans-serif">write data;</font></div>
<div><font color="#222222" face="arial, sans-serif">}%%</font></div><div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">int main() {</font></div><div><font color="#222222" face="arial, sans-serif">int len = 0;</font></div>
<div><font color="#222222" face="arial, sans-serif">unsigned char buf[] = {</font></div><div><font color="#222222" face="arial, sans-serif">'<', XRN, T1, I1, '>', 0, 0, 0, 5, 48,49,50,51,52, '<', '/', XRN, '>',</font></div>
<div><font color="#222222" face="arial, sans-serif">'<', XRN, T2, I1, '>', 0, 0, 0, 1, 10, '<', '/', XRN, '>',</font></div><div><font color="#222222" face="arial, sans-serif">'<', XRN, T3, I1, '>', 0, 0, 0, 1, 10, '<', '/', XRN, '>',</font></div>
<div><font color="#222222" face="arial, sans-serif">'<', XRN, T4, I1, '>', 0, 0, 0, 1, 10, '<', '/', XRN, '>',</font></div><div><font color="#222222" face="arial, sans-serif">'<', XRN, T1, I1, '>', 0, 0, 0, 0, '<', '/', XRN, '>',</font></div>
<div><font color="#222222" face="arial, sans-serif">'<', T1, I1, '>', 0, 0, 0, 0, '<', '/', XRN, '>',</font></div><div><font color="#222222" face="arial, sans-serif">};</font></div>
<div><font color="#222222" face="arial, sans-serif">int cs, r = 0;</font></div><div><font color="#222222" face="arial, sans-serif">unsigned char *p = (unsigned char *)&buf;</font></div><div><font color="#222222" face="arial, sans-serif">unsigned char *pe = p + sizeof(buf);</font></div>
<div><font color="#222222" face="arial, sans-serif">unsigned char *eof = NULL;</font></div><div><font color="#222222" face="arial, sans-serif">printf("len=%d\n", len);</font></div><div><font color="#222222" face="arial, sans-serif">%%{</font></div>
<div><font color="#222222" face="arial, sans-serif">t1 = '08192' @{ printf("t1\n"); };</font></div><div><font color="#222222" face="arial, sans-serif">t2 = '00016' @{ printf("t2\n"); };</font></div>
<div><font color="#222222" face="arial, sans-serif">t3 = '00008' @{ printf("t3\n"); };</font></div><div><font color="#222222" face="arial, sans-serif">t4 = '00001' @{ printf("t4\n"); };</font></div>
<div><font color="#222222" face="arial, sans-serif">type = (t1 | t2 | t3 | t4);</font></div><div><font color="#222222" face="arial, sans-serif">info = '020001';</font></div><div><font color="#222222" face="arial, sans-serif">open = '<XRNDATA' type info '>' @{ printf("begin XRNDATA\n"); len = 0; };</font></div>
<div><font color="#222222" face="arial, sans-serif">len = extend{4} @{ printf("len = %d\n", (int)*p); len = (len*256) + (*p); };</font></div><div><font color="#222222" face="arial, sans-serif">action check {len--}</font></div>
<div><font color="#222222" face="arial, sans-serif">action bad {printf("BAD\n");}</font></div><div><font color="#222222" face="arial, sans-serif">buffer = (any when check)* %when !check @{ printf("[%d]:%d\n", len, *p); };</font></div>
<div><font color="#222222" face="arial, sans-serif">close = '</XRNDATA>' @{ printf("end XRNDATA\n"); };</font></div><div><font color="#222222" face="arial, sans-serif">expr = (</font></div><div><font color="#222222" face="arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>open @lerr(bad)</font></div>
<div><font color="#222222" face="arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">     </span>len</font></div><div><font color="#222222" face="arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">    </span>buffer</font></div>
<div><font color="#222222" face="arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">     </span>close</font></div><div><font color="#222222" face="arial, sans-serif">);</font></div><div><font color="#222222" face="arial, sans-serif">main := expr* ;</font></div>
<div><font color="#222222" face="arial, sans-serif">write init;</font></div><div><font color="#222222" face="arial, sans-serif">write exec;</font></div><div><font color="#222222" face="arial, sans-serif">}%%</font></div><div>
<font color="#222222" face="arial, sans-serif">return 0;</font></div><div><font color="#222222" face="arial, sans-serif">}</font></div></div><div style>//----code end----</div>
<div><br><div class="gmail_quote">On Wed, Mar 14, 2012 at 7:09 PM,  <span dir="ltr"><<a href="mailto:pyguest@fastmail.fm" target="_blank">pyguest@fastmail.fm</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Joesph Stewart,<br>
<br>
I think you were doing some work with binary protocols earlier. Any<br>
chance you can post some examples?<br>
<br>
Andrew,<br>
<br>
Reading some of your older posts, it seems that you were going to have<br>
stronger support for binary protocols in version 7. Is that still true?<br>
If so, any idea when we can expect to see this?<br>
<span><font color="#888888"><br>
--<br>
<a href="http://www.fastmail.fm" target="_blank">http://www.fastmail.fm</a> - The way an email service should be<br>
<br>
<br>
_______________________________________________<br>
ragel-users mailing list<br>
<a href="mailto:ragel-users@complang.org" target="_blank">ragel-users@complang.org</a><br>
<a href="http://www.complang.org/mailman/listinfo/ragel-users" target="_blank">http://www.complang.org/mailman/listinfo/ragel-users</a><br>
</font></span></blockquote></div><br></div></div>