org.bitbucket.inkytonik.kiama.rewriting.MemoRewriter

MemoStrategy

abstract class MemoStrategy extends Strategy

Source
MemoRewriter.scala
Linear Supertypes
Strategy, (Any) ⇒ Option[Any], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MemoStrategy
  2. Strategy
  3. Function1
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MemoStrategy(name: String)

Abstract Value Members

  1. abstract val body: (Any) ⇒ Option[Any]

    Implementation of this strategy.

    Implementation of this strategy. When applied to a term produce either a transformed term wrapped in Some, or None, representing a rewriting failure.

    Definition Classes
    Strategy

Concrete 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 +(name: String, q: ⇒ Strategy): PlusStrategy

    As for the other + with the first argument specifying a name for the constructed strategy.

    As for the other + with the first argument specifying a name for the constructed strategy.

    Definition Classes
    Strategy
  5. 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. q is evaluated at most once.

    Definition Classes
    Strategy
    Annotations
    @macroImpl( ... )
  6. def <(name: String, lr: ⇒ PlusStrategy): Strategy

    As for the other < with the first argument specifying a name for the constructed strategy.

    As for the other < with the first argument specifying a name for the constructed strategy.

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

    Definition Classes
    Strategy
    Annotations
    @macroImpl( ... )
  8. def <*(name: String, q: ⇒ Strategy): Strategy

    As for the other <* with the first argument specifying a name for the constructed strategy.

    As for the other <* with the first argument specifying a name for the constructed strategy.

    Definition Classes
    Strategy
  9. 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. q is evaluated at most once.

    Definition Classes
    Strategy
    Annotations
    @macroImpl( ... )
  10. def <+(name: String, q: ⇒ Strategy): Strategy

    As for the other <+ with the first argument specifying a name for the constructed strategy.

    As for the other <+ with the first argument specifying a name for the constructed strategy.

    Definition Classes
    Strategy
  11. 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. q is evaluated at most once.

    Definition Classes
    Strategy
    Annotations
    @macroImpl( ... )
  12. final def ==(arg0: AnyRef): Boolean

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

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

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  15. def apply(r: Any): Option[Any]

    Return the value of this attribute for node t, raising an error if it depends on itself.

    Return the value of this attribute for node t, raising an error if it depends on itself.

    Definition Classes
    MemoStrategyStrategy → Function1
  16. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  17. def clone(): AnyRef

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

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

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

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

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

    Definition Classes
    AnyRef → Any
  23. def hasBeenComputedAt(r: Any): Boolean

    Has this strategy been computed on r?

  24. def hashCode(): Int

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

    Definition Classes
    Any
  26. val memo: Memoiser[Any, Option[Any]]

    Backing memo table.

  27. def mkStrategy(name: String, f: (Any) ⇒ Option[Any]): Strategy

    Make one of these strategies with the given name and body f.

    Make one of these strategies with the given name and body f.

    Definition Classes
    MemoStrategyStrategy
  28. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  31. def reset(): Unit

    Reset the memo table that backs this strategy.

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

    Definition Classes
    AnyRef
  33. def toString(): String

    Identify this strategy by its name.

    Identify this strategy by its name.

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Strategy

Inherited from (Any) ⇒ Option[Any]

Inherited from AnyRef

Inherited from Any

Ungrouped