Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- 1.1 Entiity Declarations
- 1.2 Arcitecture bodies
- 1.3 Configuration declarations
- 2.1 Subprogram declarations
- 2.2 Subprogram bodies
- 2.3 Subprogram overloading
- 2.4 Resolution functions
- 2.5 Package declarations
- 2.6 Package bodies
- 2.7 Conformance rules
- 3.1 Scalar types
- 3.2 Composite types
- 3.3 Access types
- 3.4 File types
- 3.5 Protected types
- 4.1 Type declarations
- 4.2 Subtype declarations
- 4.3 Objects
- 4.4 Attribute declarations
- 4.5 Component declarations
- 4.6 Group template declarations
- 4.7 Group declarations
- 5.1 Attribute specification
- 5.2 Configuration specification
- 5.3 Disconnection specification
- 6.1 Names
- 6.2 Simple names
- 6.3 Selected names
- 6.4 Indexed names
- 6.5 Slice names
- 6.6 Attribute names
- 7.1 Rules for expressions
- 7.2 Operators
- 7.3 Operands
- 7.4 Static expressions
- 7.5 Universal expressions
- 8.1 Wait statement
- 8.2 Assertion statement
- 8.3 Report statement
- 8.4 Signal assignment statement
- 8.5 Variable assignment statement
- 8.6 Procedure call statement
- 8.7 If statement
- 8.8 Case statement
- 8.9 Loop statement
- 8.10 Next statement
- 8.11 Exit statement
- 8.12 Return statement
- 8.13 Null statement
- 9.1 Block statement
- 9.2 Process statement
- 9.3 Concurrent procedure call statements
- 9.4 Concurrent assertion statements
- 9.5 Concurrent signal assignment statements
- 9.6 Component instantiation statements
- 9.7 Generate statements
- data EntityDeclaration = EntityDeclaration {}
- data EntityHeader = EntityHeader {}
- data GenericClause = GenericClause GenericList
- data PortClause = PortClause PortList
- type GenericList = InterfaceList
- type PortList = InterfaceList
- type EntityDeclarativePart = [EntityDeclarativeItem]
- data EntityDeclarativeItem
- = EDISubprogDecl SubprogramDeclaration
- | EDISubprogBody SubprogramBody
- | EDIType TypeDeclaration
- | EDISubtype SubtypeDeclaration
- | EDIConstant ConstantDeclaration
- | EDISignal SignalDeclaration
- | EDIShared VariableDeclaration
- | EDIFile FileDeclaration
- | EDIAlias AliasDeclaration
- | EDIAttrDecl AttributeDeclaration
- | EDIAttrSpec AttributeSpecification
- | EDIDiscSpec DisconnectionSpecification
- | EDIUseClause UseClause
- | EDIGroupTemp GroupTemplateDeclaration
- | EDIGroup GroupDeclaration
- type EntityStatementPart = [EntityStatement]
- data EntityStatement
- data ArchitectureBody = ArchitectureBody {}
- type ArchitectureDeclarativePart = [BlockDeclarativeItem]
- data BlockDeclarativeItem
- = BDISubprogDecl SubprogramDeclaration
- | BDISubprogBody SubprogramBody
- | BDIType TypeDeclaration
- | BDISubtype SubtypeDeclaration
- | BDIConstant ConstantDeclaration
- | BDISignal SignalDeclaration
- | BDIShared VariableDeclaration
- | BDIFile FileDeclaration
- | BDIAlias AliasDeclaration
- | BDIComp ComponentDeclaration
- | BDIAttrDecl AttributeDeclaration
- | BDIAttrSepc AttributeSpecification
- | BDIConfigSepc ConfigurationSpecification
- | BDIDisconSpec DisconnectionSpecification
- | BDIUseClause UseClause
- | BDIGroupTemp GroupTemplateDeclaration
- | BDIGroup GroupDeclaration
- type ArchitectureStatementPart = [ConcurrentStatement]
- data ConfigurationDeclaration = ConfigurationDeclaration {}
- type ConfigurationDeclarativePart = [ConfigurationDeclarativeItem]
- data ConfigurationDeclarativeItem
- data BlockConfiguration = BlockConfiguration {}
- data BlockSpecification
- data IndexSpecification
- data ConfigurationItem
- data ComponentConfiguration = ComponentConfiguration {}
- type SubprogramDeclaration = SubprogramSpecification
- data SubprogramSpecification
- data Designator
- type OperatorSymbol = StringLiteral
- type FormalParameterList = InterfaceList
- data SubprogramBody = SubprogramBody {}
- type SubprogramDeclarativePart = [SubprogramDeclarativeItem]
- data SubprogramDeclarativeItem
- = SDISubprogDecl SubprogramDeclaration
- | SDISubprogBody SubprogramBody
- | SDIType TypeDeclaration
- | SDISubtype SubtypeDeclaration
- | SDIConstant ConstantDeclaration
- | SDIVariable VariableDeclaration
- | SDIFile FileDeclaration
- | SDIAlias AliasDeclaration
- | SDIAttrDecl AttributeDeclaration
- | SDIAttrSepc AttributeSpecification
- | SDIUseClause UseClause
- | SDIGroupTemp GroupTemplateDeclaration
- | SDIGroup GroupDeclaration
- type SubprogramStatementPart = [SequentialStatement]
- data SubprogramKind
- data Signature = Signature (Maybe (Maybe [TypeMark], Maybe TypeMark))
- data PackageDeclaration = PackageDeclaration {}
- type PackageDeclarativePart = [PackageDeclarativeItem]
- data PackageDeclarativeItem
- = PHDISubprogDecl SubprogramDeclaration
- | PHDISubprogBody SubprogramBody
- | PHDIType TypeDeclaration
- | PHDISubtype SubtypeDeclaration
- | PHDIConstant ConstantDeclaration
- | PHDISignal SignalDeclaration
- | PHDIShared VariableDeclaration
- | PHDIFile FileDeclaration
- | PHDIAlias AliasDeclaration
- | PHDIComp ComponentDeclaration
- | PHDIAttrDecl AttributeDeclaration
- | PHDIAttrSpec AttributeSpecification
- | PHDIDiscSpec DisconnectionSpecification
- | PHDIUseClause UseClause
- | PHDIGroupTemp GroupTemplateDeclaration
- | PHDIGroup GroupDeclaration
- data PackageBody = PackageBody {}
- type PackageBodyDeclarativePart = [PackageBodyDeclarativeItem]
- data PackageBodyDeclarativeItem
- = PBDISubprogDecl SubprogramDeclaration
- | PBDISubprogBody SubprogramBody
- | PBDIType TypeDeclaration
- | PBDISubtype SubtypeDeclaration
- | PBDIConstant ConstantDeclaration
- | PBDIShared VariableDeclaration
- | PBDIFile FileDeclaration
- | PBDIAlias AliasDeclaration
- | PBDIUseClause UseClause
- | PBDIGroupTemp GroupTemplateDeclaration
- | PBDIGroup GroupDeclaration
- data ScalarTypeDefinition
- data RangeConstraint = RangeConstraint Range
- data Range
- data Direction
- data EnumerationTypeDefinition = EnumerationTypeDefinition [EnumerationLiteral]
- data EnumerationLiteral
- type IntegerTypeDefinition = RangeConstraint
- data PhysicalTypeDefinition = PhysicalTypeDefinition {}
- type PrimaryUnitDeclaration = Identifier
- data SecondaryUnitDeclaration = SecondaryUnitDeclaration Identifier PhysicalLiteral
- data PhysicalLiteral = PhysicalLiteral {}
- type FloatingTypeDefinition = RangeConstraint
- data CompositeTypeDefinition
- data ArrayTypeDefinition
- data UnconstrainedArrayDefinition = UnconstrainedArrayDefinition {}
- data ConstrainedArrayDefinition = ConstrainedArrayDefinition {}
- data IndexSubtypeDefinition = IndexSubtypeDefinition TypeMark
- data IndexConstraint = IndexConstraint [DiscreteRange]
- data DiscreteRange
- data RecordTypeDefinition = RecordTypeDefinition {}
- data ElementDeclaration = ElementDeclaration {}
- type IdentifierList = [Identifier]
- type ElementSubtypeDefinition = SubtypeIndication
- data AccessTypeDefinition = AccessTypeDefinition SubtypeIndication
- data IncompleteTypeDeclaration = IncompleteTypeDeclaration Identifier
- data FileTypeDefinition = FileTypeDefinition TypeMark
- data Declaration
- = DType TypeDeclaration
- | DSubtype SubtypeDeclaration
- | DObject ObjectDeclaration
- | DAlias AliasDeclaration
- | DComponent ComponentDeclaration
- | DAttribute AttributeDeclaration
- | DGroupTemplate GroupTemplateDeclaration
- | DGroup GroupDeclaration
- | DEntity EntityDeclaration
- | DConfiguration ConfigurationDeclaration
- | DSubprogram SubprogramDeclaration
- | DPackage PackageDeclaration
- data TypeDeclaration
- data FullTypeDeclaration = FullTypeDeclaration {}
- data TypeDefinition
- data SubtypeDeclaration = SubtypeDeclaration {}
- data SubtypeIndication = SubtypeIndication {}
- data TypeMark
- data Constraint
- data ObjectDeclaration
- data ConstantDeclaration = ConstantDeclaration {}
- data SignalDeclaration = SignalDeclaration {}
- data SignalKind
- data VariableDeclaration = VariableDeclaration {}
- data FileDeclaration = FileDeclaration {}
- data FileOpenInformation = FileOpenInformation {}
- type FileLogicalName = Expression
- data InterfaceDeclaration
- data Mode
- data InterfaceList = InterfaceList [InterfaceElement]
- type InterfaceElement = InterfaceDeclaration
- data AssociationElement = AssociationElement {}
- data AssociationList = AssociationList [AssociationElement]
- data FormalDesignator
- data FormalPart
- data ActualDesignator
- data ActualPart
- data AliasDeclaration = AliasDeclaration {}
- data AliasDesignator
- data AttributeDeclaration = AttributeDeclaration {}
- data ComponentDeclaration = ComponentDeclaration {}
- data GroupTemplateDeclaration = GroupTemplateDeclaration {}
- type EntityClassEntryList = [EntityClassEntry]
- data EntityClassEntry = EntityClassEntry {}
- data GroupDeclaration = GroupDeclaration {}
- type GroupConstituentList = [GroupConstituent]
- data GroupConstituent
- data AttributeSpecification = AttributeSpecification {}
- data EntitySpecification = EntitySpecification {}
- data EntityClass
- data EntityNameList
- data EntityDesignator = EntityDesignator {}
- data EntityTag
- data ConfigurationSpecification = ConfigurationSpecification {}
- data ComponentSpecification = ComponentSpecification {}
- data InstantiationList
- data BindingIndication = BindingIndication {}
- data EntityAspect
- data GenericMapAspect = GenericMapAspect AssociationList
- data PortMapAspect = PortMapAspect AssociationList
- data DisconnectionSpecification = DisconnectionSpecification {}
- data GuardedSignalSpecification = GuardedSignalSpecification {}
- data SignalList
- data Name
- data Prefix
- type SimpleName = Identifier
- data SelectedName = SelectedName {}
- data Suffix
- data IndexedName = IndexedName {}
- data SliceName = SliceName {}
- data AttributeName = AttributeName {}
- type AttributeDesignator = SimpleName
- data Expression
- data Relation = Relation {}
- data ShiftExpression = ShiftExpression {}
- data SimpleExpression = SimpleExpression {
- sexp_sign :: Maybe Sign
- sexp_term :: Term
- sexp_adding :: [(AddingOperator, Term)]
- data Term = Term {}
- data Factor
- data Primary
- data LogicalOperator
- data RelationalOperator
- data ShiftOperator
- data AddingOperator
- data Sign
- data MultiplyingOperator
- data MiscellaneousOperator
- data Literal
- data NumericLiteral
- data Aggregate = Aggregate {}
- data ElementAssociation = ElementAssociation {}
- data Choices = Choices [Choice]
- data Choice
- data FunctionCall = FunctionCall {}
- type ActualParameterPart = AssociationList
- data QualifiedExpression
- data TypeConversion = TypeConversion {}
- data Allocator
- type SequenceOfStatements = [SequentialStatement]
- data SequentialStatement
- = SWait WaitStatement
- | SAssert AssertionStatement
- | SReport ReportStatement
- | SSignalAss SignalAssignmentStatement
- | SVarAss VariableAssignmentStatement
- | SProc ProcedureCallStatement
- | SIf IfStatement
- | SCase CaseStatement
- | SLoop LoopStatement
- | SNext NextStatement
- | SExit ExitStatement
- | SReturn ReturnStatement
- | SNull NullStatement
- data WaitStatement = WaitStatement (Maybe Label) (Maybe SensitivityClause) (Maybe ConditionClause) (Maybe TimeoutClause)
- data SensitivityClause = SensitivityClause SensitivityList
- data SensitivityList = SensitivityList [Name]
- data ConditionClause = ConditionClause Condition
- type Condition = Expression
- data TimeoutClause = TimeoutClause Expression
- data AssertionStatement = AssertionStatement (Maybe Label) Assertion
- data Assertion = Assertion Condition (Maybe Expression) (Maybe Expression)
- data ReportStatement = ReportStatement (Maybe Label) Expression (Maybe Expression)
- data SignalAssignmentStatement = SignalAssignmentStatement (Maybe Label) Target (Maybe DelayMechanism) Waveform
- data DelayMechanism
- data Target
- data Waveform
- data WaveformElement
- data VariableAssignmentStatement = VariableAssignmentStatement (Maybe Label) Target Expression
- data ProcedureCallStatement = ProcedureCallStatement (Maybe Label) ProcedureCall
- data ProcedureCall = ProcedureCall Name (Maybe ActualParameterPart)
- data IfStatement = IfStatement {}
- data CaseStatement = CaseStatement {}
- data CaseStatementAlternative = CaseStatementAlternative Choices SequenceOfStatements
- data LoopStatement = LoopStatement {}
- data IterationScheme
- data ParameterSpecification = ParameterSpecification {}
- data NextStatement = NextStatement {}
- data ExitStatement = ExitStatement {}
- data ReturnStatement = ReturnStatement {}
- data NullStatement = NullStatement {
- null_label :: Maybe Label
- data ConcurrentStatement
- data BlockStatement = BlockStatement {}
- data BlockHeader = BlockHeader {}
- type BlockDeclarativePart = [BlockDeclarativeItem]
- type BlockStatementPart = [ConcurrentStatement]
- data ProcessStatement = ProcessStatement {}
- type ProcessDeclarativePart = [ProcessDeclarativeItem]
- data ProcessDeclarativeItem
- = PDISubprogDecl SubprogramDeclaration
- | PDISubprogBody SubprogramBody
- | PDIType TypeDeclaration
- | PDISubtype SubtypeDeclaration
- | PDIConstant ConstantDeclaration
- | PDIVariable VariableDeclaration
- | PDIFile FileDeclaration
- | PDIAlias AliasDeclaration
- | PDIAttrDecl AttributeDeclaration
- | PDIAttrSpec AttributeSpecification
- | PDIUseClause UseClause
- type ProcessStatementPart = [SequentialStatement]
- data ConcurrentProcedureCallStatement = ConcurrentProcedureCallStatement {}
- data ConcurrentAssertionStatement = ConcurrentAssertionStatement {}
- data ConcurrentSignalAssignmentStatement
- data Options = Options {}
- data ConditionalSignalAssignment = ConditionalSignalAssignment {}
- data ConditionalWaveforms = ConditionalWaveforms {}
- data SelectedSignalAssignment = SelectedSignalAssignment {}
- data SelectedWaveforms = SelectedWaveforms {}
- data ComponentInstantiationStatement = ComponentInstantiationStatement {}
- data InstantiatedUnit
- data GenerateStatement = GenerateStatement {}
- data GenerationScheme
- type Label = Identifier
- data UseClause = UseClause [SelectedName]
- data DesignFile = DesignFile [DesignUnit]
- data DesignUnit = DesignUnit ContextClause LibraryUnit
- data LibraryUnit
- data PrimaryUnit
- data SecondaryUnit
- data LibraryClause = LibraryClause LogicalNameList
- data LogicalNameList = LogicalNameList [LogicalName]
- type LogicalName = Identifier
- data ContextClause = ContextClause [ContextItem]
- data ContextItem
- data AbstractLiteral
- data DecimalLiteral = DecimalLiteral {}
- data Exponent
- data BasedLiteral = BasedLiteral {}
- type Base = Integer
- type BasedInteger = Integer
- data Identifier = Ident String
- data CharacterLiteral = CLit Char
- data StringLiteral = SLit String
- data BaseSpecifier = BaseSpecifier
- data BaseUnitDeclaration = BaseUnitDeclaration
- data BasicCharacter = BasicCharacter
- data BasicGraphicCharacter = BasicGraphicCharacter
- data BasicIdentifier = BasicIdentifier
- data BitStringLiteral = BitStringLiteral
- data BitValue = BitValue
- data ExtendedDigit = ExtendedDigit
- data ExtendedIdentifier = ExtendedIdentifier
- data GraphicCharacter = GraphicCharacter
- data Letter = Letter
- data LetterOrDigit = LetterOrDigit
1.1 Entiity Declarations
1.1.1 Entity haeder
data EntityHeader Source
data GenericClause Source
data PortClause Source
1.1.1.1 Generics
type GenericList = InterfaceList Source
1.1.1.2 Ports
type PortList = InterfaceList Source
1.1.2 Entity declarative part
data EntityDeclarativeItem Source
1.1.3 Entity statement part
type EntityStatementPart = [EntityStatement] Source
data EntityStatement Source
1.2 Arcitecture bodies
1.2.1 Architecture declarative part
data BlockDeclarativeItem Source
1.2.2 Architecture statement part
1.3 Configuration declarations
1.3.1 Block configuration
data BlockSpecification Source
data IndexSpecification Source
data ConfigurationItem Source
1.3.2 Component configuration
2.1 Subprogram declarations
data Designator Source
type OperatorSymbol = StringLiteral Source
2.1.1 Formal parameters
2.1.1.1 Constant and variable parameters
2.1.1.2 Signal parameter
2.1.1.3 File parameter
2.2 Subprogram bodies
data SubprogramDeclarativeItem Source
data SubprogramKind Source
2.3 Subprogram overloading
2.3.1 Operator overloading
2.3.2 Signatures
2.4 Resolution functions
2.5 Package declarations
data PackageDeclaration Source
data PackageDeclarativeItem Source
2.6 Package bodies
data PackageBodyDeclarativeItem Source
2.7 Conformance rules
3.1 Scalar types
data RangeConstraint Source
3.1.1 Enumeration types
data EnumerationLiteral Source
3.1.1.1 Predefined enumeration types
3.1.2 Integer types
3.1.2.1 Predefined integer types
3.1.3 Physical types
data PhysicalLiteral Source
3.1.3.1 Predefined physical types
3.1.4 Floating point types
3.1.4.1 Predefined floating point types
3.2 Composite types
3.2.1 Array types
data IndexConstraint Source
data DiscreteRange Source
3.2.1.1 Index constraints and discrete ranges
3.2.1.2 Predefined array types
3.2.2 Record types
type IdentifierList = [Identifier] Source
3.3 Access types
3.3.1 Incomplete type declarations
3.3.2 Allocation and deallocation of objects
3.4 File types
data FileTypeDefinition Source
3.4.1 File operations
3.5 Protected types
data Declaration Source
4.1 Type declarations
data TypeDeclaration Source
data TypeDefinition Source
4.2 Subtype declarations
data SubtypeDeclaration Source
data Constraint Source
4.3 Objects
4.3.1 Object declarations
data ObjectDeclaration Source
4.3.1.1 Constant declarations
4.3.1.2 Signal declarations
data SignalKind Source
4.3.1.3 Variable declarations
4.3.1.4 File declarations
type FileLogicalName = Expression Source
4.3.2 Interface declarations
4.3.2.1 Interface lists
data InterfaceList Source
4.3.2.2 Association lists
data AssociationElement Source
data AssociationList Source
data FormalDesignator Source
data FormalPart Source
data ActualDesignator Source
data ActualPart Source
4.3.3 Alias declarations
data AliasDesignator Source
4.3.3.1 Object aliases
4.3.3.2 Nonobject aliases
4.4 Attribute declarations
4.5 Component declarations
4.6 Group template declarations
type EntityClassEntryList = [EntityClassEntry] Source
data EntityClassEntry Source
4.7 Group declarations
type GroupConstituentList = [GroupConstituent] Source
data GroupConstituent Source
5.1 Attribute specification
data EntityClass Source
data EntityNameList Source
data EntityDesignator Source
5.2 Configuration specification
data InstantiationList Source
5.2.1 Binding indication
5.2.1.1 Entity aspect
data EntityAspect Source
5.2.1.2 Generic map and port map aspects
data GenericMapAspect Source
data PortMapAspect Source
5.2.2 Default binding indication
5.3 Disconnection specification
data SignalList Source
6.1 Names
6.2 Simple names
type SimpleName = Identifier Source
6.3 Selected names
data SelectedName Source
6.4 Indexed names
data IndexedName Source
6.5 Slice names
6.6 Attribute names
type AttributeDesignator = SimpleName Source
7.1 Rules for expressions
data Expression Source
data SimpleExpression Source
SimpleExpression | |
|
Term | |
|
7.2 Operators
data LogicalOperator Source
data RelationalOperator Source
data ShiftOperator Source
data AddingOperator Source
7.2.1 Logical operators
7.2.2 Relational operators
7.2.3 Shift operators
7.2.4 Adding operators
7.2.5 Sign operators
7.2.6 Multiplying operators
7.2.7 Miscellaneous operators
7.3 Operands
7.3.1 Literals
data NumericLiteral Source
7.3.2 Aggregates
data ElementAssociation Source
7.3.2.1 Record aggregates
7.3.2.2 Array aggregates
7.3.3 Function calls
data FunctionCall Source
7.3.4 Qualified expressions
7.3.5 Type conversions
data TypeConversion Source
7.3.6 Allocators
7.4 Static expressions
7.4.1 Locally static primaries
7.4.2 Globally static primaries
7.5 Universal expressions
data SequentialStatement Source
8.1 Wait statement
data WaitStatement Source
data SensitivityClause Source
data SensitivityList Source
data ConditionClause Source
type Condition = Expression Source
data TimeoutClause Source
8.2 Assertion statement
data AssertionStatement Source
8.3 Report statement
data ReportStatement Source
8.4 Signal assignment statement
data DelayMechanism Source
8.4.1 Updating a projected output waveform
data WaveformElement Source
8.5 Variable assignment statement
8.5.1 Array variable assignments
8.6 Procedure call statement
data ProcedureCall Source
8.7 If statement
data IfStatement Source
8.8 Case statement
8.9 Loop statement
data IterationScheme Source
8.10 Next statement
data NextStatement Source
8.11 Exit statement
data ExitStatement Source
8.12 Return statement
data ReturnStatement Source
8.13 Null statement
data NullStatement Source
9.1 Block statement
type BlockStatementPart = [ConcurrentStatement] Source
9.2 Process statement
data ProcessDeclarativeItem Source
9.3 Concurrent procedure call statements
9.4 Concurrent assertion statements
9.5 Concurrent signal assignment statements
9.5.1 Conditional signal assignments
9.5.2 Selected signal assignments
9.6 Component instantiation statements
data InstantiatedUnit Source
9.6.1 Instantiation of a component
9.6.2 Instantiation of a design entity
9.7 Generate statements
data GenerationScheme Source
type Label = Identifier Source
10.1 Declarative region
10.2 Scope of declarations
10.3 Visibility
10.4 Use clauses
10.5 The context of overload resolution
11.1 Design units
data DesignFile Source
data DesignUnit Source
data LibraryUnit Source
data PrimaryUnit Source
data SecondaryUnit Source
11.2 Design libraries
data LibraryClause Source
data LogicalNameList Source
type LogicalName = Identifier Source
11.3 Context clauses
data ContextClause Source
data ContextItem Source
11.3 Order of analysis
13.4
data AbstractLiteral Source
13.4.1
13.4.2
type BasedInteger = Integer Source
data Identifier Source
data CharacterLiteral Source
data StringLiteral Source
data BaseSpecifier Source
data BasicCharacter Source
data BasicIdentifier Source
data BitStringLiteral Source
data ExtendedDigit Source
data ExtendedIdentifier Source
data GraphicCharacter Source