summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library/scala/util/parsing/combinator/JavaTokenParsers.scala2
-rw-r--r--test/files/run/jtptest.check7
-rw-r--r--test/files/run/jtptest.scala17
3 files changed, 25 insertions, 1 deletions
diff --git a/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala b/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala
index 2774cc8cea..8070cb110e 100644
--- a/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala
+++ b/src/library/scala/util/parsing/combinator/JavaTokenParsers.scala
@@ -16,7 +16,7 @@ trait JavaTokenParsers extends RegexParsers {
def wholeNumber: Parser[String] =
"""-?\d+""".r
def decimalNumber: Parser[String] =
- """(\d+(\.\d*)?|\d*.\d+)""".r
+ """(\d+(\.\d*)?|\d*\.\d+)""".r
def stringLiteral: Parser[String] =
("\""+"""([^"\p{Cntrl}\\]|\\[\\/bfnrt]|\\u[a-fA-F0-9]{4})*"""+"\"").r
def floatingPointNumber: Parser[String] =
diff --git a/test/files/run/jtptest.check b/test/files/run/jtptest.check
new file mode 100644
index 0000000000..95dbd28437
--- /dev/null
+++ b/test/files/run/jtptest.check
@@ -0,0 +1,7 @@
+[1.4] parsed: 1.1
+[1.3] parsed: 1.
+[1.3] parsed: .1
+[1.1] failure: string matching regex `(\d+(\.\d*)?|\d*\.\d+)' expected but `!' found
+
+!1
+^
diff --git a/test/files/run/jtptest.scala b/test/files/run/jtptest.scala
new file mode 100644
index 0000000000..4d0eef9153
--- /dev/null
+++ b/test/files/run/jtptest.scala
@@ -0,0 +1,17 @@
+
+import scala.util.parsing.combinator.JavaTokenParsers
+import scala.util.parsing.input.CharArrayReader
+
+object TestJavaTokenParsers extends JavaTokenParsers {
+}
+
+object Test {
+ import TestJavaTokenParsers._
+
+ def main(args : Array[String]) {
+ println(decimalNumber(new CharArrayReader("1.1".toCharArray)))
+ println(decimalNumber(new CharArrayReader("1.".toCharArray)))
+ println(decimalNumber(new CharArrayReader(".1".toCharArray)))
+ println(decimalNumber(new CharArrayReader("!1".toCharArray)))
+ }
+}