Divided the functionalities and tasks in a better way between the interpreter and semantic analyzer. Now the semantic analyser does not evaluate any values, it just checks types. And same vice versa. Also some bugs fixed.
Added error checking to the parsing.
Changed the ValueType "string" to "string_literal" so that the type declaration "string" is not confused in the actual litral. Before both had the same symbol type "string".
Removed unnecessary prints about the starting of the routine.