Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module

License

NotificationsYou must be signed in to change notification settings

scala/scala-parser-combinators

 
 

Repository files navigation

Scala Standard Parser Combinator Library

This library is now community-maintained. If you are interested in helping please contact @gourlaysama or mention iton Gitter.

As of Scala 2.11, this library is a separate jar that can be omitted from Scala projects that do not use Parser Combinators.

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.0.7"

(Assuming you're using ascalaVersion for which a scala-parser-combinators is published. The first 2.11 milestone for which this is true is 2.11.0-M4.)

To support multiple Scala versions, see the example inhttps://github.com/scala/scala-module-dependency-sample.

Example

importscala.util.parsing.combinator._caseclassWordFreq(word:String,count:Int) {overridedeftoString="Word <"+ word+">"+"occurs with frequency"+ count}classSimpleParserextendsRegexParsers {defword:Parser[String]="""[a-z]+""".r^^ { _.toString }defnumber:Parser[Int]="""(0|[1-9]\d*)""".r^^ { _.toInt }deffreq:Parser[WordFreq]= word~ number^^ {case wd~ fr=>WordFreq(wd,fr) }}objectTestSimpleParserextendsSimpleParser {defmain(args:Array[String])= {        parse(freq,"johnny 121")match {caseSuccess(matched,_)=> println(matched)caseFailure(msg,_)=> println("FAILURE:"+ msg)caseError(msg,_)=> println("ERROR:"+ msg)        }    }}

For a detailed unpacking of this example seeGetting Started.

ScalaJS support

Scala-parser-combinators directly supports scala-js 0.6+, starting with v1.0.5:

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

Contributing

About

simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp