lexer changes (contains david's newer code)

changes mainly in variable.java, main.java, tokengenerator.java.

david please read comments in parser.java