updated README
[aqualang.git] / README.md
blobb0aa6c45c5d9306db19118c36ec2ab88f3e724b3
1 # jtc
3 A toy programming language interpreter
5 ## building
7 ~~the jtc interpreter has no dependencies and sits in a single C++ file.~~
8 ~~C++11 capable compilers should compile it without extra options other~~
9 ~~than enabling C++11.~~
11 ~~example: `g++ -o jtc jtc.cpp -std=c++0x -O3`~~
13 Not anymore! Sorry :-( ... To build jtc, you'll need cmake now.<br />
14 Quick setup:
16     mkdir build
17     cd build
18     cmake ..
19     make # be patient!
20     # all set
22 The main executable is `jtc`.<br />
23 The library is 'libjtc.so' (or `jtc.dll` on windows).
25 The entire API (which is still awaiting some rewrital) is in include/jtc.h.<br/>
26 For now, `src/main.cpp`, as well as `src/stdlib*.cpp` need to suffice as API examples ... though I'm working on better examples.
28 ## todo
30 1. Better name? `jtc` is more of a temporary name. Maybe this whole thing grows into something more
32 2. JIT-/Bytecode-support is pretty much WONTFIX, but it's nice to think about.
34 3. Rewrite of the API. Many parts are as good as it gets (though tend to be arguably awkward -- see `src/ops.cpp`), but there's a slight template-induced codesmell.<br />
35 Having a better API might also reduce compile times, and make it easier to optimize.
37 4. Wrap the whole mess in a namespace. Pretty much requires point #1.
40 5. Better runtime library. Not really a priority for now, though. Starting points can be found in `src/{private.h,stdlib*.cpp}`.