Skip to content

Commit

Permalink
Issue [SI-4824](https://issues.scala-lang.org/browse/SI-4824). Fixes …
Browse files Browse the repository at this point in the history
…stack overflow bug when parsing long multiline comments
  • Loading branch information
nimishgupta committed Jul 7, 2014
1 parent 01ef53c commit f326847
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 3 deletions.
Expand Up @@ -59,9 +59,9 @@ class StdLexical extends Lexical with StdTokens {
)

protected def comment: Parser[Any] = (
'*' ~ '/' ^^ { case _ => ' ' }
| chrExcept(EofCh) ~ comment
)
rep (chrExcept (EofCh, '*')) ~ '*' ~ '/' ^^ { case _ => ' ' }
| rep (chrExcept (EofCh, '*')) ~ '*' ~ comment ^^ { case _ => ' ' }
)

/** The set of reserved identifiers: these will be returned as `Keyword`s. */
val reserved = new mutable.HashSet[String]
Expand Down
Expand Up @@ -30,6 +30,36 @@ class PackratParsersTest {
check(4, "8/2")
check(37, "4*9-0/7+9-8*1")
check(9, "(1+2)*3")
check(3, """/* This is a
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
long long long long long
comment */
1+2""")
}

@Test
Expand Down

0 comments on commit f326847

Please sign in to comment.