org.kiama.rewriting.Rewriter

PlusStrategy

class PlusStrategy extends Strategy

Helper class to contain commonality of choice in non-deterministic choice operator and then-else part of a conditional choice. Only returned by the non-deterministic choice operator.

Source
Rewriter.scala
Linear Supertypes
Strategy, (Term) ⇒ Option[Term], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. PlusStrategy
  2. Strategy
  3. Function1
  4. AnyRef
  5. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PlusStrategy(p: ⇒ Strategy, q: ⇒ Strategy)

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(q: ⇒ Strategy): PlusStrategy

    Non-deterministic choice.

    Non-deterministic choice. Normally, construct a strategy that first applies either this strategy or the given strategy. If it succeeds, succeed with the resulting term. Otherwise, apply q. Currently implemented as deterministic choice, but this behaviour should not be relied upon. When used as the argument to the < conditional choice combinator, + just serves to hold the two strategies that are chosen between by the conditional choice.

    Definition Classes
    Strategy
  5. def <(lr: ⇒ PlusStrategy): Strategy

    Conditional choice: c < l + r.

    Conditional choice: c < l + r. Construct a strategy that first applies this strategy (c). If c succeeds, the strategy applies l to the resulting term, otherwise it applies r to the original subject term.

    Definition Classes
    Strategy
  6. def <*(q: ⇒ Strategy): Strategy

    Sequential composition.

    Sequential composition. Construct a strategy that first applies this strategy. If it succeeds, then apply q to the new subject term. Otherwise fail.

    Definition Classes
    Strategy
  7. def <+(q: ⇒ Strategy): Strategy

    Deterministic choice.

    Deterministic choice. Construct a strategy that first applies this strategy. If it succeeds, succeed with the resulting term. Otherwise, apply q to the original subject term.

    Definition Classes
    Strategy
  8. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  10. def andThen[A](g: (Option[Term]) ⇒ A): (Term) ⇒ A

    Definition Classes
    Function1
  11. def apply(t: Term): Option[Term]

    Apply this strategy to a term, producing either a transformed term wrapped in Some, or None, representing a rewriting failure.

    Apply this strategy to a term, producing either a transformed term wrapped in Some, or None, representing a rewriting failure.

    Definition Classes
    PlusStrategyStrategy → Function1
  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  14. def compose[A](g: (A) ⇒ Term): (A) ⇒ Option[Term]

    Definition Classes
    Function1
  15. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit

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

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

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

    Definition Classes
    Any
  21. val lhs: Strategy

  22. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. val rhs: Strategy

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

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    Function1 → AnyRef → Any
  28. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Strategy

Inherited from (Term) ⇒ Option[Term]

Inherited from AnyRef

Inherited from Any