Database Systems

Writing an Interpreter for a Database-Coupled Language

PL\Flummi is a research language for the compiler “Flummi”. To verify the correctness of Flummi, we built an interpreter for PL\Flummi with the focal point of simplicity. With this in mind, we chose an abstract syntax tree (AST) interpreter, instead of the faster, but more complex, bytecode interpreter. Using a simple match statement, we traverse the AST of any PL\Flummi program. Now, comparing our interpreters output with Flummis output allows us to verify if Flummis output is correct. Rendering a few images using a ray tracer, we tested the performance of our interpreter, concluding that, except for very small inputs, our interpreter is significantly slower than Flummi. This emphasizes the fact that our interpreter is built with simplicity in mind, not performance. Comparing Flummis renders with those of our interpreter, we were able to verify Flummis renders as correct.

Contact

Tim Fischer