parsing of if-then-else expressions