Use builtin alnum instead of char class
Added conditionals support to the parser