Class

com.codecommit.gll.Parsers

DisjunctiveParser

Related Doc: package Parsers

Permalink

class DisjunctiveParser[A] extends NonTerminalParser[A] with Thunkable

Linear Supertypes
Thunkable, NonTerminalParser[A], Parser[A], (LineStream) ⇒ Stream[Result[A]], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DisjunctiveParser
  2. Thunkable
  3. NonTerminalParser
  4. Parser
  5. Function1
  6. AnyRef
  7. Any
Implicitly
  1. by CollectionsHaveToParArray
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DisjunctiveParser(l: ⇒ Parser[A], r: ⇒ Parser[A])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def *(sep: Parser[_]): Parser[List[A]]

    Permalink
    Definition Classes
    Parser
  4. def *(): Parser[List[A]]

    Permalink
    Definition Classes
    Parser
  5. def +(sep: Parser[_]): Parser[List[A]]

    Permalink
    Definition Classes
    Parser
  6. def +(): Parser[List[A]]

    Permalink
    Definition Classes
    Parser
  7. def +?: Parser[Option[List[A]]]

    Permalink
    Definition Classes
    Parser
  8. def ->[B](y: B): (DisjunctiveParser[A], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to ArrowAssoc[DisjunctiveParser[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  9. def <~[R2](that: Parser[R2]): Parser[A]

    Permalink
    Definition Classes
    Parser
  10. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def ?(): Parser[Option[A]]

    Permalink
    Definition Classes
    Parser
  12. def \(not: TerminalParser[Any]): Parser[A]

    Permalink
    Definition Classes
    Parser
  13. def ^^^[R2](v: ⇒ R2): Parser[R2]

    Permalink
    Definition Classes
    Parser
  14. def andThen[A](g: (Stream[Result[A]]) ⇒ A): (LineStream) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  15. final def apply(in: LineStream): Stream[Result[A]]

    Permalink

    This method takes care of kicking off a new parse process.

    This method takes care of kicking off a new parse process. We will never call this method to handle a sub-parse. In such situations, we will use the trampoline to queue results.

    Note: to ensure greedy matching (for PEG compatibility) we define any Success with a non-empty tail to be a Failure

    Definition Classes
    NonTerminalParser → Function1
  16. def apply(str: String): Stream[Result[A]]

    Permalink
    Definition Classes
    Parser
  17. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  18. def chain(t: Trampoline, in: LineStream)(f: (Result[A]) ⇒ Unit): Unit

    Permalink
    Definition Classes
    DisjunctiveParserParser
  19. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. def compose[A](g: (A) ⇒ LineStream): (A) ⇒ Stream[Result[A]]

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  21. def computeFirst(seen: Set[Parser[Any]]): Option[Set[Option[Char]]]

    Permalink

    returns

    The FIRST set for this parser, or the empty set if the production goes to \epsilon.

    Definition Classes
    DisjunctiveParserParser
  22. def ensuring(cond: (DisjunctiveParser[A]) ⇒ Boolean, msg: ⇒ Any): DisjunctiveParser[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to Ensuring[DisjunctiveParser[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  23. def ensuring(cond: (DisjunctiveParser[A]) ⇒ Boolean): DisjunctiveParser[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to Ensuring[DisjunctiveParser[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  24. def ensuring(cond: Boolean, msg: ⇒ Any): DisjunctiveParser[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to Ensuring[DisjunctiveParser[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  25. def ensuring(cond: Boolean): DisjunctiveParser[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to Ensuring[DisjunctiveParser[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  26. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  28. def filter(f: (A) ⇒ Boolean): Parser[A]

    Permalink
    Definition Classes
    Parser
  29. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  30. lazy val first: Set[Char]

    Permalink
    Definition Classes
    Parser
  31. def flatMap[R2](f1: (A) ⇒ Parser[R2]): Parser[R2]

    Permalink
    Definition Classes
    Parser
  32. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to StringFormat[DisjunctiveParser[A]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  33. lazy val gather: List[Parser[A]]

    Permalink
  34. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  35. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  36. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  37. lazy val isLL1: Boolean

    Permalink

    Checks if all FIRST sets are disjoint and none are empty.

    Checks if all FIRST sets are disjoint and none are empty. This is convergent even for left-recursive parsers.

  38. def isPreferred: Boolean

    Permalink
    Definition Classes
    Parser
  39. def map[R2](f: (A) ⇒ R2): Parser[R2]

    Permalink
    Definition Classes
    Parser
  40. def mapWithTail[R2](f1: (LineStream, A) ⇒ R2): Parser[R2]

    Permalink
    Definition Classes
    NonTerminalParserParser
  41. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  42. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  43. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  44. def orElse[R2 >: A](alternate: ⇒ Parser[R2]): Parser[R2]

    Permalink
    Definition Classes
    Parser
  45. lazy val predict: Map[Char, Parser[A]]

    Permalink

    The PREDICT table for this disjunction.

    The PREDICT table for this disjunction. Please note that this is a very different concept from the standard LL(k) PREDICT set. Specifically, the PREDICT table allows for ambiguity in the prediction while still retaining O(1) dispatch on disjunctions which are LL(1) and near-O(1) for disjunctions which are not.

    Note that this is not actually sufficient to handle all CFGs allowed by GLL. Specifically, parsers with an empty FIRST set must be handled specially.

  46. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  47. final val terminal: Boolean(false)

    Permalink
    Definition Classes
    NonTerminalParserParser
  48. def thunk[A](field: Symbol): () ⇒ A

    Permalink
    Attributes
    protected
    Definition Classes
    Thunkable
  49. def toParArray: ParArray[T]

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to CollectionsHaveToParArray[DisjunctiveParser[A], T] performed by method CollectionsHaveToParArray in scala.collection.parallel. This conversion will take place only if an implicit value of type (DisjunctiveParser[A]) ⇒ GenTraversableOnce[T] is in scope.
    Definition Classes
    CollectionsHaveToParArray
  50. def toString(): String

    Permalink
    Definition Classes
    DisjunctiveParser → Function1 → AnyRef → Any
  51. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. def ~[R2](that: Parser[R2]): Parser[~[A, R2]]

    Permalink
    Definition Classes
    Parser
  55. def ~>[R2](that: Parser[R2]): Parser[R2]

    Permalink
    Definition Classes
    Parser
  56. def [B](y: B): (DisjunctiveParser[A], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to ArrowAssoc[DisjunctiveParser[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from DisjunctiveParser[A] to any2stringadd[DisjunctiveParser[A]] performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (disjunctiveParser: any2stringadd[DisjunctiveParser[A]]).+(other)
    Definition Classes
    any2stringadd

Inherited from Thunkable

Inherited from NonTerminalParser[A]

Inherited from Parser[A]

Inherited from (LineStream) ⇒ Stream[Result[A]]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion CollectionsHaveToParArray from DisjunctiveParser[A] to CollectionsHaveToParArray[DisjunctiveParser[A], T]

Inherited by implicit conversion any2stringadd from DisjunctiveParser[A] to any2stringadd[DisjunctiveParser[A]]

Inherited by implicit conversion StringFormat from DisjunctiveParser[A] to StringFormat[DisjunctiveParser[A]]

Inherited by implicit conversion Ensuring from DisjunctiveParser[A] to Ensuring[DisjunctiveParser[A]]

Inherited by implicit conversion ArrowAssoc from DisjunctiveParser[A] to ArrowAssoc[DisjunctiveParser[A]]

Ungrouped