fix grammar to get rid of shift/reduce and reduce/reduce conflicts introduced in earlier stages
simple type checking in control flow structures
construct block graph for conditionals
add block type for while statements