slang::syntax namespace

Syntax tree manipulation.

Classes

class CSTSerializer
Converts concrete syntax trees to JSON format for debugging and analysis.
class SyntaxFacts
A collection of static methods that query various facts related to tokens and syntax nodes.
struct PtrTokenOrSyntax
A token pointer or a syntax node.
struct ConstTokenOrSyntax
A token or a constant syntax node.
struct TokenOrSyntax
A token or a syntax node.
class SyntaxNode
Base class for all syntax nodes.
class DeferredSourceRange
Represents a source range or a way to get one by materializing it from a syntax node.
class SyntaxListBase
A base class for syntax nodes that represent a list of items.
template<typename T>
class SyntaxList
A syntax node that represents a list of child syntax nodes.
class TokenList
A syntax node that represents a list of child tokens.
template<typename T>
class SeparatedSyntaxList
A syntax node that represents a token-separated list of child syntax nodes.
class SyntaxPrinter
Provides support for printing tokens, trivia, or whole syntax trees back to source code.
class SyntaxTree
The SyntaxTree is the easiest way to interface with the lexer / preprocessor / parser stack.
template<typename TDerived>
struct SyntaxVisitor
Use this type as a base class for syntax tree visitors.
struct AllSyntaxVisitor
Simple visitors with kinds that are left to the user to evaluate.
template<typename TDerived>
class SyntaxRewriter
A helper class that assists in rewriting syntax trees – useful for automated refactoring tools.
struct ExpressionSyntax
Concrete syntax definition for an Expression.
struct DataTypeSyntax
Concrete syntax definition for a DataType.
struct TimingControlSyntax
Concrete syntax definition for a TimingControl.
struct SequenceExprSyntax
Concrete syntax definition for a SequenceExpr.
struct PropertyExprSyntax
Concrete syntax definition for a PropertyExpr.
struct EqualsValueClauseSyntax
Concrete syntax definition for an EqualsValueClause.
struct AttributeSpecSyntax
Concrete syntax definition for an AttributeSpec.
struct AttributeInstanceSyntax
Concrete syntax definition for an AttributeInstance.
struct NamedLabelSyntax
Concrete syntax definition for a NamedLabel.
struct StatementSyntax
Concrete syntax definition for a Statement.
struct MemberSyntax
Concrete syntax definition for a Member.
struct ArgumentSyntax
Concrete syntax definition for an Argument.
struct EmptyArgumentSyntax
Concrete syntax definition for an EmptyArgument.
struct OrderedArgumentSyntax
Concrete syntax definition for an OrderedArgument.
struct NamedArgumentSyntax
Concrete syntax definition for a NamedArgument.
struct ArgumentListSyntax
Concrete syntax definition for an ArgumentList.
struct ParamAssignmentSyntax
Concrete syntax definition for a ParamAssignment.
struct OrderedParamAssignmentSyntax
Concrete syntax definition for an OrderedParamAssignment.
struct NamedParamAssignmentSyntax
Concrete syntax definition for a NamedParamAssignment.
struct ParameterValueAssignmentSyntax
Concrete syntax definition for a ParameterValueAssignment.
struct PatternSyntax
Concrete syntax definition for a Pattern.
struct ParenthesizedPatternSyntax
Concrete syntax definition for a ParenthesizedPattern.
struct VariablePatternSyntax
Concrete syntax definition for a VariablePattern.
struct WildcardPatternSyntax
Concrete syntax definition for a WildcardPattern.
struct ExpressionPatternSyntax
Concrete syntax definition for an ExpressionPattern.
struct TaggedPatternSyntax
Concrete syntax definition for a TaggedPattern.
struct StructurePatternMemberSyntax
Concrete syntax definition for a StructurePatternMember.
struct OrderedStructurePatternMemberSyntax
Concrete syntax definition for an OrderedStructurePatternMember.
struct NamedStructurePatternMemberSyntax
Concrete syntax definition for a NamedStructurePatternMember.
struct StructurePatternSyntax
Concrete syntax definition for a StructurePattern.
struct MatchesClauseSyntax
Concrete syntax definition for a MatchesClause.
struct ConditionalPatternSyntax
Concrete syntax definition for a ConditionalPattern.
struct ConditionalPredicateSyntax
Concrete syntax definition for a ConditionalPredicate.
struct AssignmentPatternSyntax
Concrete syntax definition for an AssignmentPattern.
struct SimpleAssignmentPatternSyntax
Concrete syntax definition for a SimpleAssignmentPattern.
struct AssignmentPatternItemSyntax
Concrete syntax definition for an AssignmentPatternItem.
struct StructuredAssignmentPatternSyntax
Concrete syntax definition for a StructuredAssignmentPattern.
struct ReplicatedAssignmentPatternSyntax
Concrete syntax definition for a ReplicatedAssignmentPattern.
struct BadExpressionSyntax
Concrete syntax definition for a BadExpression.
struct PrimaryExpressionSyntax
Concrete syntax definition for a PrimaryExpression.
struct PrefixUnaryExpressionSyntax
Concrete syntax definition for a PrefixUnaryExpression.
struct PostfixUnaryExpressionSyntax
Concrete syntax definition for a PostfixUnaryExpression.
struct BinaryExpressionSyntax
Concrete syntax definition for a BinaryExpression.
struct MinTypMaxExpressionSyntax
Concrete syntax definition for a MinTypMaxExpression.
struct TaggedUnionExpressionSyntax
Concrete syntax definition for a TaggedUnionExpression.
struct ValueRangeExpressionSyntax
Concrete syntax definition for a ValueRangeExpression.
struct RangeListSyntax
Concrete syntax definition for a RangeList.
struct InsideExpressionSyntax
Concrete syntax definition for an InsideExpression.
struct ConditionalExpressionSyntax
Concrete syntax definition for a ConditionalExpression.
struct AssignmentPatternExpressionSyntax
Concrete syntax definition for an AssignmentPatternExpression.
struct SelectorSyntax
Concrete syntax definition for a Selector.
struct BitSelectSyntax
Concrete syntax definition for a BitSelect.
struct RangeSelectSyntax
Concrete syntax definition for a RangeSelect.
struct ElementSelectSyntax
Concrete syntax definition for an ElementSelect.
struct NameSyntax
Concrete syntax definition for a Name.
struct IdentifierNameSyntax
Concrete syntax definition for an IdentifierName.
struct SystemNameSyntax
Concrete syntax definition for a SystemName.
struct IdentifierSelectNameSyntax
Concrete syntax definition for an IdentifierSelectName.
struct EmptyIdentifierNameSyntax
Concrete syntax definition for an EmptyIdentifierName.
struct KeywordNameSyntax
Concrete syntax definition for a KeywordName.
struct ClassNameSyntax
Concrete syntax definition for a ClassName.
struct ScopedNameSyntax
Concrete syntax definition for a ScopedName.
struct LiteralExpressionSyntax
Concrete syntax definition for a LiteralExpression.
struct IntegerVectorExpressionSyntax
Concrete syntax definition for an IntegerVectorExpression.
struct EmptyQueueExpressionSyntax
Concrete syntax definition for an EmptyQueueExpression.
struct ConcatenationExpressionSyntax
Concrete syntax definition for a ConcatenationExpression.
struct MultipleConcatenationExpressionSyntax
Concrete syntax definition for a MultipleConcatenationExpression.
struct StreamExpressionWithRangeSyntax
Concrete syntax definition for a StreamExpressionWithRange.
struct StreamExpressionSyntax
Concrete syntax definition for a StreamExpression.
struct StreamingConcatenationExpressionSyntax
Concrete syntax definition for a StreamingConcatenationExpression.
struct ParenthesizedExpressionSyntax
Concrete syntax definition for a ParenthesizedExpression.
struct NewArrayExpressionSyntax
Concrete syntax definition for a NewArrayExpression.
struct NewClassExpressionSyntax
Concrete syntax definition for a NewClassExpression.
struct CopyClassExpressionSyntax
Concrete syntax definition for a CopyClassExpression.
struct SuperNewDefaultedArgsExpressionSyntax
Concrete syntax definition for a SuperNewDefaultedArgsExpression.
struct ElementSelectExpressionSyntax
Concrete syntax definition for an ElementSelectExpression.
struct MemberAccessExpressionSyntax
Concrete syntax definition for a MemberAccessExpression.
struct InvocationExpressionSyntax
Concrete syntax definition for an InvocationExpression.
struct CastExpressionSyntax
Concrete syntax definition for a CastExpression.
struct SignedCastExpressionSyntax
Concrete syntax definition for a SignedCastExpression.
struct DelaySyntax
Concrete syntax definition for a Delay.
struct Delay3Syntax
Concrete syntax definition for a Delay3.
struct OneStepDelaySyntax
Concrete syntax definition for an OneStepDelay.
struct EventControlSyntax
Concrete syntax definition for an EventControl.
struct IffEventClauseSyntax
Concrete syntax definition for an IffEventClause.
struct EventExpressionSyntax
Concrete syntax definition for an EventExpression.
struct SignalEventExpressionSyntax
Concrete syntax definition for a SignalEventExpression.
struct BinaryEventExpressionSyntax
Concrete syntax definition for a BinaryEventExpression.
struct ParenthesizedEventExpressionSyntax
Concrete syntax definition for a ParenthesizedEventExpression.
struct ImplicitEventControlSyntax
Concrete syntax definition for an ImplicitEventControl.
struct EventControlWithExpressionSyntax
Concrete syntax definition for an EventControlWithExpression.
struct RepeatedEventControlSyntax
Concrete syntax definition for a RepeatedEventControl.
struct TimingControlExpressionSyntax
Concrete syntax definition for a TimingControlExpression.
struct DimensionSpecifierSyntax
Concrete syntax definition for a DimensionSpecifier.
struct RangeDimensionSpecifierSyntax
Concrete syntax definition for a RangeDimensionSpecifier.
struct WildcardDimensionSpecifierSyntax
Concrete syntax definition for a WildcardDimensionSpecifier.
struct ColonExpressionClauseSyntax
Concrete syntax definition for a ColonExpressionClause.
struct QueueDimensionSpecifierSyntax
Concrete syntax definition for a QueueDimensionSpecifier.
struct VariableDimensionSyntax
Concrete syntax definition for a VariableDimension.
struct DeclaratorSyntax
Concrete syntax definition for a Declarator.
struct DataDeclarationSyntax
Concrete syntax definition for a DataDeclaration.
struct ForwardTypeRestrictionSyntax
Concrete syntax definition for a ForwardTypeRestriction.
struct TypedefDeclarationSyntax
Concrete syntax definition for a TypedefDeclaration.
struct ForwardTypedefDeclarationSyntax
Concrete syntax definition for a ForwardTypedefDeclaration.
struct NetStrengthSyntax
Concrete syntax definition for a NetStrength.
struct ChargeStrengthSyntax
Concrete syntax definition for a ChargeStrength.
struct DriveStrengthSyntax
Concrete syntax definition for a DriveStrength.
struct PullStrengthSyntax
Concrete syntax definition for a PullStrength.
struct NetDeclarationSyntax
Concrete syntax definition for a NetDeclaration.
struct UserDefinedNetDeclarationSyntax
Concrete syntax definition for an UserDefinedNetDeclaration.
struct WithFunctionClauseSyntax
Concrete syntax definition for a WithFunctionClause.
struct NetTypeDeclarationSyntax
Concrete syntax definition for a NetTypeDeclaration.
struct PackageImportItemSyntax
Concrete syntax definition for a PackageImportItem.
struct PackageImportDeclarationSyntax
Concrete syntax definition for a PackageImportDeclaration.
struct PackageExportDeclarationSyntax
Concrete syntax definition for a PackageExportDeclaration.
struct PackageExportAllDeclarationSyntax
Concrete syntax definition for a PackageExportAllDeclaration.
struct ParameterDeclarationBaseSyntax
Concrete syntax definition for a ParameterDeclarationBase.
struct ParameterDeclarationSyntax
Concrete syntax definition for a ParameterDeclaration.
struct EqualsTypeClauseSyntax
Concrete syntax definition for an EqualsTypeClause.
struct TypeAssignmentSyntax
Concrete syntax definition for a TypeAssignment.
struct TypeParameterDeclarationSyntax
Concrete syntax definition for a TypeParameterDeclaration.
struct ParameterDeclarationStatementSyntax
Concrete syntax definition for a ParameterDeclarationStatement.
struct PortHeaderSyntax
Concrete syntax definition for a PortHeader.
struct PortDeclarationSyntax
Concrete syntax definition for a PortDeclaration.
struct GenvarDeclarationSyntax
Concrete syntax definition for a GenvarDeclaration.
struct FunctionPortBaseSyntax
Concrete syntax definition for a FunctionPortBase.
struct DefaultFunctionPortSyntax
Concrete syntax definition for a DefaultFunctionPort.
struct FunctionPortSyntax
Concrete syntax definition for a FunctionPort.
struct FunctionPortListSyntax
Concrete syntax definition for a FunctionPortList.
struct IntegerTypeSyntax
Concrete syntax definition for an IntegerType.
struct KeywordTypeSyntax
Concrete syntax definition for a KeywordType.
struct NamedTypeSyntax
Concrete syntax definition for a NamedType.
struct StructUnionMemberSyntax
Concrete syntax definition for a StructUnionMember.
struct StructUnionTypeSyntax
Concrete syntax definition for a StructUnionType.
struct EnumTypeSyntax
Concrete syntax definition for an EnumType.
struct TypeReferenceSyntax
Concrete syntax definition for a TypeReference.
struct DotMemberClauseSyntax
Concrete syntax definition for a DotMemberClause.
struct VirtualInterfaceTypeSyntax
Concrete syntax definition for a VirtualInterfaceType.
struct ImplicitTypeSyntax
Concrete syntax definition for an ImplicitType.
struct DeferredAssertionSyntax
Concrete syntax definition for a DeferredAssertion.
struct ElseClauseSyntax
Concrete syntax definition for an ElseClause.
struct ActionBlockSyntax
Concrete syntax definition for an ActionBlock.
struct ImmediateAssertionStatementSyntax
Concrete syntax definition for an ImmediateAssertionStatement.
struct DisableIffSyntax
Concrete syntax definition for a DisableIff.
struct PropertySpecSyntax
Concrete syntax definition for a PropertySpec.
struct ConcurrentAssertionStatementSyntax
Concrete syntax definition for a ConcurrentAssertionStatement.
struct ConcurrentAssertionMemberSyntax
Concrete syntax definition for a ConcurrentAssertionMember.
struct ImmediateAssertionMemberSyntax
Concrete syntax definition for an ImmediateAssertionMember.
struct EmptyStatementSyntax
Concrete syntax definition for an EmptyStatement.
struct ConditionalStatementSyntax
Concrete syntax definition for a ConditionalStatement.
struct CaseItemSyntax
Concrete syntax definition for a CaseItem.
struct DefaultCaseItemSyntax
Concrete syntax definition for a DefaultCaseItem.
struct PatternCaseItemSyntax
Concrete syntax definition for a PatternCaseItem.
struct StandardCaseItemSyntax
Concrete syntax definition for a StandardCaseItem.
struct CaseStatementSyntax
Concrete syntax definition for a CaseStatement.
struct ForeverStatementSyntax
Concrete syntax definition for a ForeverStatement.
struct LoopStatementSyntax
Concrete syntax definition for a LoopStatement.
struct DoWhileStatementSyntax
Concrete syntax definition for a DoWhileStatement.
struct ForVariableDeclarationSyntax
Concrete syntax definition for a ForVariableDeclaration.
struct ForLoopStatementSyntax
Concrete syntax definition for a ForLoopStatement.
struct ForeachLoopListSyntax
Concrete syntax definition for a ForeachLoopList.
struct ForeachLoopStatementSyntax
Concrete syntax definition for a ForeachLoopStatement.
struct ReturnStatementSyntax
Concrete syntax definition for a ReturnStatement.
struct JumpStatementSyntax
Concrete syntax definition for a JumpStatement.
struct TimingControlStatementSyntax
Concrete syntax definition for a TimingControlStatement.
struct ExpressionStatementSyntax
Concrete syntax definition for an ExpressionStatement.
struct VoidCastedCallStatementSyntax
Concrete syntax definition for a VoidCastedCallStatement.
struct ProceduralAssignStatementSyntax
Concrete syntax definition for a ProceduralAssignStatement.
struct ProceduralDeassignStatementSyntax
Concrete syntax definition for a ProceduralDeassignStatement.
struct DisableStatementSyntax
Concrete syntax definition for a DisableStatement.
struct DisableForkStatementSyntax
Concrete syntax definition for a DisableForkStatement.
struct NamedBlockClauseSyntax
Concrete syntax definition for a NamedBlockClause.
struct BlockStatementSyntax
Concrete syntax definition for a BlockStatement.
struct WaitStatementSyntax
Concrete syntax definition for a WaitStatement.
struct WaitForkStatementSyntax
Concrete syntax definition for a WaitForkStatement.
struct WaitOrderStatementSyntax
Concrete syntax definition for a WaitOrderStatement.
struct RandCaseItemSyntax
Concrete syntax definition for a RandCaseItem.
struct RandCaseStatementSyntax
Concrete syntax definition for a RandCaseStatement.
struct RsProdSyntax
Concrete syntax definition for a RsProd.
struct RsProdItemSyntax
Concrete syntax definition for a RsProdItem.
struct RsCodeBlockSyntax
Concrete syntax definition for a RsCodeBlock.
struct RsElseClauseSyntax
Concrete syntax definition for a RsElseClause.
struct RsIfElseSyntax
Concrete syntax definition for a RsIfElse.
struct RsRepeatSyntax
Concrete syntax definition for a RsRepeat.
struct RsCaseItemSyntax
Concrete syntax definition for a RsCaseItem.
struct DefaultRsCaseItemSyntax
Concrete syntax definition for a DefaultRsCaseItem.
struct StandardRsCaseItemSyntax
Concrete syntax definition for a StandardRsCaseItem.
struct RsCaseSyntax
Concrete syntax definition for a RsCase.
struct RandJoinClauseSyntax
Concrete syntax definition for a RandJoinClause.
struct RsWeightClauseSyntax
Concrete syntax definition for a RsWeightClause.
struct RsRuleSyntax
Concrete syntax definition for a RsRule.
struct ProductionSyntax
Concrete syntax definition for a Production.
struct RandSequenceStatementSyntax
Concrete syntax definition for a RandSequenceStatement.
struct EventTriggerStatementSyntax
Concrete syntax definition for an EventTriggerStatement.
struct PortListSyntax
Concrete syntax definition for a PortList.
struct NonAnsiPortSyntax
Concrete syntax definition for a NonAnsiPort.
struct PortExpressionSyntax
Concrete syntax definition for a PortExpression.
struct PortReferenceSyntax
Concrete syntax definition for a PortReference.
struct PortConcatenationSyntax
Concrete syntax definition for a PortConcatenation.
struct EmptyNonAnsiPortSyntax
Concrete syntax definition for an EmptyNonAnsiPort.
struct ImplicitNonAnsiPortSyntax
Concrete syntax definition for an ImplicitNonAnsiPort.
struct ExplicitNonAnsiPortSyntax
Concrete syntax definition for an ExplicitNonAnsiPort.
struct NonAnsiPortListSyntax
Concrete syntax definition for a NonAnsiPortList.
struct InterfacePortHeaderSyntax
Concrete syntax definition for an InterfacePortHeader.
struct VariablePortHeaderSyntax
Concrete syntax definition for a VariablePortHeader.
struct NetPortHeaderSyntax
Concrete syntax definition for a NetPortHeader.
struct ImplicitAnsiPortSyntax
Concrete syntax definition for an ImplicitAnsiPort.
struct ExplicitAnsiPortSyntax
Concrete syntax definition for an ExplicitAnsiPort.
struct AnsiPortListSyntax
Concrete syntax definition for an AnsiPortList.
struct WildcardPortListSyntax
Concrete syntax definition for a WildcardPortList.
struct ParameterPortListSyntax
Concrete syntax definition for a ParameterPortList.
struct ModuleHeaderSyntax
Concrete syntax definition for a ModuleHeader.
struct ModuleDeclarationSyntax
Concrete syntax definition for a ModuleDeclaration.
struct AnonymousProgramSyntax
Concrete syntax definition for an AnonymousProgram.
struct EmptyMemberSyntax
Concrete syntax definition for an EmptyMember.
struct ProceduralBlockSyntax
Concrete syntax definition for a ProceduralBlock.
struct GenerateRegionSyntax
Concrete syntax definition for a GenerateRegion.
struct LoopGenerateSyntax
Concrete syntax definition for a LoopGenerate.
struct IfGenerateSyntax
Concrete syntax definition for an IfGenerate.
struct CaseGenerateSyntax
Concrete syntax definition for a CaseGenerate.
struct GenerateBlockSyntax
Concrete syntax definition for a GenerateBlock.
struct DividerClauseSyntax
Concrete syntax definition for a DividerClause.
struct TimeUnitsDeclarationSyntax
Concrete syntax definition for a TimeUnitsDeclaration.
struct PortConnectionSyntax
Concrete syntax definition for a PortConnection.
struct EmptyPortConnectionSyntax
Concrete syntax definition for an EmptyPortConnection.
struct OrderedPortConnectionSyntax
Concrete syntax definition for an OrderedPortConnection.
struct NamedPortConnectionSyntax
Concrete syntax definition for a NamedPortConnection.
struct WildcardPortConnectionSyntax
Concrete syntax definition for a WildcardPortConnection.
struct InstanceNameSyntax
Concrete syntax definition for an InstanceName.
struct HierarchicalInstanceSyntax
Concrete syntax definition for a HierarchicalInstance.
struct HierarchyInstantiationSyntax
Concrete syntax definition for a HierarchyInstantiation.
struct PrimitiveInstantiationSyntax
Concrete syntax definition for a PrimitiveInstantiation.
struct CheckerInstantiationSyntax
Concrete syntax definition for a CheckerInstantiation.
struct CheckerInstanceStatementSyntax
Concrete syntax definition for a CheckerInstanceStatement.
struct BindTargetListSyntax
Concrete syntax definition for a BindTargetList.
struct BindDirectiveSyntax
Concrete syntax definition for a BindDirective.
struct ClassSpecifierSyntax
Concrete syntax definition for a ClassSpecifier.
struct FunctionPrototypeSyntax
Concrete syntax definition for a FunctionPrototype.
struct FunctionDeclarationSyntax
Concrete syntax definition for a FunctionDeclaration.
struct EqualsAssertionArgClauseSyntax
Concrete syntax definition for an EqualsAssertionArgClause.
struct AssertionItemPortSyntax
Concrete syntax definition for an AssertionItemPort.
struct AssertionItemPortListSyntax
Concrete syntax definition for an AssertionItemPortList.
struct LetDeclarationSyntax
Concrete syntax definition for a LetDeclaration.
struct DefaultExtendsClauseArgSyntax
Concrete syntax definition for a DefaultExtendsClauseArg.
struct ExtendsClauseSyntax
Concrete syntax definition for an ExtendsClause.
struct ImplementsClauseSyntax
Concrete syntax definition for an ImplementsClause.
struct ClassDeclarationSyntax
Concrete syntax definition for a ClassDeclaration.
struct ClassPropertyDeclarationSyntax
Concrete syntax definition for a ClassPropertyDeclaration.
struct ClassMethodDeclarationSyntax
Concrete syntax definition for a ClassMethodDeclaration.
struct ClassMethodPrototypeSyntax
Concrete syntax definition for a ClassMethodPrototype.
struct ContinuousAssignSyntax
Concrete syntax definition for a ContinuousAssign.
struct DefParamAssignmentSyntax
Concrete syntax definition for a DefParamAssignment.
struct DefParamSyntax
Concrete syntax definition for a DefParam.
struct ModportClockingPortSyntax
Concrete syntax definition for a ModportClockingPort.
struct ModportPortSyntax
Concrete syntax definition for a ModportPort.
struct ModportNamedPortSyntax
Concrete syntax definition for a ModportNamedPort.
struct ModportExplicitPortSyntax
Concrete syntax definition for a ModportExplicitPort.
struct ModportSimplePortListSyntax
Concrete syntax definition for a ModportSimplePortList.
struct ModportSubroutinePortSyntax
Concrete syntax definition for a ModportSubroutinePort.
struct ModportSubroutinePortListSyntax
Concrete syntax definition for a ModportSubroutinePortList.
struct ModportItemSyntax
Concrete syntax definition for a ModportItem.
struct ModportDeclarationSyntax
Concrete syntax definition for a ModportDeclaration.
struct ClockingSkewSyntax
Concrete syntax definition for a ClockingSkew.
struct ClockingDirectionSyntax
Concrete syntax definition for a ClockingDirection.
struct DefaultSkewItemSyntax
Concrete syntax definition for a DefaultSkewItem.
struct ClockingItemSyntax
Concrete syntax definition for a ClockingItem.
struct ClockingDeclarationSyntax
Concrete syntax definition for a ClockingDeclaration.
struct DefaultClockingReferenceSyntax
Concrete syntax definition for a DefaultClockingReference.
struct DefaultDisableDeclarationSyntax
Concrete syntax definition for a DefaultDisableDeclaration.
struct DPIImportSyntax
Concrete syntax definition for a DPIImport.
struct DPIExportSyntax
Concrete syntax definition for a DPIExport.
struct ElabSystemTaskSyntax
Concrete syntax definition for an ElabSystemTask.
struct UdpPortDeclSyntax
Concrete syntax definition for an UdpPortDecl.
struct UdpOutputPortDeclSyntax
Concrete syntax definition for an UdpOutputPortDecl.
struct UdpInputPortDeclSyntax
Concrete syntax definition for an UdpInputPortDecl.
struct UdpPortListSyntax
Concrete syntax definition for an UdpPortList.
struct AnsiUdpPortListSyntax
Concrete syntax definition for an AnsiUdpPortList.
struct NonAnsiUdpPortListSyntax
Concrete syntax definition for a NonAnsiUdpPortList.
struct WildcardUdpPortListSyntax
Concrete syntax definition for a WildcardUdpPortList.
struct UdpInitialStmtSyntax
Concrete syntax definition for an UdpInitialStmt.
struct UdpFieldBaseSyntax
Concrete syntax definition for an UdpFieldBase.
struct UdpEdgeFieldSyntax
Concrete syntax definition for an UdpEdgeField.
struct UdpSimpleFieldSyntax
Concrete syntax definition for an UdpSimpleField.
struct UdpEntrySyntax
Concrete syntax definition for an UdpEntry.
struct UdpBodySyntax
Concrete syntax definition for an UdpBody.
struct UdpDeclarationSyntax
Concrete syntax definition for an UdpDeclaration.
struct SpecparamDeclaratorSyntax
Concrete syntax definition for a SpecparamDeclarator.
struct SpecparamDeclarationSyntax
Concrete syntax definition for a SpecparamDeclaration.
struct PathSuffixSyntax
Concrete syntax definition for a PathSuffix.
struct SimplePathSuffixSyntax
Concrete syntax definition for a SimplePathSuffix.
struct EdgeSensitivePathSuffixSyntax
Concrete syntax definition for an EdgeSensitivePathSuffix.
struct PathDescriptionSyntax
Concrete syntax definition for a PathDescription.
struct PathDeclarationSyntax
Concrete syntax definition for a PathDeclaration.
struct ConditionalPathDeclarationSyntax
Concrete syntax definition for a ConditionalPathDeclaration.
struct IfNonePathDeclarationSyntax
Concrete syntax definition for an IfNonePathDeclaration.
struct PulseStyleDeclarationSyntax
Concrete syntax definition for a PulseStyleDeclaration.
struct TimingCheckArgSyntax
Concrete syntax definition for a TimingCheckArg.
struct EmptyTimingCheckArgSyntax
Concrete syntax definition for an EmptyTimingCheckArg.
struct EdgeDescriptorSyntax
Concrete syntax definition for an EdgeDescriptor.
struct EdgeControlSpecifierSyntax
Concrete syntax definition for an EdgeControlSpecifier.
struct TimingCheckEventConditionSyntax
Concrete syntax definition for a TimingCheckEventCondition.
struct TimingCheckEventArgSyntax
Concrete syntax definition for a TimingCheckEventArg.
struct ExpressionTimingCheckArgSyntax
Concrete syntax definition for an ExpressionTimingCheckArg.
struct SystemTimingCheckSyntax
Concrete syntax definition for a SystemTimingCheck.
struct SpecifyBlockSyntax
Concrete syntax definition for a SpecifyBlock.
struct NetAliasSyntax
Concrete syntax definition for a NetAlias.
struct ExternModuleDeclSyntax
Concrete syntax definition for an ExternModuleDecl.
struct ExternUdpDeclSyntax
Concrete syntax definition for an ExternUdpDecl.
struct ExternInterfaceMethodSyntax
Concrete syntax definition for an ExternInterfaceMethod.
struct ConstraintItemSyntax
Concrete syntax definition for a ConstraintItem.
struct DistWeightSyntax
Concrete syntax definition for a DistWeight.
struct DistItemBaseSyntax
Concrete syntax definition for a DistItemBase.
struct DistItemSyntax
Concrete syntax definition for a DistItem.
struct DefaultDistItemSyntax
Concrete syntax definition for a DefaultDistItem.
struct DistConstraintListSyntax
Concrete syntax definition for a DistConstraintList.
struct ExpressionOrDistSyntax
Concrete syntax definition for an ExpressionOrDist.
struct ExpressionConstraintSyntax
Concrete syntax definition for an ExpressionConstraint.
struct UniquenessConstraintSyntax
Concrete syntax definition for an UniquenessConstraint.
struct ImplicationConstraintSyntax
Concrete syntax definition for an ImplicationConstraint.
struct ElseConstraintClauseSyntax
Concrete syntax definition for an ElseConstraintClause.
struct ConditionalConstraintSyntax
Concrete syntax definition for a ConditionalConstraint.
struct LoopConstraintSyntax
Concrete syntax definition for a LoopConstraint.
struct DisableConstraintSyntax
Concrete syntax definition for a DisableConstraint.
struct SolveBeforeConstraintSyntax
Concrete syntax definition for a SolveBeforeConstraint.
struct ConstraintBlockSyntax
Concrete syntax definition for a ConstraintBlock.
struct ConstraintPrototypeSyntax
Concrete syntax definition for a ConstraintPrototype.
struct ConstraintDeclarationSyntax
Concrete syntax definition for a ConstraintDeclaration.
struct ParenExpressionListSyntax
Concrete syntax definition for a ParenExpressionList.
struct ArrayOrRandomizeMethodExpressionSyntax
Concrete syntax definition for an ArrayOrRandomizeMethodExpression.
struct WithFunctionSampleSyntax
Concrete syntax definition for a WithFunctionSample.
struct BlockEventExpressionSyntax
Concrete syntax definition for a BlockEventExpression.
struct BinaryBlockEventExpressionSyntax
Concrete syntax definition for a BinaryBlockEventExpression.
struct PrimaryBlockEventExpressionSyntax
Concrete syntax definition for a PrimaryBlockEventExpression.
struct BlockCoverageEventSyntax
Concrete syntax definition for a BlockCoverageEvent.
struct CovergroupDeclarationSyntax
Concrete syntax definition for a CovergroupDeclaration.
struct CoverageOptionSyntax
Concrete syntax definition for a CoverageOption.
struct CoverageIffClauseSyntax
Concrete syntax definition for a CoverageIffClause.
struct CoverpointSyntax
Concrete syntax definition for a Coverpoint.
struct CoverageBinInitializerSyntax
Concrete syntax definition for a CoverageBinInitializer.
struct DefaultCoverageBinInitializerSyntax
Concrete syntax definition for a DefaultCoverageBinInitializer.
struct WithClauseSyntax
Concrete syntax definition for a WithClause.
struct ExpressionCoverageBinInitializerSyntax
Concrete syntax definition for an ExpressionCoverageBinInitializer.
struct RangeCoverageBinInitializerSyntax
Concrete syntax definition for a RangeCoverageBinInitializer.
struct IdWithExprCoverageBinInitializerSyntax
Concrete syntax definition for an IdWithExprCoverageBinInitializer.
struct TransRepeatRangeSyntax
Concrete syntax definition for a TransRepeatRange.
struct TransRangeSyntax
Concrete syntax definition for a TransRange.
struct TransSetSyntax
Concrete syntax definition for a TransSet.
struct TransListCoverageBinInitializerSyntax
Concrete syntax definition for a TransListCoverageBinInitializer.
struct CoverageBinsArraySizeSyntax
Concrete syntax definition for a CoverageBinsArraySize.
struct CoverageBinsSyntax
Concrete syntax definition for a CoverageBins.
struct CoverCrossSyntax
Concrete syntax definition for a CoverCross.
struct BinsSelectExpressionSyntax
Concrete syntax definition for a BinsSelectExpression.
struct IntersectClauseSyntax
Concrete syntax definition for an IntersectClause.
struct BinsSelectConditionExprSyntax
Concrete syntax definition for a BinsSelectConditionExpr.
struct UnaryBinsSelectExprSyntax
Concrete syntax definition for an UnaryBinsSelectExpr.
struct BinaryBinsSelectExprSyntax
Concrete syntax definition for a BinaryBinsSelectExpr.
struct ParenthesizedBinsSelectExprSyntax
Concrete syntax definition for a ParenthesizedBinsSelectExpr.
struct SimpleBinsSelectExprSyntax
Concrete syntax definition for a SimpleBinsSelectExpr.
struct BinSelectWithFilterExprSyntax
Concrete syntax definition for a BinSelectWithFilterExpr.
struct BinsSelectionSyntax
Concrete syntax definition for a BinsSelection.
struct SequenceRepetitionSyntax
Concrete syntax definition for a SequenceRepetition.
struct SimpleSequenceExprSyntax
Concrete syntax definition for a SimpleSequenceExpr.
struct SequenceMatchListSyntax
Concrete syntax definition for a SequenceMatchList.
struct ParenthesizedSequenceExprSyntax
Concrete syntax definition for a ParenthesizedSequenceExpr.
struct BinarySequenceExprSyntax
Concrete syntax definition for a BinarySequenceExpr.
struct FirstMatchSequenceExprSyntax
Concrete syntax definition for a FirstMatchSequenceExpr.
struct ClockingSequenceExprSyntax
Concrete syntax definition for a ClockingSequenceExpr.
struct DelayedSequenceElementSyntax
Concrete syntax definition for a DelayedSequenceElement.
struct DelayedSequenceExprSyntax
Concrete syntax definition for a DelayedSequenceExpr.
struct SimplePropertyExprSyntax
Concrete syntax definition for a SimplePropertyExpr.
struct ParenthesizedPropertyExprSyntax
Concrete syntax definition for a ParenthesizedPropertyExpr.
struct StrongWeakPropertyExprSyntax
Concrete syntax definition for a StrongWeakPropertyExpr.
struct UnaryPropertyExprSyntax
Concrete syntax definition for an UnaryPropertyExpr.
struct UnarySelectPropertyExprSyntax
Concrete syntax definition for an UnarySelectPropertyExpr.
struct BinaryPropertyExprSyntax
Concrete syntax definition for a BinaryPropertyExpr.
struct ClockingPropertyExprSyntax
Concrete syntax definition for a ClockingPropertyExpr.
struct AcceptOnPropertyExprSyntax
Concrete syntax definition for an AcceptOnPropertyExpr.
struct ElsePropertyClauseSyntax
Concrete syntax definition for an ElsePropertyClause.
struct ConditionalPropertyExprSyntax
Concrete syntax definition for a ConditionalPropertyExpr.
struct PropertyCaseItemSyntax
Concrete syntax definition for a PropertyCaseItem.
struct DefaultPropertyCaseItemSyntax
Concrete syntax definition for a DefaultPropertyCaseItem.
struct StandardPropertyCaseItemSyntax
Concrete syntax definition for a StandardPropertyCaseItem.
struct CasePropertyExprSyntax
Concrete syntax definition for a CasePropertyExpr.
struct LocalVariableDeclarationSyntax
Concrete syntax definition for a LocalVariableDeclaration.
struct PropertyDeclarationSyntax
Concrete syntax definition for a PropertyDeclaration.
struct SequenceDeclarationSyntax
Concrete syntax definition for a SequenceDeclaration.
struct CheckerDeclarationSyntax
Concrete syntax definition for a CheckerDeclaration.
struct CheckerDataDeclarationSyntax
Concrete syntax definition for a CheckerDataDeclaration.
struct CompilationUnitSyntax
Concrete syntax definition for a CompilationUnit.
struct LibraryMapSyntax
Concrete syntax definition for a LibraryMap.
struct DirectiveSyntax
Concrete syntax definition for a Directive.
struct SimpleDirectiveSyntax
Concrete syntax definition for a SimpleDirective.
struct IncludeDirectiveSyntax
Concrete syntax definition for an IncludeDirective.
struct ConditionalDirectiveExpressionSyntax
Concrete syntax definition for a ConditionalDirectiveExpression.
struct NamedConditionalDirectiveExpressionSyntax
Concrete syntax definition for a NamedConditionalDirectiveExpression.
struct UnaryConditionalDirectiveExpressionSyntax
Concrete syntax definition for an UnaryConditionalDirectiveExpression.
struct BinaryConditionalDirectiveExpressionSyntax
Concrete syntax definition for a BinaryConditionalDirectiveExpression.
struct ParenthesizedConditionalDirectiveExpressionSyntax
Concrete syntax definition for a ParenthesizedConditionalDirectiveExpression.
struct ConditionalBranchDirectiveSyntax
Concrete syntax definition for a ConditionalBranchDirective.
struct UnconditionalBranchDirectiveSyntax
Concrete syntax definition for an UnconditionalBranchDirective.
struct MacroArgumentDefaultSyntax
Concrete syntax definition for a MacroArgumentDefault.
struct MacroFormalArgumentSyntax
Concrete syntax definition for a MacroFormalArgument.
struct MacroFormalArgumentListSyntax
Concrete syntax definition for a MacroFormalArgumentList.
struct DefineDirectiveSyntax
Concrete syntax definition for a DefineDirective.
struct MacroActualArgumentSyntax
Concrete syntax definition for a MacroActualArgument.
struct MacroActualArgumentListSyntax
Concrete syntax definition for a MacroActualArgumentList.
struct MacroUsageSyntax
Concrete syntax definition for a MacroUsage.
struct TimeScaleDirectiveSyntax
Concrete syntax definition for a TimeScaleDirective.
struct DefaultNetTypeDirectiveSyntax
Concrete syntax definition for a DefaultNetTypeDirective.
struct UnconnectedDriveDirectiveSyntax
Concrete syntax definition for an UnconnectedDriveDirective.
struct DefaultDecayTimeDirectiveSyntax
Concrete syntax definition for a DefaultDecayTimeDirective.
struct DefaultTriregStrengthDirectiveSyntax
Concrete syntax definition for a DefaultTriregStrengthDirective.
struct LineDirectiveSyntax
Concrete syntax definition for a LineDirective.
struct UndefDirectiveSyntax
Concrete syntax definition for an UndefDirective.
struct BeginKeywordsDirectiveSyntax
Concrete syntax definition for a BeginKeywordsDirective.
struct PragmaExpressionSyntax
Concrete syntax definition for a PragmaExpression.
struct SimplePragmaExpressionSyntax
Concrete syntax definition for a SimplePragmaExpression.
struct NameValuePragmaExpressionSyntax
Concrete syntax definition for a NameValuePragmaExpression.
struct NumberPragmaExpressionSyntax
Concrete syntax definition for a NumberPragmaExpression.
struct ParenPragmaExpressionSyntax
Concrete syntax definition for a ParenPragmaExpression.
struct PragmaDirectiveSyntax
Concrete syntax definition for a PragmaDirective.
struct ConfigCellIdentifierSyntax
Concrete syntax definition for a ConfigCellIdentifier.
struct ConfigRuleClauseSyntax
Concrete syntax definition for a ConfigRuleClause.
struct ConfigLiblistSyntax
Concrete syntax definition for a ConfigLiblist.
struct ConfigUseClauseSyntax
Concrete syntax definition for a ConfigUseClause.
struct ConfigRuleSyntax
Concrete syntax definition for a ConfigRule.
struct DefaultConfigRuleSyntax
Concrete syntax definition for a DefaultConfigRule.
struct ConfigInstanceIdentifierSyntax
Concrete syntax definition for a ConfigInstanceIdentifier.
struct InstanceConfigRuleSyntax
Concrete syntax definition for an InstanceConfigRule.
struct CellConfigRuleSyntax
Concrete syntax definition for a CellConfigRule.
struct ConfigDeclarationSyntax
Concrete syntax definition for a ConfigDeclaration.
struct FilePathSpecSyntax
Concrete syntax definition for a FilePathSpec.
struct LibraryIncDirClauseSyntax
Concrete syntax definition for a LibraryIncDirClause.
struct LibraryDeclarationSyntax
Concrete syntax definition for a LibraryDeclaration.
struct LibraryIncludeStatementSyntax
Concrete syntax definition for a LibraryIncludeStatement.

Functions

SyntaxNode* clone(const SyntaxNode& node, BumpAllocator& alloc)
Performs a shallow clone of the given syntax node.
SyntaxNode* deepClone(const SyntaxNode& node, BumpAllocator& alloc)
Performs a deep clone of the given syntax node.
template<std::derived_from<SyntaxNode> T>
T* clone(const T& node, BumpAllocator& alloc)
Performs a shallow clone of the given syntax node.
template<std::derived_from<SyntaxNode> T>
T* deepClone(const T& node, BumpAllocator& alloc)
Performs a deep clone of the given syntax node.
template<typename... Functions>
auto makeSyntaxVisitor(Functions... funcs)
Creates a SyntaxVisitor out of the provided handler functions.

Function documentation

SyntaxNode* slang::syntax::clone(const SyntaxNode& node, BumpAllocator& alloc)

Performs a shallow clone of the given syntax node.

All members will be simply copied to the new instance. The instance will be allocated with the provided allocator.

SyntaxNode* slang::syntax::deepClone(const SyntaxNode& node, BumpAllocator& alloc)

Performs a deep clone of the given syntax node.

All members will be cloned recursively to create a complete new copy of the syntax tree. All cloned instances will be allocated with the provided allocator.

template<std::derived_from<SyntaxNode> T>
T* slang::syntax::clone(const T& node, BumpAllocator& alloc)

Performs a shallow clone of the given syntax node.

All members will be simply copied to the new instance. The instance will be allocated with the provided allocator.

template<std::derived_from<SyntaxNode> T>
T* slang::syntax::deepClone(const T& node, BumpAllocator& alloc)

Performs a deep clone of the given syntax node.

All members will be cloned recursively to create a complete new copy of the syntax tree. All cloned instances will be allocated with the provided allocator.

template<typename... Functions>
auto slang::syntax::makeSyntaxVisitor(Functions... funcs)

Creates a SyntaxVisitor out of the provided handler functions.

The provided callable arguments must take two parameters, the first of which is the visitor object itself (so that you can call visitDefault on it if desired) and the second is the Syntax type to match against.

For example, to create a visitor that will count all of the HierarchicalInstance nodes in a Syntax Tree:

int count = 0;
makeSyntaxVisitor([&](auto& visitor, const HierarchicalInstanceSyntax& node) {
    count++;
    visitor.visitDefault(node);
})