Trait

de.uni_luebeck.isp.compacom.SimpleEnvParsers

Env

Related Doc: package SimpleEnvParsers

Permalink

trait Env extends AnyRef

Each object inheriting this trait will provide an environment for the given type of entities and provide combinators to add to the environment globally or locally and combinators that match any current environment entry.

Example implementation:

object Variables extends Env { type Ident = String type Entry = VariableInfo }

object Functions extends Env { type Ident = FunctionSignature type Entry = FunctionInfo }

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Env
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Entry

    Permalink

    The type of entries of this environment, i.e.

    The type of entries of this environment, i.e. the type that contains all relevant information about a given variable/function/other part of the environment.

  2. abstract type Ident

    Permalink

    The type by which this environment's entries are indexed.

    The type by which this environment's entries are indexed. This will usually be String, some type to represent (qualified) names or some type to represent name+types combinations (for overloadable functions).

Abstract Value Members

  1. abstract def IDENT(id: Ident): Token

    Permalink
  2. abstract def description: String

    Permalink

    A human-readable name for items of this environment.

    A human-readable name for items of this environment. This will be something like "variable" or "function". It will be used in error messages, so for example for an environment Variable with description = "variable" Variable.use would produce "Variable expected, but ... found" if the parse failed.

Concrete 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. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  10. def globalDef(definition: ⇒ SimpleEnvParsers.Parser[(Ident, Entry)]): SimpleEnvParsers.Parser[Entry]

    Permalink
  11. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  13. def localDefs[T](definitions: ⇒ SimpleEnvParsers.Parser[Iterable[(Ident, Entry)]])(in: ⇒ SimpleEnvParsers.Parser[T]): SimpleEnvParsers.Parser[T]

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

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

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

    Permalink
    Definition Classes
    AnyRef
  17. def onDuplicate(ident: Ident, newEntry: Entry): Unit

    Permalink

    Method that gets called when a definition is encountered for an identifier that's already bound in the same scope.

    Method that gets called when a definition is encountered for an identifier that's already bound in the same scope. The default behavior is to simply replace the current entry, but this method may be overridden to, say, cause a warning or error instead.

    Attributes
    protected
  18. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. def use(ifEmpty: SimpleEnvParsers.Parser[Entry]): SimpleEnvParsers.Parser[Entry]

    Permalink
  21. def use: SimpleEnvParsers.Parser[Entry]

    Permalink
  22. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. def withScope[T](entries: Iterable[(Ident, Entry)])(body: ⇒ SimpleEnvParsers.Parser[T]): SimpleEnvParsers.Parser[T]

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped