SMOP compiler

Not logged in

SMOP stands for Static Matlab/Octave to Python compiler download site. SMOP is written in Python, using Fossil for project management, PLY -- Python Lex/Yacc for lexical analysis and parsing, and numpy for runtime environment. SMOP is platform-independent, but is tested only on Ubuntu Linux and Windows-XP.

Submit bug reports here.

SMOP is work in progress. My next milestone is to compile to Python the winning submissions from MATLAB Programming Contest with as little modifications of the source code as possible. My immediate goal is the Nov 2004 problem -- "Moving Furniture". SMOP compiles runcontest.m and solver.m submitted by MATLAB team, but not yet fastsolver.m -- the winning submission by GUO. You can see these files in smop/testsuite/furniture directory. To see SMOP in action, download and untar the sources, then:

$ smopc --version # sanity check. 
$ cd smop-A.B.C/src/smop/testsuite/furniture
$ smopc runcontest.m solver.m -o a.py # generates a.py
$ more a.py # take a look
$ python a.py # takes several minutes on slower machines