From 75171b45d7fd2674f4d7e5a86e673f86cdfe4b9a Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Fri, 28 Nov 2014 08:38:25 -0800 Subject: Minor reshuffling --- .../src/main/scala/scalaParser/ScalaSyntax.scala | 18 ++++++++++-------- 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 -- cgit v1.2.3