Added a test that revealed another problem.
Fixed lexer bug where . was being interpreted as floating point.   A number like 3. is no longer allowed.   Floats require a digit on both sides of the period.