Fix float literal lexing

Support the `Digits ExponentPart [FloatTypeSuffix]` production
in JLS 3.10.2, e.g. `1e0`.

MOE_MIGRATED_REVID=137065662
diff --git a/java/com/google/turbine/parse/StreamLexer.java b/java/com/google/turbine/parse/StreamLexer.java
index 35dd81d..2197dfc 100644
--- a/java/com/google/turbine/parse/StreamLexer.java
+++ b/java/com/google/turbine/parse/StreamLexer.java
@@ -474,6 +474,8 @@
   private Token decimalLiteral() {
     readDigits();
     switch (ch) {
+      case 'e':
+      case 'E':
       case '.':
         eat();
         return floatLiteral();
diff --git a/javatests/com/google/turbine/lower/LowerIntegrationTest.java b/javatests/com/google/turbine/lower/LowerIntegrationTest.java
index a96fea8..76a43f5 100644
--- a/javatests/com/google/turbine/lower/LowerIntegrationTest.java
+++ b/javatests/com/google/turbine/lower/LowerIntegrationTest.java
@@ -225,6 +225,7 @@
       "marker.test",
       "interface_method.test",
       "raw_canon.test",
+      "float_exponent.test",
     };
     List<Object[]> tests =
         ImmutableList.copyOf(testCases).stream().map(x -> new Object[] {x}).collect(toList());
diff --git a/javatests/com/google/turbine/lower/testdata/float_exponent.test b/javatests/com/google/turbine/lower/testdata/float_exponent.test
new file mode 100644
index 0000000..49564c0
--- /dev/null
+++ b/javatests/com/google/turbine/lower/testdata/float_exponent.test
@@ -0,0 +1,4 @@
+=== Test.java ===
+interface Test {
+  long NANOS = (long) 1e9;
+}
\ No newline at end of file