Package

namespace

dsl

Permalink

package dsl

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. dsl
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait Action extends () ⇒ (List[Action], List[NamespaceException])

    Permalink

    Base trait for namespace actions.

  2. case class BuildBodyNamespace(parent: Option[ComponentNamespace], body: ComponentBody) extends Action with Product with Serializable

    Permalink

    Builds the namespace of a component body.

  3. case class BuildCallGraphComp(comp: ComponentDeclaration) extends Action with Product with Serializable

    Permalink

    Builds the call graph of a given component considered as root.

  4. case class BuildCallGraphPackage(pkg: PackageDeclaration) extends Action with Product with Serializable

    Permalink

    Builds call graphs for root nodes of all configurations found under the given package.

  5. case class BuildComponentNamespaceDown(parent: Option[PackageNamespace], component: ComponentDeclaration) extends Action with Product with Serializable

    Permalink

    Builds the namespace of a component declaration.

  6. case class BuildComponentNamespaceUp(component: ComponentDeclaration) extends Action with Product with Serializable

    Permalink
  7. case class BuildConfigurationNamespace(parent: Option[PackageNamespace], source: ConfigurationDeclaration) extends Action with Product with Serializable

    Permalink
  8. case class BuildPackageNamespace(parent: Option[PackageNamespace], pkg: PackageDeclaration) extends Action with Product with Serializable

    Permalink

    Recursively builds the namespace of a package declaration.

  9. type CallDefMapType = Map[DSLSymbol, CompCallFlowDefinition]

    Permalink
  10. case class CheckCyclesComponent(comp: ComponentDeclaration) extends Action with Product with Serializable

    Permalink

    Checks cyclic dependencies in identifiers used in a ComponentDeclaration.

  11. case class CheckCyclesRootPackage(rootPkg: PackageDeclaration) extends Action with Product with Serializable

    Permalink

    Check cyclic component definitions from the root package.

  12. trait CheckIdents extends Action

    Permalink

    Provides utility methods allowing to check if identifiers contained in expressions are declared in a given namespace.

  13. case class CheckIdentsBody(body: ComponentBody) extends CheckIdents with Product with Serializable

    Permalink

    Checks identifiers used in a ComponentBody.

  14. case class CheckIdentsComponent(comp: ComponentDeclaration) extends CheckIdents with Product with Serializable

    Permalink

    Checks identifiers used in a ComponentDeclaration.

  15. case class CheckIdentsConfiguration(config: ConfigurationDeclaration) extends CheckIdents with Product with Serializable

    Permalink

    Checks identifiers used in a ComponentBody.

  16. case class CheckIdentsPackage(pkg: PackageDeclaration) extends CheckIdents with Product with Serializable

    Permalink

    Checks identifiers used in all ProgramDeclarations of the given package.

  17. case class CheckTypesComponent(compDecl: ComponentDeclaration) extends Action with Product with Serializable

    Permalink

    Check cyclic component definitions from the root package.

  18. case class CheckTypesConfiguration(configDecl: ConfigurationDeclaration) extends Action with Product with Serializable

    Permalink

    Check cyclic component definitions from the root package.

  19. case class CheckTypesPackage(pkg: PackageDeclaration) extends Action with Product with Serializable

    Permalink

    Check cyclic component definitions from the root package.

  20. class CompInstanceDepGraph extends DepGraphE

    Permalink

    Class used to build a topological ordering of component of all instance under in a root component .

  21. trait CompInstanceDepGraphField extends AnyRef

    Permalink

    Depedency graph for all components found under the root node of a configuration (ie, the call graph).

  22. class ComponentBodyNamespace extends Namespace with UsedTypesSetField

    Permalink

    Namespace management in a component body.

  23. class ComponentDepGraph extends DepGraphE

    Permalink

    Class used to build a topological ordering of component of all instance under in a root component .

  24. trait ComponentDepGraphField extends AnyRef

    Permalink

    Dependency graph for all components found under the root package.

  25. type ComponentMapType = Map[DSLSymbol, ComponentDeclaration]

    Permalink
  26. class ComponentNamespace extends Namespace with FlowDepGraphField with CompInstanceDepGraphField with UsedTypesSetField

    Permalink

    Namespace management in a component interface.

  27. type ConfigurationMapType = Map[DSLSymbol, ConfigurationDeclaration]

    Permalink
  28. class ConfigurationNamespace extends Namespace

    Permalink

    Namespace management in a component body.

  29. case class CyclicDependencyException[A <: SourceMapped](cycle: List[A]) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Exception representing a circular dependency error between ASTNodes.

  30. trait DSLException extends Exception

    Permalink

    Abstract type of all DSL related exceptions.

  31. case class DepGraphNotSet[N <: Namespace](namespace: N, graphKind: String) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when trying to access a dependency graph that does not exist within some namespace.

  32. type DesignSpaceMapType = Map[CompInstanceIdent, CompSubstitution]

    Permalink
  33. type EventSetType = Set[DSLSymbol]

    Permalink
  34. case class EventsInNonPrimaryComponentException(ident: CompIdent) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the declaration of an identifier (package, type, constant, stream) cannot be found in the namespace

  35. type FlowDeclMapType = Map[DSLSymbol, FlowDeclaration]

    Permalink
  36. type FlowDefMapType = Map[DSLSymbol, FlowDefinition]

    Permalink
  37. class FlowDepGraph extends DepGraphE

    Permalink
  38. trait FlowDepGraphField extends AnyRef

    Permalink

    Dependency graph for all flows found in a component.

  39. case class IdentNotFoundException[I <: IdentLike](ident: I, context: Namespace) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the declaration of an identifier (package, type, constant, stream) cannot be found in the namespace

  40. type IncludeSetType = Set[IncludeDeclaration]

    Permalink
  41. case class InputDefinitionException(flow: FlowDeclaration, component: ComponentDeclaration, definition: FlowDefinition) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a flow of some component is given a definition (for input flows only).

  42. case class InstDefInPrimaryComponentException(ident: CompIdent) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the declaration of an identifier (package, type, constant, stream) cannot be found in the namespace

  43. case class MeaninglessLocate(ident: IdentLike, in: Declaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when searching an identifier in declaration that cannot contain it

  44. case class MissingDefinitionException(flow: FlowDeclaration, component: ComponentDeclaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a flow of some component is not given a definition (for local and output flows only).

  45. case class MissingLambdaDefinitionException(event: BoolIdent, alternative: CompAlternative) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a flow of some component is not given a definition (for local and output flows only).

  46. case class MultipleDeclarationException[A <: ASTNode](current: A, previous: A) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when an identifier is declared multiple times.

  47. case class MultipleDefinitionException[A <: ASTNode](current: A, previous: A) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when an identifier is defined multiple times.

  48. case class MultipleInstIdDeclarationException(instId: DSLSymbol, decl: ComponentDeclaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a value identifer is multiply declared in some TypeDeclaration.

  49. case class MultipleTypeValueDeclarationException(symbol: DSLSymbol, decl: TypeDeclaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a value identifer is multiply declared in some TypeDeclaration.

  50. sealed trait Namespace extends AnyRef

    Permalink

    Base type for all DSL namespace management classes.

    Base type for all DSL namespace management classes. * All Identifiers are resolved relatively to the lexical scope associated with the namespace object on which methods are called.

  51. sealed trait NamespaceException extends Exception with DSLException

    Permalink

    Base type for all namespace exceptions.

  52. case class NamespaceExceptions(exceptions: List[NamespaceException]) extends Exception with Product with Serializable

    Permalink

    Encapsulates a list of namespace exceptions.

  53. sealed trait NamespaceFatal extends Exception with NamespaceException

    Permalink

    Fatal namespace exceptions from which recovery is not possible.

  54. sealed trait NamespaceWarning extends Exception with NamespaceException

    Permalink

    Non-fatal namespace exceptions from which recovery is possible.

  55. case class NoAlternative(initial: CompInstanceIdent, conf: ConfigurationDeclaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink
  56. case class NonPrimaryAlternativeException(alternative: CompAlternative) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a non-primary component is used as the left hand side of an alternative in a design space description.

  57. case class NonPrimarySubstitutionException(ident: CompInstanceIdent) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when a non-primary component is used in the right hand side of an alternative in a design space description.

  58. case class OpenPackageNotFoundException(o: OpenDeclaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the package given in an open declaration could not be located in the context namespacex.

  59. type OpenSetType = Set[OpenDeclaration]

    Permalink
  60. type PackageMapType = Map[DSLSymbol, PackageDeclaration]

    Permalink
  61. class PackageNamespace extends Namespace with ComponentDepGraphField

    Permalink

    Namespace management in a package scope.

  62. type PkgContentsType = (PackageMapType, IncludeSetType, OpenSetType, TypeMapType, ComponentMapType, ConfigurationMapType)

    Permalink
  63. case class ResolveOpenDeclarations(pkg: PackageDeclaration) extends Action with Product with Serializable

    Permalink

    Resolves open statements of a program once namespace maps have been built without error.

  64. case class RootComponentNotClosed(config: ConfigurationDeclaration) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the root component of a configuration is not closed, ie.

    Thrown when the root component of a configuration is not closed, ie. still contains free inputs.

  65. case class ShadowingDeclarationException(current: Declaration, previous: Declaration) extends Exception with NamespaceWarning with Product with Serializable

    Permalink

    Thrown when a declaration shadows a previous declaration declared in an enclosing scope.

  66. type TypeMapType = Map[DSLSymbol, TypeDeclaration]

    Permalink
  67. type TypeSetType = Set[TypeDeclaration]

    Permalink
  68. type TypeValueSetType = Set[DSLSymbol]

    Permalink
  69. sealed trait TypingException extends Exception with NamespaceFatal

    Permalink
  70. case class UndeclaredIdentifierException[A <: IdentLike](id: A) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the declaration of an identifier could not be found.

  71. case class UndefinedIdentifierException[A <: IdentLike](id: A) extends Exception with NamespaceFatal with Product with Serializable

    Permalink

    Thrown when the definition of an identifier could not be found.

  72. trait UsedTypesSetField extends AnyRef

    Permalink

    Set of all type declarations used in a given namespace.

  73. case class WrongDefaultAlternative(inst: CompInstanceIdent, alt: CompAlternative, initial: CompIdent) extends Exception with TypingException with Product with Serializable

    Permalink
  74. case class WrongTypeAlternative(initial: ComponentDeclaration, inType: TupleType, outType: TupleType, alternative: ComponentDeclaration, altInType: TupleType, altOutType: TupleType) extends Exception with TypingException with Product with Serializable

    Permalink
  75. case class WrongTypeCompCallArgs(call: CompCall, argsType: TupleType, inputsType: TupleType) extends Exception with TypingException with Product with Serializable

    Permalink
  76. case class WrongTypeExpr(expr: Expr, found: ScalarTypeExpr, expected: ScalarTypeExpr) extends Exception with TypingException with Product with Serializable

    Permalink
  77. case class WrongTypeFlowDef(d: FlowDefinition, lhsType: TupleType, rhsType: TupleType) extends Exception with TypingException with Product with Serializable

    Permalink

Value Members

  1. object BuildConfigCallGraphs extends (PackageDeclaration) ⇒ \/[NamespaceExceptions, List[NamespaceWarning]]

    Permalink

    Trampoline that builds and checks the namespace of a program.

    Trampoline that builds and checks the namespace of a program.

    • builds call graphs for all root nodes of root components of all declarations found under the given package
  2. object BuildNamespace extends (PackageDeclaration) ⇒ \/[NamespaceExceptions, List[NamespaceWarning]]

    Permalink

    Trampoline that builds and checks the namespace of a program.

    Trampoline that builds and checks the namespace of a program.

    • traverse package hierarchy and resolve package open statements
    • recursively builds the namespace hierarchy
    • checks identifier uses everywhere
    • checks for cyclic dependencies at flow levels inside components
  3. object CheckCompCycles extends (PackageDeclaration) ⇒ \/[NamespaceExceptions, List[NamespaceWarning]]

    Permalink

    Trampoline that builds and checks the namespace of a program.

    Trampoline that builds and checks the namespace of a program.

    • checks for cyclic component dependencies
  4. object CheckTypes extends (PackageDeclaration) ⇒ \/[NamespaceExceptions, List[NamespaceWarning]]

    Permalink

    Trampoline that builds and checks the namespace of a program.

    Trampoline that builds and checks the namespace of a program.

    • checks for cyclic component dependencies
  5. object RunAction extends (Action) ⇒ \/[NamespaceExceptions, List[NamespaceWarning]]

    Permalink

    Runs a build action to completion using a trampoline.

    Runs a build action to completion using a trampoline. All actions resulting from the action are run to completion and the list of all non-fatal exceptions triggered during processing is returned, unless a single fatal exceptions is raised in which case it is returned.

Inherited from AnyRef

Inherited from Any

Ungrouped