[−][src]Module moore_vhdl_syntax::ast
This module implements an abstract syntax tree for VHDL. It is emitted by the parser.
Re-exports
pub use self::ExprData::*; |
pub use self::StmtData::*; |
pub use self::TypeData::*; |
Structs
AliasDecl | An alias declaration. |
ArchBody | An architecture body. |
AttrDecl | |
BindingInd | |
BlockCompCfg | |
CfgDecl | A configuration declaration. |
CfgSpec | |
CompDecl | A component declaration. |
CompoundName | 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: |
CondWave | A conditional wave. |
CtxDecl | A context declaration. |
DesignUnit | 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. |
DisconSpec | |
EntityDecl | An entity declaration. |
Expr | An expression. |
GenBody | |
GroupDecl | |
Ident | An identifier. Has a node ID such that it may be referenced later on. |
IntfObjDecl | An interface object declaration. |
IntfSubprogDecl | |
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 | |
ParenElem | A parenthesized expression element. A parenthesized expression contains
elements of which each may either be a simple |
PkgBody | A package body. |
PkgDecl | A package declaration. |
PkgInst | A package instantiation declaration. |
PrimaryName | |
SelectWave | A selected wave. The second element of the tuple represents the choices for which this wave would be selected. |
Signature | |
Stmt | |
StmtBody | The body of an if, loop, or case statement. |
Subprog | |
SubprogSpec | |
SubtypeDecl | |
SubtypeInd | |
TypeDecl | A type declaration. If the |
Wave |
Enums
AssignKind | |
AssignMode | |
AssignTarget | |
AttrData | |
AttrTarget | |
BinaryOp | |
BlockCompSpec | |
CtxItem | A context item, multiple of which make up a context clause. |
DeclItem | A declarative item. |
DelayMech | |
DesignUnitData | |
Dir | |
DisconTarget | |
EntityAspect | |
EntityClass | |
ExprData | The data associated with a specific expression. |
ForceMode | |
GroupData | |
InstTarget | |
IntfDecl | An interface declaration. |
IntfMode | |
IntfObjKind | |
LogicalOp | |
LoopScheme | |
NamePart | |
NexitMode | |
ObjDetail | Additional mutually exclusive details that may be provided with an object declaration. |
ObjKind | |
PortgenKind | |
PrimaryNameKind | |
RelationalOp | |
ResolInd | |
SelectAssignMode | |
Sensitivity | |
ShiftOp | |
Sign | |
StmtData | |
SubprogData | |
SubprogDefault | |
SubprogKind | |
SubprogPurity | |
TypeData | |
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 Definitions
Choices | |
ParenElems | A vector of parenthesized expression elements, including the span of the expression that this would cover. |