Source code

For the impatient

git clone git@bitbucket.org:robcogenteam/robcogen.git
cd robcogen
git submodule update --init
make

Getting the code

The source code of RobCoGen is contained in several git repositories. The easiest way of getting all the sources is to clone the git-superproject which contains all the rest as git submodules:

git clone git@bitbucket.org:robcogenteam/robcogen.git
cd robcogen
git submodule update --init

In any case, each individual repository lives within the RobCoGen-new project on BitBucket.

Here is a brief description of the repos:

  1. Those whose name starts with dsl_. These are the Domain Specific Languages (DSLs) that together provide the code generation capabilities of RobCoGen.

  2. ui is the simple user interface for RobCoGen. It is Java program that interacts programmatically with the DSLs. It is a textual interface.

  3. maxima-libs : a few Maxima source files which are required at runtime by RobCoGen. This code does not get compiled. This code is always included in the binary distribution of RobCoGen.

  4. cpp-iitrbd : a small C++ library required to compile the C++ code that RobCoGen generates. It is not required to build nor run RobCoGen itself. This code is also included in the binary distribution.

  5. octave-tests : a set of Octave functions designed to test the code generated by RobCoGen. See here.

Building from source

Just type make in the root folder, and hope for the best:

git clone git@bitbucket.org:robcogenteam/robcogen.git robcogen
cd robcogen
git submodule update --init
make

But you will have to install some prerequisites first.

Building the source code of RobCoGen is a complicated task, which is accomplished by the machinery contained in the building repository, which is yet another submodule. There is no need to look into it, but if you are curious, please refer to the readme of that project, which contains more information about the various components of RobCoGen, and about the building process (including the prerequisites mentioned above). Beware that the building instructions there refer to the more "manual" process, that you should not have to follow. The make in the parent repository will take care of those steps.

An alternative, in fact more traditional way to build RobCoGen requires to be familiar with the Xtext workbench for Eclipse, set up (within Xtext) the RobCoGen DSLs (and the user interface) and let Eclipse do the building.

The building repository is an attempt to execute the building process independently from Eclipse.

Source code