Merge pull request #5 from xeno-by/master

proposed evolution of scala-macros-interpreter
basic valdef and assign evaluation

- implement basic env extending with local vars
- update ctfe test: working basic one, add simple assignment and scoping test
interpret methods of primitives such as Int.+

this is basically a big multi-level pattern match against
reciever, method symbol and argument(s)
not really that neat, is it?

perhaps there is a better way to do it?
rework primitives' emulation engine, fix minor issues

- match against whole symbols when emulating primitives' methods
- fix primitives' methods test which was useless as constant expressions were evaluated by compiler
- reformat code to conform scala style
implement if and while exprs, add tests

there has been an issue with matching if and while trees:
Block tree was always matching them first despite not being their parent
quick fix of env and scoping issues

there were some issues concerning env handling:
- evalBlock discarded env produced by evaluating block content, so updates of all variables inherited from outer scope had no effect
- variable updates resulted in copying of entire env
upgrades the build to use 2.11.0-RC3
Merge pull request #9 from xeno-by/rc3

upgrades the build to use 2.11.0-RC3
consistently updates scala version to RC3, enables openjdk8 build
looks like openjdk8 is no longer supported
Merge pull request #10 from xeno-by/rc3

consistently updates scala version to RC3, enables openjdk8 build
introduce frame stack, reify from heap

- all reflected values are stored in heap now
- basically, heap is updated on any reflect/extend call
- gc is called at block exit to clean up locals and intermediate results
  although it seems to work, it's pretty dumb and  inefficient: it wipes out all values
  not present in any stack frame, thus removing results of new() as well
- reify now takes env, since all jvm values are stored in heap and heap is a part of env
Merge branch 'master' of https://github.com/scalareflect/interpreter
quickfix errors

- add error printing of unsupported emulated methods
make heap immutable, error handling, fix while

- fix discarding env after condition evaluation in while
Merge pull request #8 from xeno-by/master

results of today's hacking: a sketch for match interpretation and a few more minor things
fix incorrect update of local variables, fix wrong env returned

- fix wrong value updated on stack when updating a variable
- fix env not discarded upon exiting a block
- add error message for reporting interpreter state that could not occur
add tests
update scalatest to 2.1.2
add functions, methods, tests

- add support for function definition and evaluation
- including support for lambdas, closures, high-order functions
- add tests for mentioned features
- implement some more primitives' symbols