added some basic compiler optimization
improved syntax error message, and added if/then/else support.