switches main to read in the string first and then pass it to the lexer. This should fix the super annoying eof thing