added test suite for basic language features (not yet fully complete); improved error reporting precision; fixed a bug with function chaining; some EBNF cleanup