Added a few constructors to the abstract tree nodes.
Defined the Block in the grammar and added it to the function definition.
Added the Abstract Tree Node class to define which classes are tree nodes.