Add --show-ast command line option

Currently ast_dump expects that there is at least one token and doesn't do bound checks. This means that this will crash when not passing `--show-ast`. `ast_dump` should be fixed, but why isn't the `ast_dump` call in the branch where `show_ast` is true?