I've merged the code generation branch into the main repository.
<https://github.com/josepablocam/aquery>

You can download the jar with the executable from google drive
<https://drive.google.com/open?id=0B9IR8VjNetPYbWRIX0x2SEdoUGc> (for
simplicity).

If you'd like to build from source, the steps are:

0 - Copy the github repository
git clone git@github.com:josepablocam/aquery.git
1 - Install sbt <http://www.scala-sbt.org/> (this takes care of every
dependency needed during building)
2 - Make sure you have q in your PATH, as the code generation tests rely on
q to execute the tests (to compare results for correctness purposes)
3 - call assembly in the sbt prompt (this runs tests, compiles code, and
assembles the jar, which is stored in target/scala-2.11)

You need to put the data 

plantfixed.csv-- fixed info about plants	
planttime.csv -- variable info about plants, e.g. size of certain parts
nodefixed.csv-- fixed info about nodes	
nodetime.csv -- variable info about nodes, e.g. size grows over time

In this directory, run
q data_to_q.q -csv . -save .

NB: Note that data_to_q.q has to reflect the format
of the csv file correctly
in the functions makenodetime, makenodefixed, makeplanttime, make plantfixed

Then 
q plantprep.q  // This creates anctable and desctable

java -jar aquery.jar -a 1 -c -o plantout.q plant.a

translates plant.a into an optimized q version (and saves it in plantout.q).

and then inspect plantout.q for problems
q plantout.q

Since there are more command line options now, you can also print the help
message for more info

java -jar aquery.jar -h



Suggestions for Jonathan:
1. Attribute of size for node over time. nodetime.csv
(already true)

2. Attribute of plant will include yield and that will be in plantfixed.csv 
(not yet true)

3. Queries that compute the number of nodes per plant, the average size
per plant of each node, the sum of the sizes of all nodes per plant at 
different time,
average rate of growth of the sum of all sizes per plant (this will require
order)
