Ragel doesn&#x27;t support recursion (last I checked), so it&#x27;s not suitable for many parsing jobs. I considered it for MoonScript&#x27;s parser at one point but it didn&#x27;t seem like it could do it. I&#x27;ve been experimenting with this project as a replacement for LPEG for the MoonScript parser: <a href="http:&#x2F;&#x2F;piumarta.com&#x2F;software&#x2F;peg&#x2F;" rel="nofollow">http:&#x2F;&#x2F;piumarta.com&#x2F;software&#x2F;peg&#x2F;</a><p>I&#x27;ve made an LPEG style syntax that compiles to the peg syntax for that tool, which is then compiled to c and linked into a Lua module, you can see how the parser is written here: <a href="https:&#x2F;&#x2F;github.com&#x2F;leafo&#x2F;moonparse&#x2F;blob&#x2F;master&#x2F;parse.peg.moon#L115" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;leafo&#x2F;moonparse&#x2F;blob&#x2F;master&#x2F;parse.peg.moo...</a>