1 comment

[ 30.8 ms ] story [ 197 ms ] thread
This is an example of using Flex and Bison to generate a parser that can be packaged up as a Ruby extension. The subject is JSON because it's LALR compatible and easily recognisable.

I've used this technique to produce tools that parse syntax other than JSON. I think it's neat because Flex/Bison is very mature, it works well the the Ruby C API, and the parser produced is self contained (i.e. no runtime components).