Expand description
This module implements an abstract syntax tree for VHDL. It is emitted by the parser.
Re-exports§
Structs§
- Alias
Decl - An alias declaration.
- Arch
Body - An architecture body.
- Attr
Decl - Binding
Ind - Block
Comp Cfg - CfgDecl
- A configuration declaration.
- CfgSpec
- Comp
Decl - A component declaration.
- Compound
Name - A compound name consisting of a primary name (identifier, character literal, or string literal), and zero or more suffices (select, attribute, call). The names in IEEE 1076-2008 section 8.1 map to this as follows:
- Cond
Wave - A conditional wave.
- CtxDecl
- A context declaration.
- Design
Unit - A design unit. Multiple design units make up a design file. Each unit consists of an optional context clause followed by a primary or secondary unit.
- Discon
Spec - Entity
Decl - An entity declaration.
- Expr
- An expression.
- GenBody
- Group
Decl - Ident
- An identifier. Has a node ID such that it may be referenced later on.
- Intf
ObjDecl - An interface object declaration.
- Intf
Subprog Decl - NodeId
- A positive, small ID assigned to each node in the AST. Used as a lightweight way to refer to individual nodes, e.g. during symbol table construction and name resolution.
- ObjDecl
- Paren
Elem - A parenthesized expression element. A parenthesized expression contains
elements of which each may either be a simple
<expr>
, or an association of the form<choices> => <expr>
. - PkgBody
- A package body.
- PkgDecl
- A package declaration.
- PkgInst
- A package instantiation declaration.
- Primary
Name - Select
Wave - A selected wave. The second element of the tuple represents the choices for which this wave would be selected.
- Signature
- Stmt
- Stmt
Body - The body of an if, loop, or case statement.
- Subprog
- Subprog
Spec - Subtype
Decl - Subtype
Ind - Type
Decl - A type declaration. If the
data
field is omitted, this is an incomplete declaration. - Wave
Enums§
- Assign
Kind - Assign
Mode - Assign
Target - Attr
Data - Attr
Target - Binary
Op - Block
Comp Spec - CtxItem
- A context item, multiple of which make up a context clause.
- Decl
Item - A declarative item.
- Delay
Mech - Design
Unit Data - Dir
- Discon
Target - Entity
Aspect - Entity
Class - Expr
Data - The data associated with a specific expression.
- Force
Mode - Group
Data - Inst
Target - Intf
Decl - An interface declaration.
- Intf
Mode - Intf
ObjKind - Logical
Op - Loop
Scheme - Name
Part - Nexit
Mode - ObjDetail
- Additional mutually exclusive details that may be provided with an object declaration.
- ObjKind
- Portgen
Kind - Primary
Name Kind - Relational
Op - Resol
Ind - Select
Assign Mode - Sensitivity
- ShiftOp
- Sign
- Stmt
Data - Subprog
Data - Subprog
Default - Subprog
Kind - Subprog
Purity - Type
Data - UnaryOp
Constants§
- DUMMY_
NODE_ ID - During parsing and syntax tree construction, we assign each node this ID. Only later, during the renumbering pass do we assign actual IDs to each node.
Type Aliases§
- Choices
- Paren
Elems - A vector of parenthesized expression elements, including the span of the expression that this would cover.