diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-11-28 08:38:25 -0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-11-28 08:38:25 -0800 |
commit | 75171b45d7fd2674f4d7e5a86e673f86cdfe4b9a (patch) | |
tree | 11166ee2d1db66c4b13e77d3420b1ac9c3480140 | |
parent | 79bc1de1c79558710c332b4b3683388a4ad758e6 (diff) | |
download | hands-on-scala-js-75171b45d7fd2674f4d7e5a86e673f86cdfe4b9a.tar.gz hands-on-scala-js-75171b45d7fd2674f4d7e5a86e673f86cdfe4b9a.tar.bz2 hands-on-scala-js-75171b45d7fd2674f4d7e5a86e673f86cdfe4b9a.zip |
Minor reshuffling
-rw-r--r-- | scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala | 18 | ||||
-rw-r--r-- | scalaParser/src/test/resources/test.scala | 7 |
2 files changed, 15 insertions, 10 deletions
diff --git a/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala b/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala index 534782b..593f341 100644 --- a/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala +++ b/scalaParser/src/main/scala/scalaParser/ScalaSyntax.scala @@ -320,18 +320,20 @@ class ScalaSyntax(val input: ParserInput) extends Parser with Basic with Identif def SimplePattern: R0 = { def Patterns: R0 = rule { `_` ~ '*' | oneOrMore(Pattern).separatedBy(',') } + def ExtractorArgs = rule{ + optional(Patterns ~ ',') ~ optional(VarId ~ '@') ~ `_` ~ '*' + } + def Extractor: R0 = rule{ + StableId ~ + optional( + '(' ~ (ExtractorArgs | optional(Patterns)) ~ ')' + ) + } rule { `_` ~ optional(`:` ~ TypePat) | Literal | '(' ~ optional(Patterns) ~ ')' | - ( - StableId ~ - optional( - '(' ~ - (optional(Patterns ~ ',') ~ optional(VarId ~ '@') ~ `_` ~ '*' | optional(Patterns)) ~ - ')' - ) - ) | + Extractor | VarId } } diff --git a/scalaParser/src/test/resources/test.scala b/scalaParser/src/test/resources/test.scala index 3a3c124..d31a51f 100644 --- a/scalaParser/src/test/resources/test.scala +++ b/scalaParser/src/test/resources/test.scala @@ -1,2 +1,5 @@ - -import java.util.concurrent.TimeUnit.{ NANOSECONDS => NANOS, MILLISECONDS ⇒ MILLIS } +object EmitHtml { + args match{ + case Array(file, _*) => 1 + } +}
\ No newline at end of file |