Trait

razie.diesel.expr

ExprParser

Related Doc: package expr

Permalink

trait ExprParser extends RegexParsers

expressions parser. this is a trait you can mix in your other DSL parsers, see SimpleExprParser for a concrete implementation

See http://specs.razie.com/wiki/Story:expr_story for possible expressions and examples

Linear Supertypes
RegexParsers, Parsers, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExprParser
  2. RegexParsers
  3. Parsers
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Elem = Char

    Permalink
    Definition Classes
    RegexParsers → Parsers
  2. case class Error extends NoSuccess with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  3. case class Failure extends NoSuccess with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  4. type Input = Reader[Elem]

    Permalink
    Definition Classes
    Parsers
  5. sealed abstract class NoSuccess extends ParseResult[Nothing]

    Permalink
    Definition Classes
    Parsers
  6. trait OnceParser[+T] extends Parser[T]

    Permalink
    Definition Classes
    Parsers
  7. sealed abstract class ParseResult[+T] extends AnyRef

    Permalink
    Definition Classes
    Parsers
  8. abstract class Parser[+T] extends (Input) ⇒ ParseResult[T]

    Permalink
    Definition Classes
    Parsers
  9. case class Success[+T] extends ParseResult[T] with Product with Serializable

    Permalink
    Definition Classes
    Parsers
  10. case class ~[+a, +b] extends Product with Serializable

    Permalink
    Definition Classes
    Parsers

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object NoSuccess

    Permalink
    Definition Classes
    Parsers
  5. def OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]

    Permalink
    Definition Classes
    Parsers
  6. def Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  7. def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Permalink
    Definition Classes
    Parsers
  8. def accept[ES](es: ES)(implicit arg0: (ES) ⇒ List[Elem]): Parser[List[Elem]]

    Permalink
    Definition Classes
    Parsers
  9. implicit def accept(e: Elem): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  10. def acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  11. def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Permalink
    Definition Classes
    Parsers
  12. def acceptSeq[ES](es: ES)(implicit arg0: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]

    Permalink
    Definition Classes
    Parsers
  13. def accessors: Parser[List[P]]

    Permalink
  14. def afloat: Parser[String]

    Permalink
  15. def afunc: Parser[Expr]

    Permalink
  16. def aident: Parser[AExprIdent]

    Permalink
  17. def aidentExpr: Parser[AExprIdent]

    Permalink
  18. def aidentaccess: Parser[AExprIdent]

    Permalink
  19. def aint: Parser[String]

    Permalink
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. def attrs: Parser[List[P]]

    Permalink

    optional attributes

  22. def bConst: Parser[BoolExpr]

    Permalink

    true or false constants

  23. def bfactor1: Parser[BoolExpr]

    Permalink
  24. def bfactor2: Parser[BoolExpr]

    Permalink
  25. def boolConst: Parser[Expr]

    Permalink
  26. def bterm1: Parser[BoolExpr]

    Permalink
  27. def bvalue: Parser[BoolExpr]

    Permalink

    single value expressions, where != 0 is true and != null is true

  28. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  29. def chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  30. def chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]

    Permalink
    Definition Classes
    Parsers
  31. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def commit[T](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  33. def cond: Parser[BoolExpr]

    Permalink
  34. def df: Parser[BoolExpr]

    Permalink
  35. def eblock: Parser[Expr]

    Permalink
  36. def elem(e: Elem): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  37. def elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]

    Permalink
    Definition Classes
    Parsers
  38. def eq: Parser[BoolExpr]

    Permalink
  39. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  41. def err(msg: String): Parser[Nothing]

    Permalink
    Definition Classes
    Parsers
  42. def expr: Parser[Expr]

    Permalink

    main entry point for an expression

  43. def expr2: Parser[Expr]

    Permalink
  44. def exprAND: Parser[Expr]

    Permalink
  45. def exprAS: Parser[Expr]

    Permalink
  46. def exprCMP: Parser[Expr]

    Permalink
  47. def exprMAP: Parser[Expr]

    Permalink
  48. def exprMULT: Parser[Expr]

    Permalink
  49. def exprOR: Parser[Expr]

    Permalink
  50. def exprPLUS: Parser[Expr]

    Permalink
  51. def exregex: Parser[Expr]

    Permalink
  52. def failure(msg: String): Parser[Nothing]

    Permalink
    Definition Classes
    Parsers
  53. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  54. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  55. def gt: Parser[BoolExpr]

    Permalink
  56. def gte: Parser[BoolExpr]

    Permalink
  57. def guard[T](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    Parsers
  58. def handleWhiteSpace(source: CharSequence, offset: Int): Int

    Permalink
    Attributes
    protected
    Definition Classes
    RegexParsers
  59. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  60. def ident: Parser[String]

    Permalink

    a regular ident but also something in single quotes '[email protected] and - is a good ident eh'

  61. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  62. def jarray: Parser[Expr]

    Permalink
  63. def jexpr: Parser[Expr]

    Permalink
  64. def jnull: Parser[Expr]

    Permalink
  65. def jnvp: Parser[(String, Expr)]

    Permalink
  66. def jobj: Parser[Expr]

    Permalink
  67. def jother: Parser[Expr]

    Permalink
  68. def jsexpr1: Parser[Expr]

    Permalink
  69. def jsexpr2: Parser[Expr]

    Permalink
  70. def jsexpr4: Parser[Expr]

    Permalink
  71. def jsonIdent: Parser[String]

    Permalink

    allow JSON ids with double quotes, single quotes or no quotes

  72. def lambda: Parser[Expr]

    Permalink
  73. def like: Parser[BoolExpr]

    Permalink
  74. implicit def literal(s: String): Parser[String]

    Permalink
    Definition Classes
    RegexParsers
  75. def log[T](p: ⇒ Parser[T])(name: String): Parser[T]

    Permalink
    Definition Classes
    Parsers
  76. def lt: Parser[BoolExpr]

    Permalink
  77. def lte: Parser[BoolExpr]

    Permalink
  78. def mkList[T]: (~[T, List[T]]) ⇒ List[T]

    Permalink
    Definition Classes
    Parsers
  79. def multilineStrConst: Parser[Expr]

    Permalink
  80. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  81. def neq: Parser[BoolExpr]

    Permalink
  82. def not[T](p: ⇒ Parser[T]): Parser[Unit]

    Permalink
    Definition Classes
    Parsers
  83. def notbfactor1: Parser[BoolExpr]

    Permalink
  84. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  86. def numConst: Parser[Expr]

    Permalink
  87. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]

    Permalink
    Definition Classes
    Parsers
  88. def optAttrs: Parser[List[P]]

    Permalink

    optional attributes

  89. def optKinds: Parser[Option[String]]

    Permalink
  90. def optType: Parser[WType]

    Permalink

    :<>type[kind]* <> means it's a ref, not ownership * means it's a list

  91. def orexpr: Parser[BoolExpr]

    Permalink
  92. def ows: Parser[Option[String]]

    Permalink
  93. def parse[T](p: Parser[T], in: Reader): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  94. def parse[T](p: Parser[T], in: CharSequence): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  95. def parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  96. def parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  97. def parseAll[T](p: Parser[T], in: Reader): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  98. def parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]

    Permalink
    Definition Classes
    RegexParsers
  99. def pasattr: Parser[PAS]

    Permalink

    parm assignment, left side can be a[5].name, useful in a $val

  100. def pasattrs: Parser[List[PAS]]

    Permalink
  101. def pattr: Parser[P]

    Permalink

    parm definition / assignment

    parm definition / assignment

    name:<>type[kind]*~=default

    <> means it's a ref, not ownership * means it's a list

  102. def pcallattr: Parser[P]

    Permalink
  103. def pcallattrs: Parser[List[P]]

    Permalink

    simple ident = expr assignemtn when calling

  104. def phrase[T](p: Parser[T]): Parser[T]

    Permalink
    Definition Classes
    RegexParsers → Parsers
  105. def positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]

    Permalink
    Definition Classes
    RegexParsers → Parsers
  106. def pterm1: Parser[Expr]

    Permalink
  107. def qident: Parser[String]

    Permalink

    qualified idents, .

    qualified idents, . notation, parsed as a single string

  108. def qlident: Parser[List[String]]

    Permalink
  109. def qlidentDiesel: Parser[List[String]]

    Permalink
  110. def realmqlident: Parser[List[String]]

    Permalink

    qualified idents, .

    qualified idents, . notation, parsed as a list

  111. implicit def regex(r: Regex): Parser[String]

    Permalink
    Definition Classes
    RegexParsers
  112. def rep[T](p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  113. def rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The p0 call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.

  114. def rep1[T](p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  115. def rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  116. def repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  117. def repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Permalink
    Definition Classes
    Parsers
  118. def scexpr1: Parser[Expr]

    Permalink
  119. def scexpr2: Parser[Expr]

    Permalink
  120. def skipWhitespace: Boolean

    Permalink
    Definition Classes
    RegexParsers
  121. def strConst: Parser[Expr]

    Permalink
  122. def success[T](v: T): Parser[T]

    Permalink
    Definition Classes
    Parsers
  123. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  124. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  125. def unquote(s: String): String

    Permalink
  126. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  129. val whiteSpace: Regex

    Permalink
    Attributes
    protected
    Definition Classes
    RegexParsers
  130. def ws: Regex

    Permalink
  131. def xpath: Parser[String]

    Permalink
  132. def xpident: Parser[Expr]

    Permalink

Inherited from RegexParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any

Ungrouped