Class

sigmastate.kiama.rewriting

Strategy

Related Doc: package rewriting

Permalink

abstract class Strategy extends (Any) ⇒ Option[Any]

Any-rewriting strategies. A strategy is a function that takes a term of any type as input and either succeeds producing a new term (Some), or fails (None).

Self Type
Strategy
Linear Supertypes
(Any) ⇒ Option[Any], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Strategy
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Strategy()

    Permalink

Abstract Value Members

  1. abstract def apply(v1: Any): Option[Any]

    Permalink
    Definition Classes
    Function1

Concrete Value Members

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

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

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

    Permalink

    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. q is evaluated at most once.

  4. def <(lr: ⇒ PlusStrategy): Strategy

    Permalink

    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. lr is evaluated at most once.

  5. def <*(q: ⇒ Strategy): Strategy

    Permalink

    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. q is evaluated at most once.

  6. def <+(q: ⇒ Strategy): Strategy

    Permalink

    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. q is evaluated at most once.

  7. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def andThen[A](g: (Option[Any]) ⇒ A): (Any) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def compose[A](g: (A) ⇒ Any): (A) ⇒ Option[Any]

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

    Permalink
    Definition Classes
    Any
  18. def mkStrategy(f: (Any) ⇒ Option[Any]): Strategy

    Permalink

    Make one of these strategies with the body f.

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

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

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

    Permalink
    Definition Classes
    AnyRef
  22. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from (Any) ⇒ Option[Any]

Inherited from AnyRef

Inherited from Any

Ungrouped