1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002(*
Copyright 2012-2025 Codinuum Software Lab <https://codinuum.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*)[%%prepare_logger](*open Printf*)openCommonopenLabel_commonopenLabelstypet=|Dummy|Error|Empty|SourceText|LibraryText|CompilerDirectiveofCompilerDirective.t|ModuleDeclarationofModuleSpec.t*identifier|UdpDeclarationofidentifier|NetDeclarationofidentifierlist|BindDirectiveofidentifier|ExprofExpression.t|StmtofStatement.t|NetTypeofNetType.t|LocalParameterDeclarationofidentifierlist|ParameterDeclarationofidentifierlist|ParameterPortDeclaration|ModuleBody|Instantiationofidentifier|GateInstantiationofGate.t|ContinuousAssign|Assign|ConcurrentAssertionItem|DeferredImmediateAssertionItem|PpIdentifierofidentifier|PackedDimension|ParamAssignmentofidentifier|DefparamAssignment|IdSelectofidentifier|Select|Range|RangePlus|RangeMinus|RangeForeach|Root|This|Super|Cellpinofidentifier|CellpinStar|CellpinAnon|DelayValueofidentifier|PackageScopeofidentifier|PackageScopeUnit|PackageScopeLocal|PackageImportofidentifier|PackageImportAny|LifetimeStatic|LifetimeAutomatic|EndLabelofidentifier|EndLabelNew|ClassTypeofidentifier|DataTypeofDataType.t|ImplicitDataType|VarDeclAssignments|Signed|Unsigned|ArgsDottedofidentifier|Tagged|StructUnionBody|StructUnionMember|ClassScopeIdofidentifier|Void|EnumNameDeclarationofidentifier|EnumBody|IdClassSelofidentifier|Variableofidentifier|Extern|PackageImportDeclaration|PackageImportItemofidentifier|Packed|ParameterValueAssignment|Ports|PortsStar|BitSelect|VariableDeclAssignmentofidentifier|DynamicArrayNew|VariableDimension|VariableDimensionStar|GenItemBegin|GenBlockIdofidentifier|GenerateRegion|Scalared|Vectored|DelayControl|NetSigofidentifier|ParameterOverride|PortDeclaration|PortDirectionofPortDirection.t|StrengthofStrength.t|StrengthSupply0|StrengthSupply1|StrengthSpec|VarDataType|Portofidentifier|InterfacePortofidentifier|InterfacePortInterface|ModportIdentifierofidentifier|PortMulti|ExprScope|ExprScopeThis|ExprScopeSuper|ExprScopeDot|ExprScopeDotSuper|CondPredicate|CondPattern|Dist|DistItem|DistWeight|DistWeightRange|ArrayRange|ArrayRangePlus|ArrayRangeMinus|CastingTypeSimple|CastingTypeSigned|CastingTypeUnsigned|CastingTypeString|CastingTypeConst|ValueRange|Pattern|PatternIdofidentifier|PatternStar|PatternTaggedofidentifier|EventControl|EventControlStar|EventControlParenStar|EventControlRepeat|EvExprofEventExpression.t|CaseItem|CaseItemDefault|CaseInsideItem|CaseInsideItemDefault|CaseItems|CaseItemsMatches|CaseItemsInside|With|Args|ConstraintBlock|ForInit|ForInitItemDTofidentifier|ForInitItemLval|StreamingConcat|OrderRL|OrderLR|StreamConcat|Solve|SolveBefore|ActionBlock|CycleDelayofstring|CycleDelayIdofidentifier|CycleDelayParen|Priority|Unique|Unique0|InstRange|InstNameofidentifier|PExprofPropertyExpression.t|ClockingEventofidentifier|ClockingEventParen|PropertyCase|PropertyCaseDefault|DisableIff|CycleDelayRangeofstring|CycleDelayRangeIdofidentifier|CycleDelayRangeParen|CycleDelayRangeBracket|CycleDelayRangeBracketStar|CycleDelayRangeBracketPlus|SExprofSequenceExpression.t|ConsecutiveRepetition|NonconsecutiveRepetition|GotoRepetition|NetAlias|InitialConstruct|FinalConstruct|AlwaysConstructofAlwaysSpec.t|ConcurrentAssertionItemLabeledofidentifier|ConcurrentAssertionStmtofConcurrentAssertion.t|DeferredImmediateAssertionItemLabeledofidentifier|DeferredImmediateAssertionStmtofDeferredImmediateAssertion.t|SimpleImmediateAssertionStmtofSimpleImmediateAssertion.t|CheckerInstantiationofidentifier|LoopGenerateConstruct|GenvarDeclarationofidentifierlist|GenvarIterationAssignofAssignmentOperator.t*identifier|GenvarIterationIncOrDecofIncOrDecOperator.t*identifier|GenvarIdDeclofidentifier|GenvarInitIdofidentifier|GenvarInit|SpecifyBlock|SpecparamDeclaration|SpecparamAssignmentIdofidentifier(* specparam assignment*)|SpecparamAssignmentPulseControlofidentifier|PulsestyleDeclarationOnevent|PulsestyleDeclarationOndetect|ShowcancelledDeclaration|NoshowcancelledDeclaration|SpecifyTerminalDescriptor|InputOrOutputIdofidentifier|InterfaceIdentifierofidentifier|ProgramDeclarationofidentifier|InterfaceDeclarationofidentifier|InterfaceDeclarationExternofidentifier|TimeUnitsDeclaration|TimeUnitofstring|Timeprecisionofstring|PackageDeclarationofidentifier|AnonymousProgram|AnonymousProgramItemEmpty|FunctionDeclarationofidentifier|FunctionPrototypeofidentifier|FuncIdofidentifier|FuncIdVoidofidentifier|FuncIdNew|TfIdScopedofidentifier|TaskDeclarationofidentifier|TaskPrototypeofidentifier|ClassCtorPrototype|TfPortListPart|TfBody|TfPortDeclaration|TfPortItemAssignmentofidentifier|TfPortItem|TfVariableIdentifierofidentifier|CheckerDeclarationofidentifier|PropertyDeclarationofidentifier|PropertyDeclBody|PropertyPortItem|PropertyPortItemDir|PropertyPortItemAssignmentofidentifier|SequenceDeclarationofidentifier|SequenceDeclBody|LetDeclarationofidentifier|PropertyStatementSpec|AssertionVariableDeclaration|SequenceFormalTypeSequence|SequenceFormalTypeUntyped|DataDeclarationVar|Const|DataDeclarationVarClass|TypeDeclarationofidentifier|ScopedTypeofidentifier|TypeIdentifierofidentifier|TypeDeclEnum|TypeDeclStruct|TypeDeclUnion|TypeDeclClass|VirtualInterfaceDeclarationofidentifier|ModportDeclarationofidentifierlist|ModportItemofidentifier|ModportSimplePortsDecl|ModportClockingDeclofidentifier|ModportTfPortsDeclImport|ModportTfPortsDeclExport|ModportSimplePortofidentifier|ModportSimplePortDotofidentifier|ModportTfPortofidentifier|CovergroupDeclarationofidentifier|Paren|CoverageOptionofidentifier*identifier|CoverPoint|CoverPointLabeledofidentifier|CoverCross|CoverCrossLabeledofidentifier|CrossItemofidentifier|Iff|BinsList|BinsEmpty|SelectBins|SelectBinsEmpty|BinsofBinsSpec.t*identifier|BinsSelectionofBinsSpec.t*identifier|BinsExpressionVarofidentifier|BinsExpressionofidentifier*identifier|NBins|SelCondBinsof|SelExprNot|SelExprAnd|SelExprOr|SelExprParen|Intersect|Wildcard|TransSet|TransRangeList|RepeatRange|TransItem|TransRepetitionConsecutive(* trans repetition *)|TransRepetitionNonconsecutive(* trans repetition *)|TransRepetitionGoto(* trans repetition *)|Default|DefaultSequence|OpenRangeList|CoverageEventWithofidentifier|CoverageEventBlockEvent|BlockEventExpression|BlockEventExpressionBegin|BlockEventExpressionEnd|HierarchicalBtfIdentifierofidentifier|PackageExportDeclarationStar|PackageExportDeclaration|DpiImportofstring|DpiExportFuncofstring*identifier|DpiExportTaskofstring*identifier|DpiImportLabelofidentifier|DpiTfImportPropertyContext|DpiTfImportPropertyPure|ExternConstraintDeclaration|Static|Virtual|ClassDeclarationofidentifier|ClassExtends|ClassItemEmpty|ClassMethod|QualifierofQualifier.t|ClassBody|ClassConstraintofidentifier|Pure|ClassProperty|PackageOrGenerateItemEmpty|Forkjoin|ExternTfDeclarationofidentifier|TimingCheckofTimingCheck.t|SystemTimingCheck|Notifierofidentifier|Delayedofidentifier|TimingCheckEvent|TimingCheckEventControlPosedge|TimingCheckEventControlNegedge|TimingCheckEventControl|EdgeDescriptorofstring|OverloadDeclarationofOverloadOperator.t*identifier|Params|ClockingDeclarationofidentifier|Global|ClockingBody|ClockingItemDefault|ClockingItem|DefaultSkewInput|DefaultSkewOutput|DefaultSkewInputOutput|ClockingDirectionInput|ClockingDirectionInputOutput|ClockingDirectionInout|ClockingSkewPosedge|ClockingSkewNegedge|ClockingSkewEdge|ClockingSkew|ClockingDeclAssignofidentifier|Productionofidentifier|ProductionItemofidentifier|RsCodeBlock|RsRule|RsProductionList|RsProductionListRandJoin|WeightSpecIntofstring|WeightSpecId|WeightSpec|RsProdIf|RsProdRepeat|RsProdCase|RsCaseItem|RsCaseItemDefault|CheckerOrGenerateItemEmpty|ConditionalGenerateConstructCase|ConditionalGenerateConstructIf|ElaborationSystemTaskofSystemTask.t|CaseGenerateItem|CaseGenerateItemDefault|AssignmentPattern|AssignmentPatternExpr|PatternKey|PatternKeyDefault|PatternMember|SimplePathDeclaration|ParallelPathDescription|FullPathDescription|PathInputs|PathOutputs|PathDelayValue|PolarityPlus|PolarityMinus|EdgePosedge|EdgeNegedge|EdgeSensitivePathDeclaration|ParallelEdgeSensitivePathDescription|FullEdgeSensitivePathDescription|ParallelEdgeSensitivePathDescriptionSub|FullEdgeSensitivePathDescriptionSub|StateDependentPathDeclarationIf|StateDependentPathDeclarationIfnone|VariableLvalue|AttributeInstance|AttrSpecofidentifier|UdpPortofidentifier|UdpPortDeclaration|UdpOutputDeclarationofidentifier|UdpOutputDeclarationRegofidentifier|UdpInputDeclaration|UdpRegDeclarationofidentifier|SequentialBody|CombinationalBody|UdpInitialStmtofidentifier*string|SequentialEntry|EdgeIndicator|EdgeSymbolofstring|LevelSymbolofstring|OutputSymbolofstring|CombinationalEntry|NextStateMinus|UdpPortsStar|UdpPorts|UdpPortDecls|UdpDeclarationPorts|AttributeInstances|ConfigDeclarationofidentifier|DesignStatement|CellIdofidentifier|LibraryIdentifierofidentifier|LiblistClause|CellClauseofidentifier|UseClause|ColonConfig|InstanceName|InstanceIdentifierofidentifier|TopModuleIdentifierofidentifier|InstClause|ConfigRuleStatementDefault|ConfigRuleStatement|LibraryDeclarationofidentifier|Incdir|FilePathSpecofstring|IncludeStatementofstring|PragmaExpressionofidentifier|PragmaValueTuple|PragmaValueNumofstring|PragmaValueStrofstring|PragmaValueIdofidentifier|PackageImportDecls|ParamPorts|Ranges|VariableDimensions|CaseConds|NetDeclAssignmentsofidentifierlist|ParamAssignmentsofidentifierlist|MacroExprofstring|MacroStmtofstring|Varletto_string=function|Dummy->"Dummy"|Error->"Error"|Empty->"Empty"|SourceText->"SourceText"|LibraryText->"LibraryText"|CompilerDirectivecd->CompilerDirective.to_stringcd|ModuleDeclaration(mspec,id)->"ModuleDeclaration:"^(ModuleSpec.to_stringmspec)^":"^id|UdpDeclarationid->"UdpDeclaration:"^id|NetDeclarationids->"NetDeclaration:"^(String.concat","ids)|BindDirectiveid->"BindDirective:"^id|Expre->Expression.to_stringe|Stmtstmt->Statement.to_stringstmt|NetTypent->NetType.to_stringnt|LocalParameterDeclarationids->"LocalParameterDeclaration:"^(String.concat","ids)|ParameterDeclarationids->"ParameterDeclaration:"^(String.concat","ids)|ParameterPortDeclaration->"ParameterPortDeclaration"|ModuleBody->"ModuleBody"|Instantiationid->"Instantiation:"^id|GateInstantiationg->"GateInstantiation:"^(Gate.to_stringg)|ContinuousAssign->"ContinuousAssign"|Assign->"Assign"|ConcurrentAssertionItem->"ConcurrentAssertionItem"|DeferredImmediateAssertionItem->"DeferredImmediateAssertionItem"|PpIdentifierid->"PpIdentifier:"^id|PackedDimension->"PackedDimension"|ParamAssignmentid->"ParamAssignment:"^id|DefparamAssignment->"DefparamAssignment"|IdSelectid->"IdSelect:"^id|Select->"Select"|Range->"Range"|RangePlus->"RangePlus"|RangeMinus->"RangeMinus"|RangeForeach->"RangeForeach"|Root->"Root"|This->"This"|Super->"Super"|Cellpinid->"Cellpin:"^id|CellpinStar->"CellpinStar"|CellpinAnon->"CellpinAnon"|DelayValueid->"DelayValue:"^id|PackageScopeid->"PackageScope:"^id|PackageScopeUnit->"PackageScopeUnit"|PackageScopeLocal->"PackageScopeLocal"|PackageImportid->"PackageImport:"^id|PackageImportAny->"PackageImportAny"|LifetimeStatic->"LifetimeStatic"|LifetimeAutomatic->"LifetimeAutomatic"|EndLabelid->"EndLabel:"^id|EndLabelNew->"EndLabelNew"|ClassTypeid->"ClassType:"^id|DataTypedt->DataType.to_stringdt|ImplicitDataType->"ImplicitDataType"|VarDeclAssignments->"VarDeclAssignments"|Signed->"Signed"|Unsigned->"Unsigned"|ArgsDottedid->"ArgsDotted:"^id|Tagged->"Tagged"|StructUnionBody->"StructUnionBody"|StructUnionMember->"StructUnionMember"|ClassScopeIdid->"ClassScopeId:"^id|Void->"Void"|EnumNameDeclarationid->"EnumNameDeclaration:"^id|EnumBody->"EnumBody"|IdClassSelid->"IdClassSel:"^id|Variableid->"Variable:"^id|Extern->"Extern"|PackageImportDeclaration->"PackageImportDeclaration"|PackageImportItemid->"PackageImportItem:"^id|Packed->"Packed"|ParameterValueAssignment->"ParameterValueAssignment"|Ports->"Ports"|PortsStar->"PortsStar"|BitSelect->"BitSelect"|VariableDeclAssignmentid->"VariableDeclAssignment:"^id|DynamicArrayNew->"DynamicArrayNew"|VariableDimension->"VariableDimension"|VariableDimensionStar->"VariableDimensionStar"|GenItemBegin->"GenItemBegin"|GenBlockIdid->"GenBlockId:"^id|GenerateRegion->"GenerateRegion"|Scalared->"Scalared"|Vectored->"Vectored"|DelayControl->"DelayControl"|NetSigid->"NetSig:"^id|ParameterOverride->"ParameterOverride"|PortDeclaration->"PortDeclaration"|PortDirectionpd->"PortDirection:"^(PortDirection.to_stringpd)|Strengthstrength->"Strength:"^(Strength.to_stringstrength)|StrengthSupply0->"StrengthSupply0"|StrengthSupply1->"StrengthSupply1"|StrengthSpec->"StrengthSpec"|VarDataType->"VarDataType"|Portid->"Port:"^id|InterfacePortid->"InterfacePort:"^id|InterfacePortInterface->"InterfacePortInterface"|ModportIdentifierid->"ModportIdentifier:"^id|PortMulti->"PortMulti"|ExprScope->"ExprScope"|ExprScopeThis->"ExprScopeThis"|ExprScopeSuper->"ExprScopeSuper"|ExprScopeDot->"ExprScopeDot"|ExprScopeDotSuper->"ExprScopeDotSuper"|CondPredicate->"CondPredicate"|CondPattern->"CondPattern"|Dist->"Dist"|DistItem->"DistItem"|DistWeight->"DistWeight"|DistWeightRange->"DistWeightRange"|ArrayRange->"ArrayRange"|ArrayRangePlus->"ArrayRangePlus"|ArrayRangeMinus->"ArrayRangeMinus"|CastingTypeSimple->"CastingTypeSimple"|CastingTypeSigned->"CastingTypeSigned"|CastingTypeUnsigned->"CastingTypeUnsigned"|CastingTypeString->"CastingTypeString"|CastingTypeConst->"CastingTypeConst"|ValueRange->"ValueRange"|Pattern->"Pattern"|PatternIdid->"PatternId:"^id|PatternStar->"PatternStar"|PatternTaggedid->"PatternTagged:"^id|EventControl->"EventControl"|EventControlStar->"EventControlStar"|EventControlParenStar->"EventControlParenStar"|EventControlRepeat->"EventControlRepeat"|EvExpree->EventExpression.to_stringee|CaseItem->"CaseItem"|CaseItemDefault->"CaseItemDefault"|CaseInsideItem->"CaseInsideItem"|CaseInsideItemDefault->"CaseInsideItemDefault"|CaseItems->"CaseItems"|CaseItemsMatches->"CaseItemsMatches"|CaseItemsInside->"CaseItemsInside"|With->"With"|Args->"Args"|ConstraintBlock->"ConstraintBlock"|ForInit->"ForInit"|ForInitItemDTid->"ForInitItemDT:"^id|ForInitItemLval->"ForInitItemLval"|StreamingConcat->"StreamingConcat"|OrderRL->"OrderRL"|OrderLR->"OrderLR"|StreamConcat->"StreamConcat"|Solve->"Solve"|SolveBefore->"SolveBefore"|ActionBlock->"ActionBlock"|CycleDelays->"CycleDelay:"^s|CycleDelayIdid->"CycleDelayId:"^id|CycleDelayParen->"CycleDelayParen"|Priority->"Priority"|Unique->"Unique"|Unique0->"Unique0"|InstRange->"InstRange"|InstNameid->"InstName:"^id|PExprpe->PropertyExpression.to_stringpe|ClockingEventid->"ClockingEvent:"^id|ClockingEventParen->"ClockingEventParen"|PropertyCase->"PropertyCase"|PropertyCaseDefault->"PropertyCaseDefault"|DisableIff->"DisableIff"|CycleDelayRanges->"CycleDelayRange:"^s|CycleDelayRangeIdid->"CycleDelayRangeId:"^id|CycleDelayRangeParen->"CycleDelayRangeParen"|CycleDelayRangeBracket->"CycleDelayRangeBracket"|CycleDelayRangeBracketStar->"CycleDelayRangeBracketStar"|CycleDelayRangeBracketPlus->"CycleDelayRangeBracketPlus"|SExprse->SequenceExpression.to_stringse|ConsecutiveRepetition->"ConsecutiveRepetition"|NonconsecutiveRepetition->"NonconsecutiveRepetition"|GotoRepetition->"GotoRepetition"|NetAlias->"NetAlias"|InitialConstruct->"InitialConstruct"|FinalConstruct->"FinalConstruct"|AlwaysConstructaspec->"AlwaysConstruct:"^(AlwaysSpec.to_stringaspec)|ConcurrentAssertionItemLabeledid->"ConcurrentAssertionItemLabeled:"^id|ConcurrentAssertionStmtca->ConcurrentAssertion.to_stringca|DeferredImmediateAssertionItemLabeledid->"DeferredImmediateAssertionItemLabeled:"^id|DeferredImmediateAssertionStmtdia->DeferredImmediateAssertion.to_stringdia|SimpleImmediateAssertionStmtsia->SimpleImmediateAssertion.to_stringsia|CheckerInstantiationid->"CheckerInstantiation:"^id|LoopGenerateConstruct->"LoopGenerateConstruct"|GenvarDeclarationids->"GenvarDeclaration:"^(String.concat","ids)|GenvarIterationAssign(ao,id)->"GenvarIteration:"^(AssignmentOperator.to_stringao)^":"^id|GenvarIterationIncOrDec(iod,id)->"GenvarIteration:"^(IncOrDecOperator.to_stringiod)^":"^id|GenvarIdDeclid->"GenvarIdDecl:"^id|GenvarInitIdid->"GenvarInitId:"^id|GenvarInit->"GenvarInit"|SpecifyBlock->"SpecifyBlock"|SpecparamDeclaration->"SpecparamDeclaration"|SpecparamAssignmentIdid->"SpecparamAssignmentId:"^id|SpecparamAssignmentPulseControlid->"SpecparamAssignmentPulseControl:"^id|PulsestyleDeclarationOnevent->"PulsestyleDeclarationOnevent"|PulsestyleDeclarationOndetect->"PulsestyleDeclarationOndetect"|ShowcancelledDeclaration->"ShowcancelledDeclaration"|NoshowcancelledDeclaration->"NoshowcancelledDeclaration"|SpecifyTerminalDescriptor->"SpecifyTerminalDescriptor"|InputOrOutputIdid->"InputOrOutputId:"^id|InterfaceIdentifierid->"InterfaceIdentifier:"^id|ProgramDeclarationid->"ProgramDeclaration:"^id|InterfaceDeclarationid->"InterfaceDeclaration:"^id|InterfaceDeclarationExternid->"InterfaceDeclarationExtern:"^id|TimeUnitsDeclaration->"TimeUnitsDeclaration"|TimeUnits->"TimeUnit:"^s|Timeprecisions->"Timeprecision:"^s|PackageDeclarationid->"PackageDeclaration:"^id|AnonymousProgram->"AnonymousProgram"|AnonymousProgramItemEmpty->"AnonymousProgramItemEmpty"|FunctionDeclarationid->"FunctionDeclaration:"^id|FunctionPrototypeid->"FunctionPrototype:"^id|FuncIdid->"FuncId:"^id|FuncIdVoidid->"FuncIdVoid:"^id|FuncIdNew->"FuncIdNew"|TfIdScopedid->"TfIdScoped:"^id|TaskDeclarationid->"TaskDeclaration:"^id|TaskPrototypeid->"TaskPrototype:"^id|ClassCtorPrototype->"ClassCtorPrototype"|TfPortListPart->"TfPortListPart"|TfBody->"TfBody"|TfPortDeclaration->"TfPortDeclaration"|TfPortItemAssignmentid->"TfPortItemAssignment:"^id|TfPortItem->"TfPortItem"|TfVariableIdentifierid->"TfVariableIdentifier:"^id|CheckerDeclarationid->"CheckerDeclaration:"^id|PropertyDeclarationid->"PropertyDeclaration:"^id|PropertyDeclBody->"PropertyDeclBody"|PropertyPortItem->"PropertyPortItem"|PropertyPortItemDir->"PropertyPortItemDir"|PropertyPortItemAssignmentid->"PropertyPortItemAssignment:"^id|SequenceDeclarationid->"SequenceDeclaration:"^id|SequenceDeclBody->"SequenceDeclBody"|LetDeclarationid->"LetDeclaration:"^id|PropertyStatementSpec->"PropertyStatementSpec"|AssertionVariableDeclaration->"AssertionVariableDeclaration"|SequenceFormalTypeSequence->"SequenceFormalTypeSequence"|SequenceFormalTypeUntyped->"SequenceFormalTypeUntyped"|DataDeclarationVar->"DataDeclarationVar"|Const->"Const"|DataDeclarationVarClass->"DataDeclarationVarClass"|TypeDeclarationid->"TypeDeclaration:"^id|ScopedTypeid->"ScopedType:"^id|TypeIdentifierid->"TypeIdentifier:"^id|TypeDeclEnum->"TypeDeclEnum"|TypeDeclStruct->"TypeDeclStruct"|TypeDeclUnion->"TypeDeclUnion"|TypeDeclClass->"TypeDeclClass"|VirtualInterfaceDeclarationid->"VirtualInterfaceDeclaration:"^id|ModportDeclarationids->"ModportDeclaration:"^(String.concat","ids)|ModportItemid->"ModportItem:"^id|ModportSimplePortsDecl->"ModportSimplePortsDecl"|ModportClockingDeclid->"ModportClockingDecl:"^id|ModportTfPortsDeclImport->"ModportTfPortsDeclImport"|ModportTfPortsDeclExport->"ModportTfPortsDeclExport"|ModportSimplePortid->"ModportSimplePort:"^id|ModportSimplePortDotid->"ModportSimplePortDot:"^id|ModportTfPortid->"ModportTfPort:"^id|CovergroupDeclarationid->"CovergroupDeclaration:"^id|Paren->"Paren"|CoverageOption(id1,id2)->"CoverageOption:"^id1^":"^id2|CoverPoint->"CoverPoint"|CoverPointLabeledid->"CoverPointLabeled:"^id|CoverCross->"CoverCross"|CoverCrossLabeledid->"CoverCrossLabeled:"^id|CrossItemid->"CrossItem:"^id|Iff->"Iff"|BinsList->"BinsList"|BinsEmpty->"BinsEmpty"|SelectBins->"SelectBins"|SelectBinsEmpty->"SelectBinsEmpty"|Bins(bspec,id)->"Bins:"^(BinsSpec.to_stringbspec)^":"^id|BinsSelection(bspec,id)->"BinsSelection:"^(BinsSpec.to_stringbspec)^":"^id|BinsExpressionVarid->"BinsExpressionVar:"^id|BinsExpression(id1,id2)->"BinsExpression:"^id1^":"^id2|NBins->"NBins"|SelCondBinsof->"SelCondBinsof"|SelExprNot->"SelExprNot"|SelExprAnd->"SelExprAnd"|SelExprOr->"SelExprOr"|SelExprParen->"SelExprParen"|Intersect->"Intersect"|Wildcard->"Wildcard"|TransSet->"TransSet"|TransRangeList->"TransRangeList"|RepeatRange->"RepeatRange"|TransItem->"TransItem"|TransRepetitionConsecutive->"TransRepetitionConsecutive"|TransRepetitionNonconsecutive->"TransRepetitionNonconsecutive"|TransRepetitionGoto->"TransRepetitionGoto"|Default->"Default"|DefaultSequence->"DefaultSequence"|OpenRangeList->"OpenRangeList"|CoverageEventWithid->"CoverageEventWith:"^id|CoverageEventBlockEvent->"CoverageEventBlockEvent"|BlockEventExpression->"BlockEventExpression"|BlockEventExpressionBegin->"BlockEventExpressionBegin"|BlockEventExpressionEnd->"BlockEventExpressionEnd"|HierarchicalBtfIdentifierid->"HierarchicalBtfIdentifier:"^id|PackageExportDeclarationStar->"PackageExportDeclarationStar"|PackageExportDeclaration->"PackageExportDeclaration"|DpiImports->"DpiImport:"^s|DpiExportFunc(s,id)->"DpiExportFunc:"^s^":"^id|DpiExportTask(s,id)->"DpiExportTask:"^s^":"^id|DpiImportLabelid->"DpiImportLabel:"^id|DpiTfImportPropertyContext->"DpiTfImportPropertyContext"|DpiTfImportPropertyPure->"DpiTfImportPropertyPure"|ExternConstraintDeclaration->"ExternConstraintDeclaration"|Static->"Static"|Virtual->"Virtual"|ClassDeclarationid->"ClassDeclaration:"^id|ClassExtends->"ClassExtends"|ClassItemEmpty->"ClassItemEmpty"|ClassMethod->"ClassMethod"|Qualifierq->"Qualifier:"^(Qualifier.to_stringq)|ClassBody->"ClassBody"|ClassConstraintid->"ClassConstraint:"^id|Pure->"Pure"|ClassProperty->"ClassProperty"|PackageOrGenerateItemEmpty->"PackageOrGenerateItemEmpty"|Forkjoin->"Forkjoin"|ExternTfDeclarationid->"ExternTfDeclaration:"^id|TimingChecktc->TimingCheck.to_stringtc|SystemTimingCheck->"SystemTimingCheck"|Notifierid->"Notifier:"^id|Delayedid->"Delayed:"^id|TimingCheckEvent->"TimingCheckEvent"|TimingCheckEventControlPosedge->"TimingCheckEventControlPosedge"|TimingCheckEventControlNegedge->"TimingCheckEventControlNegedge"|TimingCheckEventControl->"TimingCheckEventControl"|EdgeDescriptors->"EdgeDescriptor:"^s|OverloadDeclaration(oo,id)->"OverloadDeclaration:"^(OverloadOperator.to_stringoo)^":"^id|Params->"Params"|ClockingDeclarationid->"ClockingDeclaration:"^id|Global->"Global"|ClockingBody->"ClockingBody"|ClockingItemDefault->"ClockingItemDefault"|ClockingItem->"ClockingItem"|DefaultSkewInput->"DefaultSkewInput"|DefaultSkewOutput->"DefaultSkewOutput"|DefaultSkewInputOutput->"DefaultSkewInputOutput"|ClockingDirectionInput->"ClockingDirectionInput"|ClockingDirectionInputOutput->"ClockingDirectionInputOutput"|ClockingDirectionInout->"ClockingDirectionInout"|ClockingSkewPosedge->"ClockingSkewPosedge"|ClockingSkewNegedge->"ClockingSkewNegedge"|ClockingSkewEdge->"ClockingSkewEdge"|ClockingSkew->"ClockingSkew"|ClockingDeclAssignid->"ClockingDeclAssign:"^id|Productionid->"Production:"^id|ProductionItemid->"ProductionItem:"^id|RsCodeBlock->"RsCodeBlock"|RsRule->"RsRule"|RsProductionList->"RsProductionList"|RsProductionListRandJoin->"RsProductionListRandJoin"|WeightSpecInts->"WeightSpecInt:"^s|WeightSpecId->"WeightSpecId"|WeightSpec->"WeightSpec"|RsProdIf->"RsProdIf"|RsProdRepeat->"RsProdRepeat"|RsProdCase->"RsProdCase"|RsCaseItem->"RsCaseItem"|RsCaseItemDefault->"RsCaseItemDefault"|CheckerOrGenerateItemEmpty->"CheckerOrGenerateItemEmpty"|ConditionalGenerateConstructCase->"ConditionalGenerateConstructCase"|ConditionalGenerateConstructIf->"ConditionalGenerateConstructIf"|ElaborationSystemTaskst->"ElaborationSystemTask:"^(SystemTask.to_stringst)|CaseGenerateItem->"CaseGenerateItem"|CaseGenerateItemDefault->"CaseGenerateItemDefault"|AssignmentPattern->"AssignmentPattern"|AssignmentPatternExpr->"AssignmentPatternExpr"|PatternKey->"PatternKey"|PatternKeyDefault->"PatternKeyDefault"|PatternMember->"PatternMember"|SimplePathDeclaration->"SimplePathDeclaration"|ParallelPathDescription->"ParallelPathDescription"|FullPathDescription->"FullPathDescription"|PathInputs->"PathInputs"|PathOutputs->"PathOutputs"|PathDelayValue->"PathDelayValue"|PolarityPlus->"PolarityPlus"|PolarityMinus->"PolarityMinus"|EdgePosedge->"EdgePosedge"|EdgeNegedge->"EdgeNegedge"|EdgeSensitivePathDeclaration->"EdgeSensitivePathDeclaration"|ParallelEdgeSensitivePathDescription->"ParallelEdgeSensitivePathDescription"|FullEdgeSensitivePathDescription->"FullEdgeSensitivePathDescription"|ParallelEdgeSensitivePathDescriptionSub->"ParallelEdgeSensitivePathDescriptionSub"|FullEdgeSensitivePathDescriptionSub->"FullEdgeSensitivePathDescriptionSub"|StateDependentPathDeclarationIf->"StateDependentPathDeclarationIf"|StateDependentPathDeclarationIfnone->"StateDependentPathDeclarationIfnone"|VariableLvalue->"VariableLvalue"|AttributeInstance->"AttributeInstance"|AttrSpecid->"AttrSpec:"^id|UdpPortid->"UdpPort:"^id|UdpPortDeclaration->"UdpPortDeclaration"|UdpOutputDeclarationid->"UdpOutputDeclaration:"^id|UdpOutputDeclarationRegid->"UdpOutputDeclarationReg:"^id|UdpInputDeclaration->"UdpInputDeclaration"|UdpRegDeclarationid->"UdpRegDeclaration:"^id|SequentialBody->"SequentialBody"|CombinationalBody->"CombinationalBody"|UdpInitialStmt(id,s)->"UdpInitialStmt:"^id^":"^s|SequentialEntry->"SequentialEntry"|EdgeIndicator->"EdgeIndicator"|EdgeSymbols->"EdgeSymbol:"^s|LevelSymbols->"LevelSymbol:"^s|OutputSymbols->"OutputSymbol:"^s|CombinationalEntry->"CombinationalEntry"|NextStateMinus->"NextStateMinus"|UdpPortsStar->"UdpPortsStar"|UdpPorts->"UdpPorts"|UdpPortDecls->"UdpPortDecls"|UdpDeclarationPorts->"UdpDeclarationPorts"|AttributeInstances->"AttributeInstances"|ConfigDeclarationid->"ConfigDeclaration:"^id|DesignStatement->"DesignStatement"|CellIdid->"CellId:"^id|LibraryIdentifierid->"LibraryIdentifier:"^id|LiblistClause->"LiblistClause"|CellClauseid->"CellClause:"^id|UseClause->"UseClause"|ColonConfig->"ColonConfig"|InstanceName->"InstanceName"|InstanceIdentifierid->"InstanceIdentifier:"^id|TopModuleIdentifierid->"TopModuleIdentifier:"^id|InstClause->"InstClause"|ConfigRuleStatementDefault->"ConfigRuleStatementDefault"|ConfigRuleStatement->"ConfigRuleStatement"|LibraryDeclarationid->"LibraryDeclaration:"^id|Incdir->"Incdir"|FilePathSpecs->"FilePathSpec:"^s|IncludeStatements->"IncludeStatement:"^s|PragmaExpressionid->"PragmaExpression:"^id|PragmaValueTuple->"PragmaValueTuple"|PragmaValueNums->"PragmaValueNum:"^s|PragmaValueStrs->"PragmaValueStr:"^s|PragmaValueIdid->"PragmaValueId:"^id|PackageImportDecls->"PackageImportDecls"|ParamPorts->"ParamPorts"|Ranges->"Ranges"|VariableDimensions->"VariableDimensions"|CaseConds->"CaseConds"|NetDeclAssignmentsids->"NetDeclAssignments:"^(String.concat","ids)|ParamAssignmentsids->"ParamAssignments:"^(String.concat","ids)|MacroExprs->"MacroExpr:"^s|MacroStmts->"MacroStmt:"^s|Var->"Var"letto_simple_string=function|Dummy->"<dummy>"|Error->"<error>"|Empty->";"|SourceText->"<source_text>"|LibraryText->"<library_text>"|CompilerDirectivecd->CompilerDirective.to_simple_stringcd|ModuleDeclaration(mspec,id)->(ModuleSpec.to_repmspec)^" "^id|UdpDeclarationid->"primitive "^id|NetDeclarationids->"<net_decl:"^(String.concat","ids)^">"|BindDirectiveid->"bind "^id|Expre->Expression.to_simple_stringe|Stmtstmt->Statement.to_simple_stringstmt|NetTypent->NetType.to_simple_stringnt|LocalParameterDeclaration_->"<local_param_decl>"|ParameterDeclaration_->"<param_decl>"|ParameterPortDeclaration->"<param_port_decl>"|ModuleBody->"<module_body>"|Instantiationid->"<inst:"^id^">"|GateInstantiationg->Gate.to_simple_stringg|ContinuousAssign->"<continuous_assign>"|Assign->"assign"|ConcurrentAssertionItem->"<concur_assert_item>"|DeferredImmediateAssertionItem->"<deferred_immediate_assert_item>"|PpIdentifierid->id|PackedDimension->"<packed_dim>"|ParamAssignmentid->"<param_assign:"^id^">"|DefparamAssignment->"<def_param_assign>"|IdSelectid->id|Select->"<sel>"|Range->":"|RangePlus->":+"|RangeMinus->":-"|RangeForeach->"<range_foreach>"|Root->"$root"|This->"this"|Super->"super"|Cellpinid->"."^id|CellpinStar->".*"|CellpinAnon->"<cellpin_anon>"|DelayValueid->id|PackageScopeid->id^"::"|PackageScopeUnit->"$unit::"|PackageScopeLocal->"local::"|PackageImportid->id|PackageImportAny->"*"|LifetimeStatic->"static"|LifetimeAutomatic->"automatic"|EndLabelid->":"^id|EndLabelNew->":new"|ClassTypeid->id|DataTypedt->DataType.to_simple_stringdt|ImplicitDataType->"<implicit_data_type>"|VarDeclAssignments->"<var_decl_assignments>"|Signed->"signed"|Unsigned->"unsigned"|ArgsDottedid->"."^id|Tagged->"tagged"|StructUnionBody->"<struct_union_body>"|StructUnionMember->"<struct_union_mem>"|ClassScopeIdid->id|Void->"void"|EnumNameDeclarationid->id|EnumBody->"<enum_body>"|IdClassSelid->id|Variableid->id|Extern->"extern"|PackageImportDeclaration->"import"|PackageImportItemid->id^"::"|Packed->"packed"|ParameterValueAssignment->"<param_val_assign>"|Ports->"<ports>"|PortsStar->"(*)"|BitSelect->"<bit_sel>"|VariableDeclAssignmentid->"<var_decl_assign:"^id^">"|DynamicArrayNew->"new[]"|VariableDimension->"<var_dim>"|VariableDimensionStar->"[*]"|GenItemBegin->"<gen_item_begin>"|GenBlockIdid->":"^id|GenerateRegion->"generate"|Scalared->"scalared"|Vectored->"vectored"|DelayControl->"#"|NetSigid->id|ParameterOverride->"defparam"|PortDeclaration->"<port_decl>"|PortDirectionpd->PortDirection.to_simple_stringpd|Strengthstrength->Strength.to_repstrength|StrengthSupply0->"supply0"|StrengthSupply1->"supply1"|StrengthSpec->"spec"|VarDataType->"<var_datatype>"|Portid->id|InterfacePortid->id|InterfacePortInterface->"interface"|ModportIdentifierid->id|PortMulti->"<port_multi>"|ExprScope->"<expr_scope>"|ExprScopeThis->"this"|ExprScopeSuper->"super"|ExprScopeDot->"."|ExprScopeDotSuper->".super"|CondPredicate->"&&&"|CondPattern->"matches"|Dist->"dist"|DistItem->"<dist_item>"|DistWeight->":="|DistWeightRange->":/"|ArrayRange->"<array_range>"|ArrayRangePlus->":+"|ArrayRangeMinus->":-"|CastingTypeSimple->"<casting_type_simple>"|CastingTypeSigned->"signed"|CastingTypeUnsigned->"unsigned"|CastingTypeString->"string"|CastingTypeConst->"const"|ValueRange->"<value_range>"|Pattern->"<pat>"|PatternIdid->"."^id|PatternStar->".*"|PatternTaggedid->"tagged:"^id|EventControl->"@"|EventControlStar->"@*"|EventControlParenStar->"@(*)"|EventControlRepeat->"repeat"|EvExpree->EventExpression.to_simple_stringee|CaseItem->"<case_item>"|CaseItemDefault->"default"|CaseInsideItem->"<case_inside_item>"|CaseInsideItemDefault->"default"|CaseItems->"<case_items>"|CaseItemsMatches->"matches"|CaseItemsInside->"inside"|With->"with"|Args->"<args>"|ConstraintBlock->"<constraint_block>"|ForInit->"<for_ini>"|ForInitItemDTid->id|ForInitItemLval->"<for_ini_item_lval>"|StreamingConcat->"<streaming_concat>"|OrderRL->"<<"|OrderLR->">>"|StreamConcat->"<stream_concat>"|Solve->"solve"|SolveBefore->"<solve_before>"|ActionBlock->"<act_block>"|CycleDelays->"##"^s|CycleDelayIdid->"##"^id|CycleDelayParen->"##"|Priority->"priority"|Unique->"unique"|Unique0->"unique0"|InstRange->"<inst_range>"|InstNameid->id|PExprpe->PropertyExpression.to_simple_stringpe|ClockingEventid->"@"^id|ClockingEventParen->"@"|PropertyCase->"<prop_case>"|PropertyCaseDefault->"default"|DisableIff->"disable iff"|CycleDelayRanges->"##"^s|CycleDelayRangeIdid->"##"^id|CycleDelayRangeParen->"##"|CycleDelayRangeBracket->"##[]"|CycleDelayRangeBracketStar->"##[*]"|CycleDelayRangeBracketPlus->"##[+]"|SExprse->SequenceExpression.to_simple_stringse|ConsecutiveRepetition->"[*]"|NonconsecutiveRepetition->"[=]"|GotoRepetition->"[->]"|NetAlias->"alias"|InitialConstruct->"initial"|FinalConstruct->"final"|AlwaysConstructaspec->AlwaysSpec.to_repaspec|ConcurrentAssertionItemLabeledid->id^":"|ConcurrentAssertionStmtca->ConcurrentAssertion.to_simple_stringca|DeferredImmediateAssertionItemLabeledid->id^":"|DeferredImmediateAssertionStmtdia->DeferredImmediateAssertion.to_simple_stringdia|SimpleImmediateAssertionStmtsia->SimpleImmediateAssertion.to_simple_stringsia|CheckerInstantiationid->id|LoopGenerateConstruct->"for"|GenvarDeclaration_->"genvar"|GenvarIterationAssign(ao,id)->"genvar_iter:"^(AssignmentOperator.to_stringao)^":"^id|GenvarIterationIncOrDec(iod,id)->"genvar_iter:"^(IncOrDecOperator.to_stringiod)^":"^id|GenvarIdDeclid->"<genvar_id_decl:"^id^">"|GenvarInitIdid->"<genvar_ini_id:"^id^">"|GenvarInit->"genvar"|SpecifyBlock->"specify"|SpecparamDeclaration->"specparam"|SpecparamAssignmentIdid->id|SpecparamAssignmentPulseControlid->"PATHPULSE$"^id|PulsestyleDeclarationOnevent->"pulsestyle_onevent"|PulsestyleDeclarationOndetect->"pulsestyle_ondetect"|ShowcancelledDeclaration->"showcancelled"|NoshowcancelledDeclaration->"noshowcancelled"|SpecifyTerminalDescriptor->"<spec_term_desc>"|InputOrOutputIdid->id|InterfaceIdentifierid->id|ProgramDeclarationid->"program "^id|InterfaceDeclarationid->"interface "^id|InterfaceDeclarationExternid->"extern interface "^id|TimeUnitsDeclaration->"timeunits"|TimeUnits->s|Timeprecisions->s|PackageDeclarationid->"package "^id|AnonymousProgram->"program"|AnonymousProgramItemEmpty->";"|FunctionDeclarationid->"function "^id|FunctionPrototypeid->"function "^id|FuncIdid->"<func_id:"^id^">"|FuncIdVoidid->"<fun_id_void:"^id^">"|FuncIdNew->"new"|TfIdScopedid->id|TaskDeclarationid->"task "^id|TaskPrototypeid->"task "^id|ClassCtorPrototype->"<class_ctor_proto>"|TfPortListPart->"<tf_port_list_part>"|TfBody->"<tf_body>"|TfPortDeclaration->"<tf_port_decl>"|TfPortItemAssignmentid->"<tf_port_item_assign:"^id^">"|TfPortItem->"<tf_port_item>"|TfVariableIdentifierid->id|CheckerDeclarationid->"checker "^id|PropertyDeclarationid->"property "^id|PropertyDeclBody->"<prop_decl_body>"|PropertyPortItem->"<prop_port_item>"|PropertyPortItemDir->"<prop_port_item_dir>"|PropertyPortItemAssignmentid->"<prop_port_item_assign:"^id^">"|SequenceDeclarationid->"sequence "^id|SequenceDeclBody->"<seq_decl_body>"|LetDeclarationid->"let "^id|PropertyStatementSpec->"<prop_stmt_spec>"|AssertionVariableDeclaration->"<asser_var_decl>"|SequenceFormalTypeSequence->"sequence"|SequenceFormalTypeUntyped->"untyped"|DataDeclarationVar->"<data_decl_var>"|Const->"const"|DataDeclarationVarClass->"<data_decl_var_class>"|TypeDeclarationid->"typedef "^id|ScopedTypeid->"<scoped_type:"^id^">"|TypeIdentifierid->id|TypeDeclEnum->"enum"|TypeDeclStruct->"struct"|TypeDeclUnion->"union"|TypeDeclClass->"class"|VirtualInterfaceDeclarationid->"virtual interface "^id|ModportDeclarationids->"modport "^(String.concat","ids)|ModportItemid->"<modport_item:"^id^">"|ModportSimplePortsDecl->"<modport_simple_ports_decl>"|ModportClockingDeclid->"clocking "^id|ModportTfPortsDeclImport->"import"|ModportTfPortsDeclExport->"export"|ModportSimplePortid->id|ModportSimplePortDotid->"."^id|ModportTfPortid->id|CovergroupDeclarationid->"covergroup "^id|Paren->"()"|CoverageOption(id1,id2)->"<coverage_opt:"^id1^":"^id2^">"|CoverPoint->"coverpoint"|CoverPointLabeledid->id^":coverpoint"|CoverCross->"covercross"|CoverCrossLabeledid->id^":covercross"|CrossItemid->"<cross_item:"^id^">"|Iff->"iff"|BinsList->"<bins_list>"|BinsEmpty->";"|SelectBins->"<sel_bins>"|SelectBinsEmpty->";"|Bins(bspec,id)->(BinsSpec.to_repbspec)^" "^id|BinsSelection(bspec,id)->(BinsSpec.to_repbspec)^" "^id|BinsExpressionVarid->id|BinsExpression(id1,id2)->id1^"."^id2|NBins->"[]"|SelCondBinsof->"binsof"|SelExprNot->"!"|SelExprAnd->"&&"|SelExprOr->"||"|SelExprParen->"()"|Intersect->"intersect"|Wildcard->"wildcard"|TransSet->"<trans_set>"|TransRangeList->"<trans_range_list>"|RepeatRange->"<repeat_range>"|TransItem->"<trans_item>"|TransRepetitionConsecutive->"[*]"|TransRepetitionNonconsecutive->"[=]"|TransRepetitionGoto->"[->]"|Default->"default"|DefaultSequence->"default sequence"|OpenRangeList->"<open_range_list>"|CoverageEventWithid->"with function "^id|CoverageEventBlockEvent->"@@"|BlockEventExpression->"<block_ev_expr>"|BlockEventExpressionBegin->"begin"|BlockEventExpressionEnd->"end"|HierarchicalBtfIdentifierid->"<hierarchical_Btf_id:"^id^">"|PackageExportDeclarationStar->"export *::*"|PackageExportDeclaration->"export"|DpiImports->"import "^s|DpiExportFunc(s,id)->"export "^s^" function "^id|DpiExportTask(s,id)->"export "^s^" task "^id|DpiImportLabelid->id^"="|DpiTfImportPropertyContext->"context"|DpiTfImportPropertyPure->"pure"|ExternConstraintDeclaration->"constraint"|Static->"static"|Virtual->"virtual"|ClassDeclarationid->"class "^id|ClassExtends->"extends"|ClassItemEmpty->";"|ClassMethod->"<class_meth>"|Qualifierq->Qualifier.to_simple_stringq|ClassBody->"<class_body>"|ClassConstraintid->"constraint "^id|Pure->"pure"|ClassProperty->"<class_prop>"|PackageOrGenerateItemEmpty->";"|Forkjoin->"forkjoin"|ExternTfDeclaration_->"extern"|TimingChecktc->TimingCheck.to_simple_stringtc|SystemTimingCheck->"<sys_timing_check>"|Notifierid->"<notifier:"^id^""|Delayedid->"<delayed:"^id^">"|TimingCheckEvent->"<timing_check_ev>"|TimingCheckEventControlPosedge->"posedge"|TimingCheckEventControlNegedge->"negedge"|TimingCheckEventControl->"edge"|EdgeDescriptors->s|OverloadDeclaration(oo,id)->(OverloadOperator.to_simple_stringoo)^" "^id|Params->"<params>"|ClockingDeclarationid->"clocking "^id|Global->"global"|ClockingBody->"<clocking_body>"|ClockingItemDefault->"default"|ClockingItem->"<clocking_item>"|DefaultSkewInput->"input"|DefaultSkewOutput->"output"|DefaultSkewInputOutput->"input output"|ClockingDirectionInput->"input"|ClockingDirectionInputOutput->"input output"|ClockingDirectionInout->"inout"|ClockingSkewPosedge->"posedge"|ClockingSkewNegedge->"negedge"|ClockingSkewEdge->"edge"|ClockingSkew->"<clocking_skew>"|ClockingDeclAssignid->"<clocking_decl_assign:"^id^">"|Productionid->"<prod:"^id^">"|ProductionItemid->"<prod_item:"^id^">"|RsCodeBlock->"<rs_code_block>"|RsRule->"<rs_rule>"|RsProductionList->"<rs_prod_list>"|RsProductionListRandJoin->"rand join"|WeightSpecInts->s|WeightSpecId->"<weight_spec_id>"|WeightSpec->"<weight_spec>"|RsProdIf->"if"|RsProdRepeat->"repeat"|RsProdCase->"case"|RsCaseItem->"<rs_case_item>"|RsCaseItemDefault->"default"|CheckerOrGenerateItemEmpty->";"|ConditionalGenerateConstructCase->"case"|ConditionalGenerateConstructIf->"if"|ElaborationSystemTaskst->SystemTask.to_simple_stringst|CaseGenerateItem->"<case_gen_item>"|CaseGenerateItemDefault->"default"|AssignmentPattern->"<assign_pat>"|AssignmentPatternExpr->"<assign_pat_expr>"|PatternKey->"<pat_key>"|PatternKeyDefault->"default"|PatternMember->"<pat_mem>"|SimplePathDeclaration->"<simple_path_decl>"|ParallelPathDescription->"<par_path_desc>"|FullPathDescription->"<full_path_desc>"|PathInputs->"<path_inputs>"|PathOutputs->"<path_outputs>"|PathDelayValue->"<path_delay_val>"|PolarityPlus->"+"|PolarityMinus->"-"|EdgePosedge->"posedge"|EdgeNegedge->"negedge"|EdgeSensitivePathDeclaration->"<edge_sensitive_path_decl>"|ParallelEdgeSensitivePathDescription->"<par_edge_sensitive_path_desc>"|FullEdgeSensitivePathDescription->"<full_edge_sensitive_path_desc>"|ParallelEdgeSensitivePathDescriptionSub->"<par_edge_sensitive_path_desc_sub>"|FullEdgeSensitivePathDescriptionSub->"<full_edge_sensitive_path_desc_sub>"|StateDependentPathDeclarationIf->"if"|StateDependentPathDeclarationIfnone->"ifnone"|VariableLvalue->"<var_lval>"|AttributeInstance->"(* *)"|AttrSpecid->"<attr_spec:"^id^">"|UdpPortid->id|UdpPortDeclaration->"<udp_port_decl>"|UdpOutputDeclarationid->"output "^id|UdpOutputDeclarationRegid->"output reg "^id|UdpInputDeclaration->"input"|UdpRegDeclarationid->"reg "^id|SequentialBody->"<seq_body>"|CombinationalBody->"<combi_body>"|UdpInitialStmt(id,s)->"initial "^id^"="^s|SequentialEntry->"<seq_entry>"|EdgeIndicator->"<edge_ind>"|EdgeSymbols->s|LevelSymbols->s|OutputSymbols->s|CombinationalEntry->"<combi_entry>"|NextStateMinus->"-"|UdpPortsStar->"(.*)"|UdpPorts->"<udp_ports>"|UdpPortDecls->"<udp_port_decls>"|UdpDeclarationPorts->"<udp_decl_ports>"|AttributeInstances->"<attr_insts>"|ConfigDeclarationid->"config "^id|DesignStatement->"design"|CellIdid->id|LibraryIdentifierid->id|LiblistClause->"liblist"|CellClauseid->"cell "^id|UseClause->"use"|ColonConfig->":config"|InstanceName->"<instance_name>"|InstanceIdentifierid->id|TopModuleIdentifierid->id|InstClause->"instance"|ConfigRuleStatementDefault->"default"|ConfigRuleStatement->"<conf_rule_stmt>"|LibraryDeclarationid->"library "^id|Incdir->"-incdir"|FilePathSpecs->s|IncludeStatements->"include "^s^";"|PragmaExpressionid->"<pragma_expr:"^id^">"|PragmaValueTuple->"<pragma_val_tuple>"|PragmaValueNums->s|PragmaValueStrs->s|PragmaValueIdid->id|PackageImportDecls->"<package_import_decls>"|ParamPorts->"<param_ports>"|Ranges->"<ranges>"|VariableDimensions->"<variable_dimensions>"|CaseConds->"<case_conds>"|NetDeclAssignmentsids->"<net_decl_assigns:"^(String.concat","ids)^">"|ParamAssignmentsids->"<param_assigns:"^(String.concat","ids)^">"|MacroExprs->"<macro_expr:"^s^">"|MacroStmts->"<macro_stmt:"^s^">"|Var->"var"letto_tag?(strip=false)lab=ignorestrip;letname,attrs=matchlabwith|Dummy->"DUMMY",[]|Error->"ERROR",[]|Empty->"EMPTY",[]|SourceText->"SourceText",[]|LibraryText->"LibraryText",[]|CompilerDirectivecd->CompilerDirective.to_tagcd|ModuleDeclaration(mspec,id)->"ModuleDecl",[spec_attr_name,ModuleSpec.to_repmspec;ident_attr_name,id]|UdpDeclarationid->"UdpDecl",[ident_attr_name,id]|NetDeclarationids->"NetDecl",[ident_attr_name,String.concat";"ids]|BindDirectiveid->"BindDirective",[ident_attr_name,id]|Expre->Expression.to_tage|Stmtstmt->Statement.to_tagstmt|NetTypent->NetType.to_tagnt|LocalParameterDeclarationids->"LocalParamDecl",[ident_attr_name,String.concat";"ids]|ParameterDeclarationids->"ParamDecl",[ident_attr_name,String.concat";"ids]|ParameterPortDeclaration->"ParamPortDecl",[]|ModuleBody->"ModuleBody",[]|Instantiationid->"Instantiation",[ident_attr_name,id]|GateInstantiationg->"GateInstantiataion",["gate",Gate.to_simple_stringg]|ContinuousAssign->"ContinuousAssign",[]|Assign->"Assign",[]|ConcurrentAssertionItem->"ConcurrentAssertionItem",[]|DeferredImmediateAssertionItem->"DeferredImmediateAssertItem",[]|PpIdentifierid->"PpIdentifier",[ident_attr_name,id]|PackedDimension->"PackedDimension",[]|ParamAssignmentid->"ParamAssignment",[ident_attr_name,id]|DefparamAssignment->"DefparamAssign",[]|IdSelectid->"IdSelect",[ident_attr_name,id]|Select->"Select",[]|Range->"Range",[]|RangePlus->"RangePlus",[]|RangeMinus->"RangeMinus",[]|RangeForeach->"RangeForeach",[]|Root->"Root",[]|This->"This",[]|Super->"Super",[]|Cellpinid->"Cellpin",[ident_attr_name,id]|CellpinStar->"Cellpin_Star",[]|CellpinAnon->"Cellpin_Anon",[]|DelayValueid->"DelayValue",[ident_attr_name,id]|PackageScopeid->"PackageScope",[ident_attr_name,id]|PackageScopeUnit->"PackageScopeUnit",[]|PackageScopeLocal->"PackageScopeLocal",[]|PackageImportid->"PackageImport",[ident_attr_name,id]|PackageImportAny->"PackageImportAny",[]|LifetimeStatic->"LifetimeStatic",[]|LifetimeAutomatic->"LifetimeAutomatic",[]|EndLabelid->"EndLabel",[ident_attr_name,id]|EndLabelNew->"EndLabelNew",[]|ClassTypeid->"ClassType",[ident_attr_name,id]|DataTypedt->DataType.to_tagdt|ImplicitDataType->"ImplicitDataType",[]|VarDeclAssignments->"VarDeclAssignments",[]|Signed->"Signed",[]|Unsigned->"Unsigned",[]|ArgsDottedid->"ArgsDotted",[ident_attr_name,id]|Tagged->"Tagged",[]|StructUnionBody->"StructUnionBody",[]|StructUnionMember->"StructUnionMem",[]|ClassScopeIdid->"ClassScopeId",[ident_attr_name,id]|Void->"Void",[]|EnumNameDeclarationid->"EnumNameDecl",[ident_attr_name,id]|EnumBody->"EnumBody",[]|IdClassSelid->"IdClassSel",[ident_attr_name,id]|Variableid->"Var",[ident_attr_name,id]|Extern->"Extern",[]|PackageImportDeclaration->"PackageImportDecl",[]|PackageImportItemid->"PackageImportItem",[ident_attr_name,id]|Packed->"Packed",[]|ParameterValueAssignment->"ParamValAssign",[]|Ports->"Ports",[]|PortsStar->"PortsStar",[]|BitSelect->"BitSel",[]|VariableDeclAssignmentid->"VarDeclAssign",[ident_attr_name,id]|DynamicArrayNew->"DynArrayNew",[]|VariableDimension->"VarDim",[]|VariableDimensionStar->"VarDimStar",[]|GenItemBegin->"GenItemBegin",[]|GenBlockIdid->"GenBlockId",[ident_attr_name,id]|GenerateRegion->"GenerateRegion",[]|Scalared->"Scalared",[]|Vectored->"Vectored",[]|DelayControl->"DelayControl",[]|NetSigid->"NetSig",[ident_attr_name,id]|ParameterOverride->"ParamOverride",[]|PortDeclaration->"PortDecl",[]|PortDirectionpd->PortDirection.to_tagpd|Strengthstrength->Strength.to_tagstrength|StrengthSupply0->"StrengthSupply0",[]|StrengthSupply1->"StrengthSupply1",[]|StrengthSpec->"StrengthSpec",[]|VarDataType->"VarDataType",[]|Portid->"Port",[ident_attr_name,id]|InterfacePortid->"InterfacePort",[ident_attr_name,id]|InterfacePortInterface->"Interface",[]|ModportIdentifierid->"ModportId",[ident_attr_name,id]|PortMulti->"PortMulti",[]|ExprScope->"ExprScope",[]|ExprScopeThis->"ExprScopeThis",[]|ExprScopeSuper->"ExprScopeSuper",[]|ExprScopeDot->"ExprScopeDot",[]|ExprScopeDotSuper->"ExprScopeDotSuper",[]|CondPredicate->"CondPred",[]|CondPattern->"CondPat",[]|Dist->"Dist",[]|DistItem->"DistItem",[]|DistWeight->"DistWeight",[]|DistWeightRange->"DistWeightRange",[]|ArrayRange->"ArrayRange",[]|ArrayRangePlus->"ArrayRangePlus",[]|ArrayRangeMinus->"ArrayRangeMinus",[]|CastingTypeSimple->"CastingTypeSimple",[]|CastingTypeSigned->"CastingTypeSigned",[]|CastingTypeUnsigned->"CastingTypeUnsigned",[]|CastingTypeString->"CastingTypeString",[]|CastingTypeConst->"CastingTypeConst",[]|ValueRange->"ValueRange",[]|Pattern->"Pattern",[]|PatternIdid->"PatternId",[ident_attr_name,id]|PatternStar->"PatternStar",[]|PatternTaggedid->"PatternTagged",[ident_attr_name,id]|EventControl->"EventControl",[]|EventControlStar->"EventControlStar",[]|EventControlParenStar->"EventControlParenStar",[]|EventControlRepeat->"EventControlRepeat",[]|EvExpree->EventExpression.to_tagee|CaseItem->"CaseItem",[]|CaseItemDefault->"CaseItemDefault",[]|CaseInsideItem->"CaseInsideItem",[]|CaseInsideItemDefault->"CaseInsideItemDefault",[]|CaseItems->"CaseItems",[]|CaseItemsMatches->"CaseItemMatches",[]|CaseItemsInside->"CaseItemInside",[]|With->"With",[]|Args->"Args",[]|ConstraintBlock->"ConstraintBlock",[]|ForInit->"ForInit",[]|ForInitItemDTid->"ForInitItemDt",[ident_attr_name,id]|ForInitItemLval->"ForInitItemLval",[]|StreamingConcat->"StreamingConcat",[]|OrderRL->"OrderRL",[]|OrderLR->"OrderLR",[]|StreamConcat->"StreamConcat",[]|Solve->"Solve",[]|SolveBefore->"SolveBefore",[]|ActionBlock->"ActionBlock",[]|CycleDelays->"CycleDelay",["delay",XML.encode_strings]|CycleDelayIdid->"CycleDelayId",[ident_attr_name,id]|CycleDelayParen->"CycleDelayParen",[]|Priority->"Priority",[]|Unique->"Unique",[]|Unique0->"Unique0",[]|InstRange->"InstRange",[]|InstNameid->"InstName",[ident_attr_name,id]|PExprpe->PropertyExpression.to_tagpe|ClockingEventid->"ClockingEvent",[ident_attr_name,id]|ClockingEventParen->"ClockingEventParen",[]|PropertyCase->"PropertyCase",[]|PropertyCaseDefault->"PropertyCaseDefault",[]|DisableIff->"DisableIff",[]|CycleDelayRanges->"CycleDelayRange",["delay",XML.encode_strings]|CycleDelayRangeIdid->"CycleDelayRangeId",[ident_attr_name,id]|CycleDelayRangeParen->"CycleDelayRangeParen",[]|CycleDelayRangeBracket->"CycleDelayRangeBracket",[]|CycleDelayRangeBracketStar->"CycleDelayRangeBracketStar",[]|CycleDelayRangeBracketPlus->"CycleDelayRangeBracketPlus",[]|SExprse->SequenceExpression.to_tagse|ConsecutiveRepetition->"ConsecutiveRepetition",[]|NonconsecutiveRepetition->"NonconsecutiveRepetition",[]|GotoRepetition->"GotoRepetition",[]|NetAlias->"NetAlias",[]|InitialConstruct->"InitialConstruct",[]|FinalConstruct->"FinalConstruct",[]|AlwaysConstructaspec->"AlwaysConstruct",[spec_attr_name,AlwaysSpec.to_repaspec]|ConcurrentAssertionItemLabeledid->"ConcurrentAssertionItem",[label_attr_name,id]|ConcurrentAssertionStmtca->ConcurrentAssertion.to_tagca|DeferredImmediateAssertionItemLabeledid->"DeferredImmediateAssertionItem",[label_attr_name,id]|DeferredImmediateAssertionStmtdia->DeferredImmediateAssertion.to_tagdia|SimpleImmediateAssertionStmtsia->SimpleImmediateAssertion.to_tagsia|CheckerInstantiationid->"CheckerInst",[ident_attr_name,id]|LoopGenerateConstruct->"LoopGenerateConstruct",[]|GenvarDeclarationids->"GenvarDecl",[ident_attr_name,String.concat";"ids]|GenvarIterationAssign(ao,id)->"GenvarIter",["op",AssignmentOperator.to_tag_nameao;ident_attr_name,id]|GenvarIterationIncOrDec(iod,id)->"GenvarIter",["op",IncOrDecOperator.to_tag_nameiod;ident_attr_name,id]|GenvarIdDeclid->"GenvarIdDecl",[ident_attr_name,id]|GenvarInitIdid->"GenvarInitId",[ident_attr_name,id]|GenvarInit->"GenvarInit",[]|SpecifyBlock->"SpecifyBlock",[]|SpecparamDeclaration->"SpecparamDecl",[]|SpecparamAssignmentIdid->"SpecparamAssignmentId",[ident_attr_name,id]|SpecparamAssignmentPulseControlid->"SpecparamAssignmentPulseControl",[ident_attr_name,id]|PulsestyleDeclarationOnevent->"PulsestyleDeclOnevent",[]|PulsestyleDeclarationOndetect->"PulsestyleDeclOndetect",[]|ShowcancelledDeclaration->"Showcancelled",[]|NoshowcancelledDeclaration->"Noshowcancelled",[]|SpecifyTerminalDescriptor->"SpecifyTerminalDtor",[]|InputOrOutputIdid->"InputOrOutputId",[ident_attr_name,id]|InterfaceIdentifierid->"InterfaceId",[ident_attr_name,id]|ProgramDeclarationid->"ProgramDecl",[ident_attr_name,id]|InterfaceDeclarationid->"InterfaceDecl",[ident_attr_name,id]|InterfaceDeclarationExternid->"InterfaceDeclExtern",[ident_attr_name,id]|TimeUnitsDeclaration->"TimeunitsDecl",[]|TimeUnits->"Timeunit",["unit",XML.encode_strings]|Timeprecisions->"Timeprecision",["precision",XML.encode_strings]|PackageDeclarationid->"PackageDecl",[ident_attr_name,id]|AnonymousProgram->"AnonymousProg",[]|AnonymousProgramItemEmpty->"AnonymousProgItemEmpty",[]|FunctionDeclarationid->"FunctionDecl",[ident_attr_name,id]|FunctionPrototypeid->"FunctionPrototype",[ident_attr_name,id]|FuncIdid->"FunctionId",[ident_attr_name,id]|FuncIdVoidid->"FunctionIdVoid",[ident_attr_name,id]|FuncIdNew->"FunctionIdNew",[]|TfIdScopedid->"TfIdScoped",[ident_attr_name,id]|TaskDeclarationid->"TaskDecl",[ident_attr_name,id]|TaskPrototypeid->"TaskPrototype",[ident_attr_name,id]|ClassCtorPrototype->"ClassCtorProto",[]|TfPortListPart->"TfPortListPart",[]|TfBody->"TfBody",[]|TfPortDeclaration->"TfPortDecl",[]|TfPortItemAssignmentid->"TfPortItemAssign",[ident_attr_name,id]|TfPortItem->"TfPortItem",[]|TfVariableIdentifierid->"TfVarId",[ident_attr_name,id]|CheckerDeclarationid->"CheckerDecl",[ident_attr_name,id]|PropertyDeclarationid->"PropertyDecl",[ident_attr_name,id]|PropertyDeclBody->"PropertyDeclBody",[]|PropertyPortItem->"PropertyPortItem",[]|PropertyPortItemDir->"PropertyPortItemDir",[]|PropertyPortItemAssignmentid->"PropertyPortItemAssign",[ident_attr_name,id]|SequenceDeclarationid->"SequenceDecl",[ident_attr_name,id]|SequenceDeclBody->"SequenceDeclBody",[]|LetDeclarationid->"LetDecl",[ident_attr_name,id]|PropertyStatementSpec->"PropertyStmtSpec",[]|AssertionVariableDeclaration->"AssertionVarDecl",[]|SequenceFormalTypeSequence->"SequenceFormalTypeSequence",[]|SequenceFormalTypeUntyped->"SequenceFormalTypeUntyped",[]|DataDeclarationVar->"DataDeclVar",[]|Const->"Const",[]|DataDeclarationVarClass->"DataDeclVarClass",[]|TypeDeclarationid->"TypeDecl",[ident_attr_name,id]|ScopedTypeid->"ScopedType",[ident_attr_name,id]|TypeIdentifierid->"TypeId",[ident_attr_name,id]|TypeDeclEnum->"TypeDeclEnum",[]|TypeDeclStruct->"TypeDeclStruct",[]|TypeDeclUnion->"TypeDeclUnion",[]|TypeDeclClass->"TypeDeclClass",[]|VirtualInterfaceDeclarationid->"VirtualInterfaceDecl",[ident_attr_name,id]|ModportDeclarationids->"ModportDecl",[ident_attr_name,String.concat";"ids]|ModportItemid->"ModportItem",[ident_attr_name,id]|ModportSimplePortsDecl->"ModportSimplePortsDecl",[]|ModportClockingDeclid->"ModportClockingDecl",[ident_attr_name,id]|ModportTfPortsDeclImport->"ModportTfPortsDeclImport",[]|ModportTfPortsDeclExport->"ModportTfPortsDeclExport",[]|ModportSimplePortid->"ModportSimplePort",[ident_attr_name,id]|ModportSimplePortDotid->"ModportSimplePortDot.",[ident_attr_name,id]|ModportTfPortid->"ModportTfPort",[ident_attr_name,id]|CovergroupDeclarationid->"CovergroupDecl",[ident_attr_name,id]|Paren->"Paren",[]|CoverageOption(id1,id2)->"CoverageOption",["inst",id1;"opt",id2]|CoverPoint->"Coverpoint",[]|CoverPointLabeledid->"Coverpoint",[label_attr_name,id]|CoverCross->"Covercross",[]|CoverCrossLabeledid->"Covercross",[label_attr_name,id]|CrossItemid->"CrossItem",[ident_attr_name,id]|Iff->"Iff",[]|BinsList->"BinsList",[]|BinsEmpty->"BinsEmpty",[]|SelectBins->"SelectBins",[]|SelectBinsEmpty->"SelectBinsEmpty",[]|Bins(bspec,id)->"Bins",[spec_attr_name,BinsSpec.to_repbspec;ident_attr_name,id]|BinsSelection(bspec,id)->"BinsSelection",[spec_attr_name,BinsSpec.to_repbspec;ident_attr_name,id]|BinsExpressionVarid->"BinsExprVar",[ident_attr_name,id]|BinsExpression(id1,id2)->"BinsExpr",["cover_point",id1;"bins",id2]|NBins->"NBins",[]|SelCondBinsof->"SelCondBinsof",[]|SelExprNot->"SelExprNot",[]|SelExprAnd->"SelExprAnd",[]|SelExprOr->"SelExprOr",[]|SelExprParen->"SelExprParen",[]|Intersect->"Intersect",[]|Wildcard->"Wildcard",[]|TransSet->"TransSet",[]|TransRangeList->"TransRangeList",[]|RepeatRange->"RepeatRange",[]|TransItem->"TransItem",[]|TransRepetitionConsecutive->"TransRepetitionConsecutive",[]|TransRepetitionNonconsecutive->"TransRepetitionNonconsecutive",[]|TransRepetitionGoto->"TransRepetitionGoto",[]|Default->"Default",[]|DefaultSequence->"DefaultSequence",[]|OpenRangeList->"OpenRangeList",[]|CoverageEventWithid->"CoverageEventWith",[ident_attr_name,id]|CoverageEventBlockEvent->"CoverageEventBlockEvent",[]|BlockEventExpression->"BlockEventExpr",[]|BlockEventExpressionBegin->"BlockEventExprBegin",[]|BlockEventExpressionEnd->"BlockEventExprEnd",[]|HierarchicalBtfIdentifierid->"HierarchicalBtfId",[ident_attr_name,id]|PackageExportDeclarationStar->"PackageExportDeclStar",[]|PackageExportDeclaration->"PackageExportDecl",[]|DpiImports->"DpiImport",["dpi_spec",XML.encode_strings]|DpiExportFunc(s,id)->"DpiExportFunc",["dpi_spec",XML.encode_strings;ident_attr_name,id]|DpiExportTask(s,id)->"DpiExportTask",["dpi_spec",XML.encode_strings;ident_attr_name,id]|DpiImportLabelid->"DpiImportLabel",[label_attr_name,id]|DpiTfImportPropertyContext->"DpiTfImportPropertyContext",[]|DpiTfImportPropertyPure->"DpiTfImportPropertyPure",[]|ExternConstraintDeclaration->"ExternConstraintDecl",[]|Static->"Static",[]|Virtual->"Virtual",[]|ClassDeclarationid->"ClassDecl",[ident_attr_name,id]|ClassExtends->"ClassExtends",[]|ClassItemEmpty->"ClassItemEmpty",[]|ClassMethod->"ClassMethod",[]|Qualifierq->Qualifier.to_tagq|ClassBody->"ClassBody",[]|ClassConstraintid->"ClassConstraint",[ident_attr_name,id]|Pure->"Pure",[]|ClassProperty->"ClassProperty",[]|PackageOrGenerateItemEmpty->"PackageOrGenerateItemEmpty",[]|Forkjoin->"Forkjoin",[]|ExternTfDeclarationid->"ExternTfDecl",[ident_attr_name,id]|TimingChecktc->TimingCheck.to_tagtc|SystemTimingCheck->"SystemTimingCheck",[]|Notifierid->"Notifier",[ident_attr_name,id]|Delayedid->"Delayed",[ident_attr_name,id]|TimingCheckEvent->"TimingCheckEvent",[]|TimingCheckEventControlPosedge->"TimingCheckEventControlPosedge",[]|TimingCheckEventControlNegedge->"TimingCheckEventControlNegedge",[]|TimingCheckEventControl->"TimingCheckEventControl",[]|EdgeDescriptors->"EdgeDesc",["desc",s]|OverloadDeclaration(oo,id)->"OverloadDecl",["op",OverloadOperator.to_tag_nameoo;ident_attr_name,id]|Params->"Params",[]|ClockingDeclarationid->"ClockingDecl",[ident_attr_name,id]|Global->"Global",[]|ClockingBody->"Clockingbody",[]|ClockingItemDefault->"ClockingItemDefault",[]|ClockingItem->"ClockingItem",[]|DefaultSkewInput->"defaultSkewInput",[]|DefaultSkewOutput->"defaultSkewOutput",[]|DefaultSkewInputOutput->"defaultSkewInputOutput",[]|ClockingDirectionInput->"ClockingDirInput",[]|ClockingDirectionInputOutput->"ClockingDirInputOutput",[]|ClockingDirectionInout->"ClockingDirInout",[]|ClockingSkewPosedge->"ClockingSkewPosedge",[]|ClockingSkewNegedge->"ClockingSkewNegedge",[]|ClockingSkewEdge->"ClockingSkewEdge",[]|ClockingSkew->"ClockingSkew",[]|ClockingDeclAssignid->"ClockingDeclAssign",[ident_attr_name,id]|Productionid->"Production",[ident_attr_name,id]|ProductionItemid->"ProductionItem",[ident_attr_name,id]|RsCodeBlock->"RsCode_block",[]|RsRule->"RsRule",[]|RsProductionList->"RsProductionList",[]|RsProductionListRandJoin->"RsProductionListRandJoin",[]|WeightSpecInts->"WeightSpecInt",[value_attr_name,XML.encode_strings]|WeightSpecId->"WeightSpecId",[]|WeightSpec->"WeightSpec",[]|RsProdIf->"RsProdIf",[]|RsProdRepeat->"RsProdRepeat",[]|RsProdCase->"RsProdCase",[]|RsCaseItem->"RsCaseItem",[]|RsCaseItemDefault->"RsCaseItemDefault",[]|CheckerOrGenerateItemEmpty->"CheckerOrGenerateItemEmpty",[]|ConditionalGenerateConstructCase->"ConditionalGenerateConstructCase",[]|ConditionalGenerateConstructIf->"ConditionalGenerateConstructIf",[]|ElaborationSystemTaskst->"ElaborationSystemTask",["task",SystemTask.to_simple_stringst]|CaseGenerateItem->"CaseGenerateItem",[]|CaseGenerateItemDefault->"CaseGenerateItemDefault",[]|AssignmentPattern->"AssignmentPattern",[]|AssignmentPatternExpr->"AssignmentPatternExpr",[]|PatternKey->"PatternKey",[]|PatternKeyDefault->"PatternKeyDefault",[]|PatternMember->"PatternMember",[]|SimplePathDeclaration->"SimplePathDecl",[]|ParallelPathDescription->"ParallelPathDesc",[]|FullPathDescription->"FullPathDesc",[]|PathInputs->"PathInputs",[]|PathOutputs->"PathOutputs",[]|PathDelayValue->"PathDelayValue",[]|PolarityPlus->"PolarityPlus",[]|PolarityMinus->"PolarityMinus",[]|EdgePosedge->"Posedge",[]|EdgeNegedge->"Negedge",[]|EdgeSensitivePathDeclaration->"EdgeSensitivePathDecl",[]|ParallelEdgeSensitivePathDescription->"ParallelEdgeSensitivePathDesc",[]|FullEdgeSensitivePathDescription->"FullEdgeSensitivePathDesc",[]|ParallelEdgeSensitivePathDescriptionSub->"ParallelEdgeSensitivePathDesc_sub",[]|FullEdgeSensitivePathDescriptionSub->"FullEdgeSensitivePathDesc_sub",[]|StateDependentPathDeclarationIf->"StateDependentPathDeclIf",[]|StateDependentPathDeclarationIfnone->"StateDependentPathDeclIfnone",[]|VariableLvalue->"VariableLvalue",[]|AttributeInstance->"AttributeInstance",[]|AttrSpecid->"AttrSpec",[ident_attr_name,id]|UdpPortid->"UdpPort",[ident_attr_name,id]|UdpPortDeclaration->"UdpPortDecl",[]|UdpOutputDeclarationid->"UdpOutputDecl",[ident_attr_name,id]|UdpOutputDeclarationRegid->"UdpOutputDeclReg ",[ident_attr_name,id]|UdpInputDeclaration->"UdpInputDecl",[]|UdpRegDeclarationid->"UdpRegDecl",[ident_attr_name,id]|SequentialBody->"SequentialBody",[]|CombinationalBody->"CombinationalBody",[]|UdpInitialStmt(id,s)->"UdpInitialStmt",["output_port",id;value_attr_name,XML.encode_strings]|SequentialEntry->"SequentialEntry",[]|EdgeIndicator->"EdgeIndicator",[]|EdgeSymbols->"EdgeSymbol",["symbol",XML.encode_strings]|LevelSymbols->"LevelSymbol",["symbol",XML.encode_strings]|OutputSymbols->"OutputSymbol",["symbol",XML.encode_strings]|CombinationalEntry->"CombinationalEntry",[]|NextStateMinus->"NextStateMinus",[]|UdpPortsStar->"UdpPortsStar",[]|UdpPorts->"UdpPorts",[]|UdpPortDecls->"UdpPortDecls",[]|UdpDeclarationPorts->"UdpDeclPorts",[]|AttributeInstances->"AttributeInstances",[]|ConfigDeclarationid->"ConfigDecl",[ident_attr_name,id]|DesignStatement->"DesignStmt",[]|CellIdid->"CellId",[ident_attr_name,id]|LibraryIdentifierid->"LibraryId",[ident_attr_name,id]|LiblistClause->"LiblistClause",[]|CellClauseid->"CellClause",[ident_attr_name,id]|UseClause->"UseClause",[]|ColonConfig->"ColonConfig",[]|InstanceName->"InstanceName",[]|InstanceIdentifierid->"InstanceId",[ident_attr_name,id]|TopModuleIdentifierid->"TopModuleId",[ident_attr_name,id]|InstClause->"InstClause",[]|ConfigRuleStatementDefault->"ConfigRuleStmtDefault",[]|ConfigRuleStatement->"ConfigRuleStmt",[]|LibraryDeclarationid->"LibraryDecl",[ident_attr_name,id]|Incdir->"Incdir",[]|FilePathSpecs->"FilePathSpec",[path_attr_name,strlit_to_encoded_paths]|IncludeStatements->"IncludeStmt",[path_attr_name,strlit_to_encoded_paths]|PragmaExpressionid->"PragmaExpr",[ident_attr_name,id]|PragmaValueTuple->"PragmaValueTuple",[]|PragmaValueNums->"PragmaValueNumber",[value_attr_name,XML.encode_strings]|PragmaValueStrs->"PragmaValueString",[value_attr_name,XML.encode_strings]|PragmaValueIdid->"PragmaValueId",[ident_attr_name,id]|PackageImportDecls->"PackageImportDecls",[]|ParamPorts->"ParamPorts",[]|Ranges->"Ranges",[]|VariableDimensions->"VariableDimensions",[]|CaseConds->"CaseConds",[]|NetDeclAssignmentsids->"NetDeclAssignments",[ident_attr_name,String.concat";"ids]|ParamAssignmentsids->"ParamAssignments",[ident_attr_name,String.concat";"ids]|MacroExprs->"MacroExpr",[ident_attr_name,s]|MacroStmts->"MacroStmt",[ident_attr_name,s]|Var->"Var",[]inname,attrsletget_identifiers=function|NetDeclarationids|ModportDeclarationids|GenvarDeclarationids|NetDeclAssignmentsids|ParamAssignmentsids|LocalParameterDeclarationids|ParameterDeclarationids->ids|_->raiseNot_found[%%capture_pathletget_identifierlab=[%debug_log"\"%s\""(to_stringlab)];matchlabwith|Expre->Expression.get_identifiere|Stmts->Statement.get_identifiers|DataTypedt->DataType.get_identifierdt|EvExpree->EventExpression.get_identifieree|PExprpe->PropertyExpression.get_identifierpe|SExprse->SequenceExpression.get_identifierse|ModuleDeclaration(_,id)|UdpDeclarationid|BindDirectiveid|Instantiationid|PpIdentifierid|ParamAssignmentid|IdSelectid|Cellpinid|DelayValueid|PackageScopeid|PackageImportid|EndLabelid|ClassTypeid|ArgsDottedid|ClassScopeIdid|EnumNameDeclarationid|Variableid|PackageImportItemid|VariableDeclAssignmentid|GenBlockIdid|NetSigid|Portid|InterfacePortid|ModportIdentifierid|PatternIdid|PatternTaggedid|ForInitItemDTid|CycleDelayIdid|InstNameid|ClockingEventid|CycleDelayRangeIdid|ConcurrentAssertionItemLabeledid|DeferredImmediateAssertionItemLabeledid|CheckerInstantiationid|GenvarIterationAssign(_,id)|GenvarIterationIncOrDec(_,id)|GenvarIdDeclid|GenvarInitIdid|SpecparamAssignmentIdid|SpecparamAssignmentPulseControlid|InputOrOutputIdid|InterfaceIdentifierid|ProgramDeclarationid|InterfaceDeclarationid|InterfaceDeclarationExternid|PackageDeclarationid|FunctionDeclarationid|FunctionPrototypeid|FuncIdid|FuncIdVoidid|TfIdScopedid|TaskDeclarationid|TaskPrototypeid|TfPortItemAssignmentid|TfVariableIdentifierid|CheckerDeclarationid|PropertyDeclarationid|PropertyPortItemAssignmentid|SequenceDeclarationid|LetDeclarationid|TypeDeclarationid|ScopedTypeid|TypeIdentifierid|VirtualInterfaceDeclarationid|ModportItemid|ModportClockingDeclid|ModportSimplePortid|ModportSimplePortDotid|ModportTfPortid|CovergroupDeclarationid|CoverageOption(_,id)|CoverPointLabeledid|CoverCrossLabeledid|CrossItemid|Bins(_,id)|BinsSelection(_,id)|BinsExpressionVarid|BinsExpression(_,id)|CoverageEventWithid|HierarchicalBtfIdentifierid|DpiExportFunc(_,id)|DpiExportTask(_,id)|ClassDeclarationid|ClassConstraintid|ExternTfDeclarationid|Notifierid|Delayedid|OverloadDeclaration(_,id)|ClockingDeclarationid|ClockingDeclAssignid|Productionid|ProductionItemid|AttrSpecid|UdpPortid|UdpOutputDeclarationid|UdpOutputDeclarationRegid|UdpRegDeclarationid|UdpInitialStmt(id,_)|ConfigDeclarationid|CellIdid|LibraryIdentifierid|CellClauseid|InstanceIdentifierid|TopModuleIdentifierid|LibraryDeclarationid->id|FuncIdNew->"new"|_->raiseNot_found]letpexpr_to_stmt=function|PExprPropertyExpression.Case->StmtStatement.Case|PExprPropertyExpression.If->StmtStatement.Conditional|PExprx->Stmt(Statement.PExprx)|x->raise(Invalid_argument("Ast.Label.pexpr_to_stmt: "^(to_stringx)))letexpr_to_stmt=function|Exprx->Stmt(Statement.Exprx)|_->raise(Invalid_argument"Ast.Label.expr_to_stmt")letexpr_of_integral_numberi=Expr(Expression.IntegralNumberi)letexpre=Expreletexpr_uouo=Expr(Expression.UOpuo)letexpr_bobo=Expr(Expression.BOpbo)letexpr_aoao=Expr(Expression.OperatorAssignmentao)letpexprpe=PExprpeletsexprse=SExprseletev_expree=EvExpreeletstmts=Stmtsletstmt_aoao=Stmt(Statement.OperatorAssignmentao)letsia_stmtss=SimpleImmediateAssertionStmtssletdia_stmtds=DeferredImmediateAssertionStmtdsletca_stmtcs=ConcurrentAssertionStmtcsletqualifierq=Qualifierqlettiming_checktc=TimingChecktcletdata_typedt=DataTypedtletnet_typent=NetTypentletcompiler_directivecd=CompilerDirectivecdletis_error=function|Error->true|_->false