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).
1 comment
[ 30.8 ms ] story [ 197 ms ] threadI'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).