object Parser
- Source
- Parser.scala
- Alphabetic
- By Inheritance
- Parser
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait FollowedBy[In, +A, M[-_, +_]] extends AnyRef
An intermediate object for creating sequence-based combination methods for a Parser or Consumer.
An intermediate object for creating sequence-based combination methods for a Parser or Consumer.
- A
Output type for the "first" parser/consumer; using the combination methods in this trait will result in an instance of T1 being used to create a "second" parser/consumer/transformer to be run sequentially after the first.
- M
Type constructor for the parser/consumer of a given output type
- trait Handler[-In, +Out] extends AnyRef
An internally-mutable representation of a Parser, which reacts to inputs from a data stream and eventually produces a result.
- implicit final class ParserFlatten[In, A, F[_]] extends AnyVal
- implicit class ParserFollowedByOps[In, A] extends AnyRef
Adds
followedByandfollowedByStreamto Parser (they aren't defined in the Parser trait due to theIntype needing to be invariant here) - trait Stateless[-In, +Out] extends Parser[In, Out] with Handler[In, Out]
Specialization for Parsers which require no mutable state.
Specialization for Parsers which require no mutable state. A "stateless" parser acts as its own handler.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[In]: ParserApplyWithBoundInput[In]
Convenience for creating parsers whose input type is bound to
In.Convenience for creating parsers whose input type is bound to
In.This is particularly nice when the
Outtype can be inferred by the compiler, e.g.Parser[Int].fold(1)(_ + _) // versus Parser.fold[Int, Int](1)(_ + _)
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit def catsApplicativeForParser[In](implicit callerPos: CallerPos): Applicative[[A]Parser[In, A]]
Applicative for Parser with a fixed
Intype. - def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def defer[In, Out](p: => Parser[In, Out]): Parser[In, Out]
Creates a parser which delegates to the given call-by-name
pparser.Creates a parser which delegates to the given call-by-name
pparser. Thepexpression isn't evaluated until a handler created by this parser is created - that handler will bep's handler. The underlying parser is not memoized, so if a new handler is constructed, thepexpression will be re-evaluated.- In
The parser's input type
- Out
The parser's output type
- p
A call-by-name expression which returns a Parser
- def deferHandler[In, Out](h: => Handler[In, Out]): Parser[In, Out]
Creates a parser from a call-by-name handler construction expression.
Creates a parser from a call-by-name handler construction expression. This is effectively doing
new Parser[In, Out] { def newHandler = h }
- def delay[Out](value: => Out): Parser[Any, Out]
Creates a parser which evaluates the call-by-name
valueexpression.Creates a parser which evaluates the call-by-name
valueexpression. Thevalueexpression won't be evaluated until a handler created by this parser is asked tosteporfinish. The value is not memoized, so if a new handler is created, that handler will re-evaluate the value.- Out
the result type
- value
A call-by-name expression which will be evaluated by the returned parser's
Handler
- def drain: Parser[Any, Unit]
Create a parser which will consume the entire input stream, ignoring each value, yielding a Unit result when the stream ends.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def find[In](predicate: (In) => Boolean): Parser[In, Option[In]]
Creates a parser which returns the first input for which the
predicatefunction returns true. - def first[In](implicit arg0: TypeName[In]): Parser[In, In]
Creates a parser which returns the first input it receives, or throws a
SpacException.MissingFirstExceptionwhen handling an empty stream. - def firstOpt[In]: Parser[In, Option[In]]
Creates a parser which returns the first input it receives, or None when handling an empty stream.
- def fold[In, Out](init: Out)(op: (Out, In) => Out): Parser[In, Out]
Creates a parser which folds inputs into its state according to the
opfunction, returning its final state when the input stream ends.Creates a parser which folds inputs into its state according to the
opfunction, returning its final state when the input stream ends.- init
The initial state
- op
state update function
- def fromBuilder[In, Out](b: => Builder[In, Out]): Parser[In, Out]
Creates a parser whose handlers which will construct a new builder via the call-by-name
bexpression.Creates a parser whose handlers which will construct a new builder via the call-by-name
bexpression. The builder's result will be used as the result of the handler. - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def oneOf[In, Out](parsers: Parser[In, Out]*): Parser[In, Out]
Create a single parser which will attempt to run each of the given
parsersin parallel, yielding the result from the first of theparsersthat successfully completes.Create a single parser which will attempt to run each of the given
parsersin parallel, yielding the result from the first of theparsersthat successfully completes. If multipleparsersreturn a result for the same input, priority is determined by their order when given to this method. If all of theparsersfail by throwing exceptions, all but the latest exception will be swallowed, and the last exception will be rethrown.- parsers
A collection of Parsers which will be run in parallel.
- def pure[Out](value: Out): Parser[Any, Out]
Creates a parser which always results in
value.Creates a parser which always results in
value.- value
the result of the parser
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tap[In](f: (In) => Unit): Parser[In, Unit]
Create a parser which runs the side-effecting function
ffor each input it receives, yielding a Unit result. - def toChain[In]: Parser[In, Chain[In]]
Creates a parser that builds a
cats.data.Chainfrom the inputs it receives. - def toList[In]: Parser[In, List[In]]
Creates a parser that builds a List from the inputs it receives.
- def toMap[K, V]: Parser[(K, V), Map[K, V]]
Creates a parser that builds a Map from the
(key, value)tuple inputs it receives. - def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def constant[Out](value: Out): Parser[Any, Out]
- Annotations
- @deprecated
- Deprecated
(Since version v0.9) use
.pureinstead
- def firstOption[In]: Parser[In, Option[In]]
- Annotations
- @deprecated
- Deprecated
(Since version v0.9) Use
firstOptinstead
- def foreach[In](f: (In) => Any): Parser[In, Unit]
- Annotations
- @deprecated
- Deprecated
(Since version v0.9) Use
tapinstead