Development

The compiler is a Python program that uses the Pyparsing library for parsing. The generated Python program uses the NumPy , SciPy and Matplotlib libraries for numerical computations and plotting. For a detailed discussion of the dependencies see the installation instructions.

Python promises to be highly platform independent. Therfore everything should work on Windows exacly as it works on Linux.

Development currently happens on Linux only. The Pydev extension for Eclipse is used as the IDE. Pydev analyzes the program and can complete Python code much better than any other free IDE I know. It uses Pylint to flag errors and bad coding practice. Eclipse and Pydev are written in Java, and should therfore work on Windows as well.

Pydev's code completion is quite slow; it can unfortunately not usefuly work when all of NumPy has been imported. It will then always hang for ~30s before it can show a list of possible completions (on Pentium M 1.4 GHz). Pydev's slowness is the reason why the code conains lines like this:

from numpy import array, linspace, zeros, shape, ones, resize
instead of:
from numpy import *

Getting the sources, participate

Freeode uses Launchpad to coordinate development. The central location for all development activities is Freeode's project page. The latest version of all of the project's files, is available in the trunk series.

To get the latest version of everything, including website, and some additional documentation, type:

bzr branch lp:freeode

This will create a directory named freeode in the current directory. The Python version of the compiler is in: freeode/freeode_py/