<div dir="ltr"><div dir="ltr"><div>Hi,</div><div><br></div><div>I am confused with the basic syntax of Ragel. Let's see this machine from the ragel guide:</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">%%{ machine foo;<br>main :=<br>( ’foo’ | ’bar’ )<br>0 @{ res = 1; };<br>}%%<br></blockquote><div><br></div><div>As far as I can understand this machine looks for the 'foo' or 'bar' strings and sets the variable from the host language 'res' to 1 if a match is found. <br></div><div><br></div><div>What I don't understand is what the 0 and the @{} stands for. What the exact meaning of these signs and how they are used to run actions in case of a match?</div><div><br></div><div>Thanks</div><div>Denes Lados<br></div></div></div></div>