correcciones a la revision:
-1 (int5)leading plus or minus should scan separately from int constant
-1 (int7)should recognize int constants immediately followed by operators (e.g., 3+4)
-1 (double1)should recognize simple double constant with no exponent
-1 (double4)should recognize double constant with no digits after decimal point
-1 (double6)should recognize double constant without an explicit sign on exponent
-1 (double8)should not accept invalid doubles (.45, .45E+2, .45E+2.5, 4.5.45)
-1 (op3)should report error on chars that cannot be tokens (:, @, ~, |, etc.)
-1 (ident1)should recognize single and multi-char sequences of letters as identifiers
-1 (ident4)identifiers can contain underscores anywhere but the first position
-1 (ident6)should recognize identifiers followed by operators or with keyword substrings (e.g. ab+, while2)
-1 (string8)should report error on unterminated string constant ending in EOF
-1 (comment1)should recognize non-nested /* */ comments on single line and across multiple lines
-1 (define1)preprocessor should handle simple #define substitution
-1 (define2)preprocessor should allow redefinition to supercede any earlier
-1 (define4)preprocessor should report error for malformed #define, rest of line is discarded