scala-parser-combinators


License

License

Categories

Categories

Scala Languages
GroupId

GroupId

org.scala-lang.modules
ArtifactId

ArtifactId

scala-parser-combinators_sjs0.6_2.13
Last Version

Last Version

1.1.2
Release Date

Release Date

Type

Type

jar
Description

Description

scala-parser-combinators
scala-parser-combinators
Project URL

Project URL

http://www.scala-lang.org/
Project Organization

Project Organization

org.scala-lang.modules
Source Code Management

Source Code Management

https://github.com/scala/scala-parser-combinators

Download scala-parser-combinators_sjs0.6_2.13

How to add to project

<!-- https://jarcasting.com/artifacts/org.scala-lang.modules/scala-parser-combinators_sjs0.6_2.13/ -->
<dependency>
    <groupId>org.scala-lang.modules</groupId>
    <artifactId>scala-parser-combinators_sjs0.6_2.13</artifactId>
    <version>1.1.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.scala-lang.modules/scala-parser-combinators_sjs0.6_2.13/
implementation 'org.scala-lang.modules:scala-parser-combinators_sjs0.6_2.13:1.1.2'
// https://jarcasting.com/artifacts/org.scala-lang.modules/scala-parser-combinators_sjs0.6_2.13/
implementation ("org.scala-lang.modules:scala-parser-combinators_sjs0.6_2.13:1.1.2")
'org.scala-lang.modules:scala-parser-combinators_sjs0.6_2.13:jar:1.1.2'
<dependency org="org.scala-lang.modules" name="scala-parser-combinators_sjs0.6_2.13" rev="1.1.2">
  <artifact name="scala-parser-combinators_sjs0.6_2.13" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.scala-lang.modules', module='scala-parser-combinators_sjs0.6_2.13', version='1.1.2')
)
libraryDependencies += "org.scala-lang.modules" % "scala-parser-combinators_sjs0.6_2.13" % "1.1.2"
[org.scala-lang.modules/scala-parser-combinators_sjs0.6_2.13 "1.1.2"]

Dependencies

compile (2)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.13.0
org.scala-js : scalajs-library_2.13 jar 0.6.28

test (2)

Group / Artifact Type Version
org.scala-js : scalajs-test-interface_2.13 jar 0.6.28
org.scala-js : scalajs-junit-test-runtime_2.13 jar 0.6.28

Project Modules

There are no modules declared in this project.

scala-parser-combinators

Scala Standard Parser Combinator Library

This library was originally part of the Scala standard library, but is now community-maintained, under the guidance of the Scala team at Lightbend. If you are interested in helping please contact @Philippus or @SethTisue.

Documentation

Adding an sbt dependency

To depend on scala-parser-combinators in sbt, add something like this to your build.sbt:

libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"

To support multiple Scala versions, see the example in scala/scala-module-dependency-sample.

Scala.js and Scala Native

Scala-parser-combinators is also available for Scala.js and Scala Native:

libraryDependencies += "org.scala-lang.modules" %%% "scala-parser-combinators" % "1.1.2"

Example

import scala.util.parsing.combinator._

case class WordFreq(word: String, count: Int) {
  override def toString = s"Word <$word> occurs with frequency $count"
}

class SimpleParser extends RegexParsers {
  def word: Parser[String]   = """[a-z]+""".r       ^^ { _.toString }
  def number: Parser[Int]    = """(0|[1-9]\d*)""".r ^^ { _.toInt }
  def freq: Parser[WordFreq] = word ~ number        ^^ { case wd ~ fr => WordFreq(wd,fr) }
}

object TestSimpleParser extends SimpleParser {
  def main(args: Array[String]) = {
    parse(freq, "johnny 121") match {
      case Success(matched,_) => println(matched)
      case Failure(msg,_) => println(s"FAILURE: $msg")
      case Error(msg,_) => println(s"ERROR: $msg")
    }
  }
}

For a detailed unpacking of this example see Getting Started.

Contributing

Alternatives

A number of other parsing libraries for Scala are available; see https://github.com/lauris/awesome-scala#parsing

org.scala-lang.modules

The Scala Programming Language

Versions

Version
1.1.2