Module ast

Module ast 

Source
Expand description

An abstract syntax tree for SystemVerilog.

Re-exports§

pub use self::ExprData::*;
pub use self::StmtKind::*;
pub use self::TypeKindData::*;

Structs§

Arena
An arena.
Assertion
CallArgData
An argument to a a function or task call.
ClassDeclData
A class declaration.
ClassItem
Constraint
ConstraintItem
ContAssignData
A continuous assignment statement.
CycleDelay
DelayControl
EnumData
An enum definition.
EnumNameData
A single entry in an enum.
EventControl
ForeachIndexData
A foreach-loop index variable.
FormatNodeDefinite
Format a node in definite form.
FormatNodeIndefinite
Format a node in indefinite form.
GenerateBlockData
A body of a generate construct.
GenerateCaseData
A case generate statement.
GenerateForData
A for generate statement.
GenerateIfData
An if generate statement.
GenvarDeclData
A generate variable declaration.
Identifier
ImplicitDataTypeData
An implicit data type.
ImportDeclData
An import declaration.
ImportItemData
A single import.
InstData
An instantiation of a module.
InstNameData
A single module instance.
InterfaceData
An interface.
ModportData
A modport declaration in an interface.
ModportNameData
A single modport declaration.
ModportSimplePortData
A single simple modport port.
ModuleData
A module.
NetDeclData
A net declaration.
Node
Common denominator across all AST nodes.
PackageData
A package.
ParamAssignment
ParamDeclData
A parameter or localparam declaration.
ParamTypeDeclData
A single type assignment within a parameter or localparam declaration.
ParamValueDeclData
A single value assignment within a parameter or localparam declaration.
PortDeclData
A port declaration in an item body.
ProcedureData
A procedure such as always*, initial, or final.
PropExpr
PropSpec
RootData
All things being compiled.
SeqExpr
SourceFileData
An entire source file.
StmtData
A statement.
StreamExpr
StructData
A struct definition.
StructMemberData
A struct field.
SubroutineDeclData
A function or task declaration.
SubroutinePortData
A function or task port.
SubroutinePortDeclData
A function or task port declaration located in the body.
SubroutinePortName
A single name of a function or task port.
SubroutinePrototypeData
A function or task prototype.
Timeunit
A time unit specification.
TypeData
A type.
TypedefData
A type definition.
VarDeclData
A variable declaration.
VarDeclNameData
A variable or net declaration name.

Enums§

AllNode
An exhaustive list of all nodes.
Ambiguous
A parsing result which may be ambiguous.
AssertionActionBlock
AssertionData
AssertionDeferred
AssignOp
BlockingAssertion
CaseItem
CaseKind
CaseMode
ChargeStrength
ClassItemData
ClassItemQualifier
ConcurrentAssertion
ConstraintItemData
ConstraintKind
DataTypeData
A data type.
DataTypeOrImplicit
A possible implicit data type.
DpiDeclData
A DPI declaration such as import "DPI-C" or export "DPI-C".
DpiProperty
A DPI function/task property.
DriveStrength
EdgeIdent
EventControlData
EventExpr
ExprData
An expression.
IntType
An integer type.
ItemData
An item that may appear in a hierarchical scope.
JoinKind
Lifetime
Lifetime specifier for variables, tasks, and functions. Defaults to static.
ModportPortData
A modport ports declaration.
NetKind
NetStrength
NetType
PackedDimData
A packed dimension.
ParamKind
PathSegmentData
A segment of a type name.
PatternFieldData
A field in a '{...} pattern.
PortConnData
A port connection in an instantiation.
PortConnMode
How a named port connection is made.
PortData
A module or interface port as declared in the port list.
PortDir
ProcedureKind
PropBinOp
PropExprData
PropSeqBinOp
PropSeqOp
RandomQualifier
RangeMode
RealType
A real type.
SeqBinOp
SeqExprData
SeqRep
StmtKind
The different kinds of statement.
StreamConcatSlice
StructKind
SubroutineItem
SubroutineKind
SubroutinePortDir
TimingControl
TypeDim
TypeKindData
A type without sign and packed dimensions.
TypeOrExpr
An ambiguous node that can either be a type or and expression.
TypeSign
UniquePriority
UnpackedDimData
An unpacked dimension.
ValueRange
VarDimData
A variable dimension.
VarKind
Whether a declaration is a variable or a net.

Traits§

AcceptVisitor
A node that accepts Visitors.
AnyNode
An AST node.
AnyNodeData
Common details of an AST node.
BasicNode
Basic attributes of an AST node.
ForEachChild
A node which allows iterating over each child node.
ForEachNode
A node which can pass itself as AnyNode to a callback.
Visitor
A visitor.
WalkVisitor
A node that walks a Visitor over itself.

Type Aliases§

CallArg
ClassDecl
ContAssign
DataType
DpiDecl
Enum
EnumName
Expr
ForeachIndex
GenerateBlock
GenerateCase
GenerateFor
GenerateIf
GenvarDecl
ImplicitDataType
ImportDecl
ImportItem
Inst
InstName
Interface
IntfDeclDeprecated
Item
ModDeclDeprecated
Modport
ModportDeclDeprecated
ModportName
ModportPort
ModportSimplePort
Module
NetDecl
Package
PackageDeclDeprecated
PackedDim
ParamDecl
ParamTypeDecl
ParamValueDecl
PathSegment
PatternField
Port
PortConn
PortDecl
Procedure
Root
SourceFile
Stmt
Struct
StructMember
SubroutineDecl
SubroutinePort
SubroutinePortDecl
SubroutinePrototype
Type
TypeKind
Typedef
UnpackedDim
VarDecl
VarDeclName
VarDim