Safe Haskell | Safe-Inferred |
---|---|
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
- | EDITypeDecl TypeDeclaration
- | EDISubtypeDecl SubtypeDeclaration
- | EDIConstantDecl ConstantDeclaration
- | EDISignalDecl SignalDeclaration
- | EDISharedDecl VariableDeclaration
- | EDIFileDecl FileDeclaration
- | EDIAliasDecl AliasDeclaration
- | EDIAttrDecl AttributeDeclaration
- | EDIAttrSpec AttributeSpecification
- | EDIDiscSpec DisconnectionSpecification
- | EDIUseClause UseClause
- | EDIGroupTemp GroupTemplateDeclaration
- | EDIGroupDecl GroupDeclaration
- type EntityStatementPart = [EntityStatement]
- data EntityStatement
- data ArchitectureBody = ArchitectureBody {}
- type ArchitectureDeclarativePart = [BlockDeclarativeItem]
- data BlockDeclarativeItem
- = BDISubprogDecl SubprogramDeclaration
- | BDISubprogBody SubprogramBody
- | BDITypeDecl TypeDeclaration
- | BDISubtypeDecl SubtypeDeclaration
- | BDIConstantDecl ConstantDeclaration
- | BDISignalDecl SignalDeclaration
- | BDISharedDecl VariableDeclaration
- | BDIFileDecl FileDeclaration
- | BDIAliasDecl AliasDeclaration
- | BDICompDecl ComponentDeclaration
- | BDIAttrDecl AttributeDeclaration
- | BDIAttrSepc AttributeSpecification
- | BDIConfigSepc ConfigurationSpecification
- | BDIDisconSpec DisconnectionSpecification
- | BDIUseClause UseClause
- | BDIGroupTemp GroupTemplateDeclaration
- | BDIGroupDecl 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
- | SDITypeDecl TypeDeclaration
- | SDISubtypeDecl SubtypeDeclaration
- | SDIConstantDecl ConstantDeclaration
- | SDIVariableDecl VariableDeclaration
- | SDIFileDecl FileDeclaration
- | SDIAliasDecl AliasDeclaration
- | SDIAttrDecl AttributeDeclaration
- | SDIAttrSepc AttributeSpecification
- | SDIUseClause UseClause
- | SDIGroupTemp GroupTemplateDeclaration
- | SDIGroupDecl GroupDeclaration
- type SubprogramStatementPart = [SequentialStatement]
- data SubprogramKind
- data Signature = Signature (Maybe (Maybe [TypeMark], Maybe TypeMark))
- data PackageDeclaration = PackageDeclaration {}
- type PackageDeclarativePart = [PackageDeclarativeItem]
- data PackageDeclarativeItem
- = PDISubprogDecl SubprogramDeclaration
- | PDISubprogBody SubprogramBody
- | PDITypeDecl TypeDeclaration
- | PDISubtypeDecl SubtypeDeclaration
- | PDIConstantDecl ConstantDeclaration
- | PDISignalDecl SignalDeclaration
- | PDISharedDecl VariableDeclaration
- | PDIFileDecl FileDeclaration
- | PDIAliasDecl AliasDeclaration
- | PDICompDecl ComponentDeclaration
- | PDIAttrDecl AttributeDeclaration
- | PDIAttrSpec AttributeSpecification
- | PDIDiscSpec DisconnectionSpecification
- | PDIUseClause UseClause
- | PDIGroupTemp GroupTemplateDeclaration
- | PDIGroupDecl GroupDeclaration
- data PackageBody = PackageBody {}
- type PackageBodyDeclarativePart = [PackageBodyDeclarativeItem]
- data PackageBodyDeclarativeItem
- = PBDISubprogDecl SubprogramDeclaration
- | PBDISubprogBody SubprogramBody
- | PBDITypeDecl TypeDeclaration
- | PBDISubtypeDecl SubtypeDeclaration
- | PBDIConstantDecl ConstantDeclaration
- | PBDISharedDecl VariableDeclaration
- | PBDIFileDecl FileDeclaration
- | PBDIAliasDecl AliasDeclaration
- | PBDIUseClause UseClause
- | PBDIGroupTemp GroupTemplateDeclaration
- | PBDIGroupDecl 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
- = ProcDISubprogDecl SubprogramDeclaration
- | ProcDISubprogBody SubprogramBody
- | ProcDIType TypeDeclaration
- | ProcDISubtype SubtypeDeclaration
- | ProcDIConstant ConstantDeclaration
- | ProcDIVariable VariableDeclaration
- | ProcDIFile FileDeclaration
- | ProcDIAlias AliasDeclaration
- | ProcDIAttrDecl AttributeDeclaration
- | ProcDIAttrSpec AttributeSpecification
- | ProcDIUseClause UseClause
- 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 Identifier = Ident String
- data CharacterLiteral = CLit Char
- data StringLiteral = SLit String
- data AbstractLiteral = AbstractLiteral
- data Base = Base
- data BaseSpecifier = BaseSpecifier
- data BaseUnitDeclaration = BaseUnitDeclaration
- data BasedInteger = BasedInteger
- data BasedLiteral = BasedLiteral
- data BasicCharacter = BasicCharacter
- data BasicGraphicCharacter = BasicGraphicCharacter
- data BasicIdentifier = BasicIdentifier
- data BitStringLiteral = BitStringLiteral
- data BitValue = BitValue
- data ContextClause = ContextClause
- data ContextItem = ContextItem
- data DecimalLiteral = DecimalLiteral
- data DesignFile = DesignFile
- data DesignUnit = DesignUnit
- data Exponent = Exponent
- data ExtendedDigit = ExtendedDigit
- data ExtendedIdentifier = ExtendedIdentifier
- data GraphicCharacter = GraphicCharacter
- data Letter = Letter
- data LetterOrDigit = LetterOrDigit
- data LibraryClause = LibraryClause
- data LibraryUnit = LibraryUnit
- data LogicalName = LogicalName
- data LogicalNameList = LogicalNameList
- data PrimaryUnit = PrimaryUnit
- data ProcessStatementPart = ProcessStatementPart
- data SecondaryUnit = SecondaryUnit
1.1 Entiity Declarations
1.1.1 Entity haeder
data EntityHeader 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 ConfigurationItem Source
1.3.2 Component configuration
2.1 Subprogram declarations
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
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
3.1.1 Enumeration types
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
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
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
4.3 Objects
4.3.1 Object declarations
data ObjectDeclaration Source
4.3.1.1 Constant declarations
4.3.1.2 Signal declarations
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
4.3.2.2 Association lists
data AssociationElement 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
5.1 Attribute specification
data EntityClass Source
data EntityDesignator Source
5.2 Configuration specification
5.2.1 Binding indication
5.2.1.1 Entity aspect
5.2.1.2 Generic map and port map aspects
5.2.2 Default binding indication
5.3 Disconnection specification
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
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
type Condition = Expression Source
8.2 Assertion statement
8.3 Report statement
data ReportStatement Source
8.4 Signal assignment statement
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
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
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
type Label = Identifier Source