TypeChecker and Grammar rewrite

Changed grammar to include all types
Implemented Typechecker for all clear cases where boolean or number types are expected exclusively