Sha256: 777a262c24fae973f547fc0b41ae9d7e26ac94680276ebc0806b066b253b261e

Contents?: true

Size: 535 Bytes

Versions: 215

Compression:

Stored size: 535 Bytes

Contents

import scala.util.parsing.combinator.RegexParsers

object Brackets extends RegexParsers {
  lazy val t = "[^\\[\\]\\(\\)\\{\\}]+".r

  private def paren: Parser[String] =
    ("(" ~ rep1(t | paren) ~ ")" |
      "[" ~ rep1(t | paren) ~ "]" |
      "{" ~ rep1(t | paren) ~ "}" |
      "(" ~ ")" |
      "[" ~ "]" |
      "{" ~ "}" |
      t) ^^ {
      case _ => ""
    }

  private def all = rep(paren)

  def areBalanced(s: String) = this.parseAll(all, s) match {
    case NoSuccess(_, _) => false
    case Success(_, _) => true
  }
}

Version data entries

215 entries across 215 versions & 1 rubygems

Version Path
trackler-2.2.1.6 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.1.5 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.1.4 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.1.3 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.1.2 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.1.1 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.1.0 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.6 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.5 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.4 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.3 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.2 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.1 tracks/scala/exercises/bracket-push/example.scala
trackler-2.2.0.0 tracks/scala/exercises/bracket-push/example.scala
trackler-2.1.0.55 tracks/scala/exercises/bracket-push/example.scala
trackler-2.1.0.54 tracks/scala/exercises/bracket-push/example.scala
trackler-2.1.0.53 tracks/scala/exercises/bracket-push/example.scala
trackler-2.1.0.52 tracks/scala/exercises/bracket-push/example.scala
trackler-2.1.0.51 tracks/scala/exercises/bracket-push/example.scala
trackler-2.1.0.50 tracks/scala/exercises/bracket-push/example.scala