Index: src/Boo.Lang.Parser/boo.g =================================================================== --- src/Boo.Lang.Parser/boo.g (revision 1773) +++ src/Boo.Lang.Parser/boo.g (working copy) @@ -2578,7 +2578,12 @@ ) ; -DOT : '.' ((DIGIT)+ {$setType(DOUBLE);})?; +DOT : '.' + ( + (DIGIT)+ {$setType(DOUBLE);} + (("ms" | 's' | 'm' | 'h' | 'd') { $setType(TIMESPAN); })? + )? + ; COLON : ':'; Index: src/Boo.Lang.Parser/booel.g =================================================================== --- src/Boo.Lang.Parser/booel.g (revision 1773) +++ src/Boo.Lang.Parser/booel.g (working copy) @@ -70,7 +70,12 @@ ) ; -DOT : '.' ((DIGIT)+ {$setType(DOUBLE);})?; +DOT : '.' + ( + (DIGIT)+ {$setType(DOUBLE);} + (("ms" | 's' | 'm' | 'h' | 'd') { $setType(TIMESPAN); })? + )? + ; COLON : ':'; Index: tests/testcases/compilation/timespan0.boo =================================================================== --- tests/testcases/compilation/timespan0.boo (revision 1773) +++ tests/testcases/compilation/timespan0.boo (working copy) @@ -1,6 +1,8 @@ """ 02:00:00 00:01:06 +00:54:00 """ print(2h) print(66s) +print(.9h)