Thesis / report · 2004
Compiling regular expressions into Java bytecodes
Vassilios Karakoidas
The MSc dissertation behind FIRE/J: a compiler that turns a regular expression into Java bytecodes, with the automata theory, the JVM internals and the comparison against the engines of the day worked through in full.
- Published in
- Master's Thesis, Athens University of Economics and Business, 2004
- Citations
- Not indexed by Google Scholar.
- Cite as
- VK04
What it contains
A complete treatment of the problem FIRE/J solves, in Greek, over seven chapters:
- Regular expressions — the history, the definitions, the syntax, and the two ways of processing them; the construction of non-deterministic and then deterministic automata from an expression.
- The Java virtual machine at the level of detail a code generator needs: data types, registers, local variables, the operand stack, the execution environment, memory management, the structure of class files, signatures, the bytecode instruction set and the encoding of method code.
- A survey and comparison of the regular expression engines available for Java at the time — Sun's, IBM's, GNU's, Jakarta Regexp and ORO, and dk.brics.automaton — with stated criteria and a performance test; and a look at how other platforms handle the problem, from .NET and Perl to GNU Kawa and SQL:1999.
- The design and the implementation of the F.i.r.e. compiler — the automaton construction components, and three code writers:
JavaSourceWriter,JavaAssemblyWriterandJavaClassWriter. - Performance testing, including compatibility checks against the other engines.
Where it sits
The engine is FIRE/J; the journal paper it became is the 2008 SPE article.
Written from the dissertation itself — the PDF linked above, which this site hosts. It is in Greek; the chapter and section structure is the dissertation's own table of contents.