Double/float literals in AIDL

Bug: 110758329
Test: runtests.sh
Change-Id: I3fb3c6e9286c59513e9961f0044e235d8ad0a0a0
diff --git a/aidl_language_l.ll b/aidl_language_l.ll
index 40dc2ff..9ca8f16 100644
--- a/aidl_language_l.ll
+++ b/aidl_language_l.ll
@@ -22,6 +22,7 @@
 whitespace  ([ \t\r]+)
 intvalue    [-+]?(0|[1-9][0-9]*)
 hexvalue    0[x|X][0-9a-fA-F]+
+floatvalue  [-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?f?
 
 %%
 %{
@@ -98,6 +99,8 @@
                       }
 {intvalue}            { yylval->token = new AidlToken(yytext, extra_text);
                         return yy::parser::token::INTVALUE; }
+{floatvalue}          { yylval->token = new AidlToken(yytext, extra_text);
+                        return yy::parser::token::FLOATVALUE; }
 {hexvalue}            { yylval->token = new AidlToken(yytext, extra_text);
                         return yy::parser::token::HEXVALUE; }