GSOC2010:Tcl state machine back-end module for XMLVM

Title: Tcl state machine back-end module for XMLVM

Student: Ozgur Dogan Ugurlu

Abstract

A stack based interpreter implementation in Tcl. Working as a back-end for the XMLVM bytecode cross-compiler. This would all JVM bytecode producing languages and .Net languages to be translated to Tcl.

Summary

This project is about implementing a stack machine in Tcl. This is going to be a special purpose stack machine that is compatible with the cross-compiler tool XMLVM. It will be implementing the JVM bytecodes. I would take a depth first approach for the development of this VM, trying to get the smallest JVM program to execute with the minimal subset JVM in Tcl and expand from there.

Schedule

May 24-June 1
Analysis of the Python code produced by XMLVM, in order to understand the scheme.
June 10
A poorman's JVM with a couple of bytecode instructions will be able to run a small program.
July 1
Close to 50 percent of bytecodes should be implemented.
July 15-22
Substantial portion of the bytecodes are implemented.
July 30
Testing and quality improvement

About Me

I am a graduate student at University of San Francisco, getting my Master's in Computer Science. I am interested in virtual machines, programming and interpreted languages and have implemented a simple stack machine in Java for a class project of mine. Currently I am working on a research project about rewriting Python bytecode for dynamic analysis. It seems my current research may well end up at modifying the interpreter as well. I am familiar with how stack machines work. I used XML, XSLT, Xpath and am proficient with Java and Python. Particularly fast with Python. I've done a fair amount of C programming at os level. I think my experience with a previously implemented stack machine, familiarity with bytecode and enthusiasm to learn more about virtual machines makes me a reasonable candidate for this project.