FIRE/J - optimizing regular expression searches with generative programming

Vassilios Karakoidas, Diomidis Spinellis. FIRE/J - optimizing regular expression searches with generative programming. Software: Practice and Experience, 38(6):557-573, 2008. [doi]

Abstract

Regular expressions are a powerful tool for analyzing and manipulating text. Their theoretical background lies within automata theory and formal languages. The FIRE/J (Fast Implementation of Regular Expressions for Java) regular expression library is designed to provide maximum execution speed, while remaining portable across different machine architectures. To achieve that, FIRE/J transforms each regular expression into a tailor-made class file, which is compiled directly to Java virtual machine (JVM) bytecodes. The library is compatible with the POSIX standard.