flex.rb is a regexp matching and scanning library for the Ruby language. It is more than 3 times faster than Ruby regexps, and supports matching text arriving in multiple parts (via async, non-blocking I/O). flex.rb embeds the GNU Flex 2.5.4 (fast lexical analyzer generator) as an engine, and all of Flex's functionality is accessible from Ruby scripts.
GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any programming language makes it much more versatile than cpp, while its syntax is lighter and more flexible than that of m4. The syntax is fully customizable, which makes it possible to process text files, HTML, or source code equally efficiently in a variety of languages.