1 // generated by gen-nodes from `fire-chunk.t'. Do not edit. 2 3 #ifndef FIRE_H 4 #define FIRE_H 5 6 #include <freehdl/tree-supp.h> 7 #include <freehdl/fire-types.h> 8 #include <iostream> 9 10 extern tree_chunk_info fire_chunk_info; 11 extern tree_ctype_info fire_string_ctype_info; 12 extern tree_ctype_info bool_ctype_info; 13 extern tree_ctype_info int_ctype_info; 14 extern tree_ctype_info IR_Kind_ctype_info; 15 extern tree_ctype_info IR_Character_ctype_info; 16 extern tree_ctype_info IR_String_ctype_info; 17 extern tree_ctype_info IR_SignalKind_ctype_info; 18 extern tree_ctype_info IR_Mode_ctype_info; 19 extern tree_ctype_info IR_Pure_ctype_info; 20 extern tree_ctype_info IR_Direction_ctype_info; 21 extern tree_ctype_info IR_DelayMechanism_ctype_info; 22 extern tree_ctype_info IR_StaticLevel_ctype_info; 23 struct IIR_PosInfo; 24 typedef IIR_PosInfo *pIIR_PosInfo; 25 extern tree_kind_info IR_POS_INFO_kind_info; 26 #define IR_POS_INFO (&IR_POS_INFO_kind_info) 27 struct IIR_PosInfo_TextFile; 28 typedef IIR_PosInfo_TextFile *pIIR_PosInfo_TextFile; 29 extern tree_kind_info IR_POS_INFO_TEXT_FILE_kind_info; 30 #define IR_POS_INFO_TEXT_FILE (&IR_POS_INFO_TEXT_FILE_kind_info) 31 struct IIR_PosInfo_Sheet; 32 typedef IIR_PosInfo_Sheet *pIIR_PosInfo_Sheet; 33 extern tree_kind_info IR_POS_INFO_SHEET_kind_info; 34 #define IR_POS_INFO_SHEET (&IR_POS_INFO_SHEET_kind_info) 35 struct IIR_Root; 36 typedef IIR_Root *pIIR_Root; 37 extern tree_kind_info IR_ROOT_kind_info; 38 #define IR_ROOT (&IR_ROOT_kind_info) 39 struct IIR_Dummy; 40 typedef IIR_Dummy *pIIR_Dummy; 41 extern tree_kind_info IR_DUMMY_kind_info; 42 #define IR_DUMMY (&IR_DUMMY_kind_info) 43 struct IIR_Signature; 44 typedef IIR_Signature *pIIR_Signature; 45 extern tree_kind_info IR_SIGNATURE_kind_info; 46 #define IR_SIGNATURE (&IR_SIGNATURE_kind_info) 47 struct IIR_Literal; 48 typedef IIR_Literal *pIIR_Literal; 49 extern tree_kind_info IR_LITERAL_kind_info; 50 #define IR_LITERAL (&IR_LITERAL_kind_info) 51 struct IIR_TextLiteral; 52 typedef IIR_TextLiteral *pIIR_TextLiteral; 53 extern tree_kind_info IR_TEXT_LITERAL_kind_info; 54 #define IR_TEXT_LITERAL (&IR_TEXT_LITERAL_kind_info) 55 struct IIR_Identifier; 56 typedef IIR_Identifier *pIIR_Identifier; 57 extern tree_kind_info IR_IDENTIFIER_kind_info; 58 #define IR_IDENTIFIER (&IR_IDENTIFIER_kind_info) 59 struct IIR_CharacterLiteral; 60 typedef IIR_CharacterLiteral *pIIR_CharacterLiteral; 61 extern tree_kind_info IR_CHARACTER_LITERAL_kind_info; 62 #define IR_CHARACTER_LITERAL (&IR_CHARACTER_LITERAL_kind_info) 63 struct IIR_StringLiteral; 64 typedef IIR_StringLiteral *pIIR_StringLiteral; 65 extern tree_kind_info IR_STRING_LITERAL_kind_info; 66 #define IR_STRING_LITERAL (&IR_STRING_LITERAL_kind_info) 67 struct IIR_AbstractLiteral; 68 typedef IIR_AbstractLiteral *pIIR_AbstractLiteral; 69 extern tree_kind_info IR_ABSTRACT_LITERAL_kind_info; 70 #define IR_ABSTRACT_LITERAL (&IR_ABSTRACT_LITERAL_kind_info) 71 struct IIR_IntegerLiteral; 72 typedef IIR_IntegerLiteral *pIIR_IntegerLiteral; 73 extern tree_kind_info IR_INTEGER_LITERAL_kind_info; 74 #define IR_INTEGER_LITERAL (&IR_INTEGER_LITERAL_kind_info) 75 struct IIR_FloatingPointLiteral; 76 typedef IIR_FloatingPointLiteral *pIIR_FloatingPointLiteral; 77 extern tree_kind_info IR_FLOATING_POINT_LITERAL_kind_info; 78 #define IR_FLOATING_POINT_LITERAL (&IR_FLOATING_POINT_LITERAL_kind_info) 79 struct IIR_Tuple; 80 typedef IIR_Tuple *pIIR_Tuple; 81 extern tree_kind_info IR_TUPLE_kind_info; 82 #define IR_TUPLE (&IR_TUPLE_kind_info) 83 struct IIR_AssociationElement; 84 typedef IIR_AssociationElement *pIIR_AssociationElement; 85 extern tree_kind_info IR_ASSOCIATION_ELEMENT_kind_info; 86 #define IR_ASSOCIATION_ELEMENT (&IR_ASSOCIATION_ELEMENT_kind_info) 87 struct IIR_AssociationElementByExpression; 88 typedef IIR_AssociationElementByExpression *pIIR_AssociationElementByExpression; 89 extern tree_kind_info IR_ASSOCIATION_ELEMENT_BY_EXPRESSION_kind_info; 90 #define IR_ASSOCIATION_ELEMENT_BY_EXPRESSION (&IR_ASSOCIATION_ELEMENT_BY_EXPRESSION_kind_info) 91 struct IIR_AssociationElementOpen; 92 typedef IIR_AssociationElementOpen *pIIR_AssociationElementOpen; 93 extern tree_kind_info IR_ASSOCIATION_ELEMENT_OPEN_kind_info; 94 #define IR_ASSOCIATION_ELEMENT_OPEN (&IR_ASSOCIATION_ELEMENT_OPEN_kind_info) 95 struct IIR_CaseStatementAlternative; 96 typedef IIR_CaseStatementAlternative *pIIR_CaseStatementAlternative; 97 extern tree_kind_info IR_CASE_STATEMENT_ALTERNATIVE_kind_info; 98 #define IR_CASE_STATEMENT_ALTERNATIVE (&IR_CASE_STATEMENT_ALTERNATIVE_kind_info) 99 struct IIR_Choice; 100 typedef IIR_Choice *pIIR_Choice; 101 extern tree_kind_info IR_CHOICE_kind_info; 102 #define IR_CHOICE (&IR_CHOICE_kind_info) 103 struct IIR_ChoiceByExpression; 104 typedef IIR_ChoiceByExpression *pIIR_ChoiceByExpression; 105 extern tree_kind_info IR_CHOICE_BY_EXPRESSION_kind_info; 106 #define IR_CHOICE_BY_EXPRESSION (&IR_CHOICE_BY_EXPRESSION_kind_info) 107 struct IIR_ChoiceByRange; 108 typedef IIR_ChoiceByRange *pIIR_ChoiceByRange; 109 extern tree_kind_info IR_CHOICE_BY_RANGE_kind_info; 110 #define IR_CHOICE_BY_RANGE (&IR_CHOICE_BY_RANGE_kind_info) 111 struct IIR_ChoiceByOthers; 112 typedef IIR_ChoiceByOthers *pIIR_ChoiceByOthers; 113 extern tree_kind_info IR_CHOICE_BY_OTHERS_kind_info; 114 #define IR_CHOICE_BY_OTHERS (&IR_CHOICE_BY_OTHERS_kind_info) 115 struct IIR_EntityClassEntry; 116 typedef IIR_EntityClassEntry *pIIR_EntityClassEntry; 117 extern tree_kind_info IR_ENTITY_CLASS_ENTRY_kind_info; 118 #define IR_ENTITY_CLASS_ENTRY (&IR_ENTITY_CLASS_ENTRY_kind_info) 119 struct IIR_WaveformElement; 120 typedef IIR_WaveformElement *pIIR_WaveformElement; 121 extern tree_kind_info IR_WAVEFORM_ELEMENT_kind_info; 122 #define IR_WAVEFORM_ELEMENT (&IR_WAVEFORM_ELEMENT_kind_info) 123 struct IIR_ElementAssociation; 124 typedef IIR_ElementAssociation *pIIR_ElementAssociation; 125 extern tree_kind_info IR_ELEMENT_ASSOCIATION_kind_info; 126 #define IR_ELEMENT_ASSOCIATION (&IR_ELEMENT_ASSOCIATION_kind_info) 127 struct IIR_IndexedAssociation; 128 typedef IIR_IndexedAssociation *pIIR_IndexedAssociation; 129 extern tree_kind_info IR_INDEXED_ASSOCIATION_kind_info; 130 #define IR_INDEXED_ASSOCIATION (&IR_INDEXED_ASSOCIATION_kind_info) 131 struct IIR_SingleIndexedAssociation; 132 typedef IIR_SingleIndexedAssociation *pIIR_SingleIndexedAssociation; 133 extern tree_kind_info IR_SINGLE_INDEXED_ASSOCIATION_kind_info; 134 #define IR_SINGLE_INDEXED_ASSOCIATION (&IR_SINGLE_INDEXED_ASSOCIATION_kind_info) 135 struct IIR_RangeIndexedAssociation; 136 typedef IIR_RangeIndexedAssociation *pIIR_RangeIndexedAssociation; 137 extern tree_kind_info IR_RANGE_INDEXED_ASSOCIATION_kind_info; 138 #define IR_RANGE_INDEXED_ASSOCIATION (&IR_RANGE_INDEXED_ASSOCIATION_kind_info) 139 struct IIR_SliceIndexedAssociation; 140 typedef IIR_SliceIndexedAssociation *pIIR_SliceIndexedAssociation; 141 extern tree_kind_info IR_SLICE_INDEXED_ASSOCIATION_kind_info; 142 #define IR_SLICE_INDEXED_ASSOCIATION (&IR_SLICE_INDEXED_ASSOCIATION_kind_info) 143 struct IIR_OthersIndexedAssociation; 144 typedef IIR_OthersIndexedAssociation *pIIR_OthersIndexedAssociation; 145 extern tree_kind_info IR_OTHERS_INDEXED_ASSOCIATION_kind_info; 146 #define IR_OTHERS_INDEXED_ASSOCIATION (&IR_OTHERS_INDEXED_ASSOCIATION_kind_info) 147 struct IIR_AttributeValue; 148 typedef IIR_AttributeValue *pIIR_AttributeValue; 149 extern tree_kind_info IR_ATTRIBUTE_VALUE_kind_info; 150 #define IR_ATTRIBUTE_VALUE (&IR_ATTRIBUTE_VALUE_kind_info) 151 struct IIR_List; 152 typedef IIR_List *pIIR_List; 153 extern tree_kind_info IR_LIST_kind_info; 154 #define IR_LIST (&IR_LIST_kind_info) 155 struct IIR_AssociationList; 156 typedef IIR_AssociationList *pIIR_AssociationList; 157 extern tree_kind_info IR_ASSOCIATION_LIST_kind_info; 158 #define IR_ASSOCIATION_LIST (&IR_ASSOCIATION_LIST_kind_info) 159 pIIR_AssociationList reverse (pIIR_AssociationList); 160 struct IIR_AttributeValueList; 161 typedef IIR_AttributeValueList *pIIR_AttributeValueList; 162 extern tree_kind_info IR_ATTRIBUTE_VALUE_LIST_kind_info; 163 #define IR_ATTRIBUTE_VALUE_LIST (&IR_ATTRIBUTE_VALUE_LIST_kind_info) 164 pIIR_AttributeValueList reverse (pIIR_AttributeValueList); 165 struct IIR_CaseStatementAlternativeList; 166 typedef IIR_CaseStatementAlternativeList *pIIR_CaseStatementAlternativeList; 167 extern tree_kind_info IR_CASE_STATEMENT_ALTERNATIVE_LIST_kind_info; 168 #define IR_CASE_STATEMENT_ALTERNATIVE_LIST (&IR_CASE_STATEMENT_ALTERNATIVE_LIST_kind_info) 169 pIIR_CaseStatementAlternativeList reverse (pIIR_CaseStatementAlternativeList); 170 struct IIR_ChoiceList; 171 typedef IIR_ChoiceList *pIIR_ChoiceList; 172 extern tree_kind_info IR_CHOICE_LIST_kind_info; 173 #define IR_CHOICE_LIST (&IR_CHOICE_LIST_kind_info) 174 pIIR_ChoiceList reverse (pIIR_ChoiceList); 175 struct IIR_ConcurrentStatementList; 176 typedef IIR_ConcurrentStatementList *pIIR_ConcurrentStatementList; 177 extern tree_kind_info IR_CONCURRENT_STATEMENT_LIST_kind_info; 178 #define IR_CONCURRENT_STATEMENT_LIST (&IR_CONCURRENT_STATEMENT_LIST_kind_info) 179 pIIR_ConcurrentStatementList reverse (pIIR_ConcurrentStatementList); 180 struct IIR_ConfigurationItemList; 181 typedef IIR_ConfigurationItemList *pIIR_ConfigurationItemList; 182 extern tree_kind_info IR_CONFIGURATION_ITEM_LIST_kind_info; 183 #define IR_CONFIGURATION_ITEM_LIST (&IR_CONFIGURATION_ITEM_LIST_kind_info) 184 pIIR_ConfigurationItemList reverse (pIIR_ConfigurationItemList); 185 struct IIR_DeclarationList; 186 typedef IIR_DeclarationList *pIIR_DeclarationList; 187 extern tree_kind_info IR_DECLARATION_LIST_kind_info; 188 #define IR_DECLARATION_LIST (&IR_DECLARATION_LIST_kind_info) 189 pIIR_DeclarationList reverse (pIIR_DeclarationList); 190 struct IIR_ElementDeclarationList; 191 typedef IIR_ElementDeclarationList *pIIR_ElementDeclarationList; 192 extern tree_kind_info IR_ELEMENT_DECLARATION_LIST_kind_info; 193 #define IR_ELEMENT_DECLARATION_LIST (&IR_ELEMENT_DECLARATION_LIST_kind_info) 194 pIIR_ElementDeclarationList reverse (pIIR_ElementDeclarationList); 195 struct IIR_EntityClassEntryList; 196 typedef IIR_EntityClassEntryList *pIIR_EntityClassEntryList; 197 extern tree_kind_info IR_ENTITY_CLASS_ENTRY_LIST_kind_info; 198 #define IR_ENTITY_CLASS_ENTRY_LIST (&IR_ENTITY_CLASS_ENTRY_LIST_kind_info) 199 pIIR_EntityClassEntryList reverse (pIIR_EntityClassEntryList); 200 struct IIR_EnumerationLiteralList; 201 typedef IIR_EnumerationLiteralList *pIIR_EnumerationLiteralList; 202 extern tree_kind_info IR_ENUMERATION_LITERAL_LIST_kind_info; 203 #define IR_ENUMERATION_LITERAL_LIST (&IR_ENUMERATION_LITERAL_LIST_kind_info) 204 pIIR_EnumerationLiteralList reverse (pIIR_EnumerationLiteralList); 205 struct IIR_InterfaceList; 206 typedef IIR_InterfaceList *pIIR_InterfaceList; 207 extern tree_kind_info IR_INTERFACE_LIST_kind_info; 208 #define IR_INTERFACE_LIST (&IR_INTERFACE_LIST_kind_info) 209 pIIR_InterfaceList reverse (pIIR_InterfaceList); 210 struct IIR_LibraryUnitList; 211 typedef IIR_LibraryUnitList *pIIR_LibraryUnitList; 212 extern tree_kind_info IR_LIBRARY_UNIT_LIST_kind_info; 213 #define IR_LIBRARY_UNIT_LIST (&IR_LIBRARY_UNIT_LIST_kind_info) 214 pIIR_LibraryUnitList reverse (pIIR_LibraryUnitList); 215 struct IIR_SequentialStatementList; 216 typedef IIR_SequentialStatementList *pIIR_SequentialStatementList; 217 extern tree_kind_info IR_SEQUENTIAL_STATEMENT_LIST_kind_info; 218 #define IR_SEQUENTIAL_STATEMENT_LIST (&IR_SEQUENTIAL_STATEMENT_LIST_kind_info) 219 pIIR_SequentialStatementList reverse (pIIR_SequentialStatementList); 220 struct IIR_UnitList; 221 typedef IIR_UnitList *pIIR_UnitList; 222 extern tree_kind_info IR_UNIT_LIST_kind_info; 223 #define IR_UNIT_LIST (&IR_UNIT_LIST_kind_info) 224 pIIR_UnitList reverse (pIIR_UnitList); 225 struct IIR_WaveformList; 226 typedef IIR_WaveformList *pIIR_WaveformList; 227 extern tree_kind_info IR_WAVEFORM_LIST_kind_info; 228 #define IR_WAVEFORM_LIST (&IR_WAVEFORM_LIST_kind_info) 229 pIIR_WaveformList reverse (pIIR_WaveformList); 230 struct IIR_TypeList; 231 typedef IIR_TypeList *pIIR_TypeList; 232 extern tree_kind_info IR_TYPE_LIST_kind_info; 233 #define IR_TYPE_LIST (&IR_TYPE_LIST_kind_info) 234 pIIR_TypeList reverse (pIIR_TypeList); 235 struct IIR_ExpressionList; 236 typedef IIR_ExpressionList *pIIR_ExpressionList; 237 extern tree_kind_info IR_EXPRESSION_LIST_kind_info; 238 #define IR_EXPRESSION_LIST (&IR_EXPRESSION_LIST_kind_info) 239 pIIR_ExpressionList reverse (pIIR_ExpressionList); 240 struct IIR_IndexedAssociationList; 241 typedef IIR_IndexedAssociationList *pIIR_IndexedAssociationList; 242 extern tree_kind_info IR_INDEXED_ASSOCIATION_LIST_kind_info; 243 #define IR_INDEXED_ASSOCIATION_LIST (&IR_INDEXED_ASSOCIATION_LIST_kind_info) 244 pIIR_IndexedAssociationList reverse (pIIR_IndexedAssociationList); 245 struct IIR_ElementAssociationList; 246 typedef IIR_ElementAssociationList *pIIR_ElementAssociationList; 247 extern tree_kind_info IR_ELEMENT_ASSOCIATION_LIST_kind_info; 248 #define IR_ELEMENT_ASSOCIATION_LIST (&IR_ELEMENT_ASSOCIATION_LIST_kind_info) 249 pIIR_ElementAssociationList reverse (pIIR_ElementAssociationList); 250 struct IIR_ComponentInstantiationList; 251 typedef IIR_ComponentInstantiationList *pIIR_ComponentInstantiationList; 252 extern tree_kind_info IR_COMPONENT_INSTANTIATION_LIST_kind_info; 253 #define IR_COMPONENT_INSTANTIATION_LIST (&IR_COMPONENT_INSTANTIATION_LIST_kind_info) 254 pIIR_ComponentInstantiationList reverse (pIIR_ComponentInstantiationList); 255 struct IIR_ConfigurationSpecificationList; 256 typedef IIR_ConfigurationSpecificationList *pIIR_ConfigurationSpecificationList; 257 extern tree_kind_info IR_CONFIGURATION_SPECIFICATION_LIST_kind_info; 258 #define IR_CONFIGURATION_SPECIFICATION_LIST (&IR_CONFIGURATION_SPECIFICATION_LIST_kind_info) 259 pIIR_ConfigurationSpecificationList reverse (pIIR_ConfigurationSpecificationList); 260 struct IIR_IdentifierList; 261 typedef IIR_IdentifierList *pIIR_IdentifierList; 262 extern tree_kind_info IR_IDENTIFIER_LIST_kind_info; 263 #define IR_IDENTIFIER_LIST (&IR_IDENTIFIER_LIST_kind_info) 264 pIIR_IdentifierList reverse (pIIR_IdentifierList); 265 struct IIR_Range; 266 typedef IIR_Range *pIIR_Range; 267 extern tree_kind_info IR_RANGE_kind_info; 268 #define IR_RANGE (&IR_RANGE_kind_info) 269 struct IIR_ExplicitRange; 270 typedef IIR_ExplicitRange *pIIR_ExplicitRange; 271 extern tree_kind_info IR_EXPLICIT_RANGE_kind_info; 272 #define IR_EXPLICIT_RANGE (&IR_EXPLICIT_RANGE_kind_info) 273 struct IIR_ArrayRange; 274 typedef IIR_ArrayRange *pIIR_ArrayRange; 275 extern tree_kind_info IR_ARRAY_RANGE_kind_info; 276 #define IR_ARRAY_RANGE (&IR_ARRAY_RANGE_kind_info) 277 struct IIR_Attr_ArrayRANGE; 278 typedef IIR_Attr_ArrayRANGE *pIIR_Attr_ArrayRANGE; 279 extern tree_kind_info IR_ATTR_ARRAY_RANGE_kind_info; 280 #define IR_ATTR_ARRAY_RANGE (&IR_ATTR_ARRAY_RANGE_kind_info) 281 struct IIR_Attr_ArrayREVERSE_RANGE; 282 typedef IIR_Attr_ArrayREVERSE_RANGE *pIIR_Attr_ArrayREVERSE_RANGE; 283 extern tree_kind_info IR_ATTR_ARRAY_REVERSE_RANGE_kind_info; 284 #define IR_ATTR_ARRAY_REVERSE_RANGE (&IR_ATTR_ARRAY_REVERSE_RANGE_kind_info) 285 struct IIR_Type; 286 typedef IIR_Type *pIIR_Type; 287 extern tree_kind_info IR_TYPE_kind_info; 288 #define IR_TYPE (&IR_TYPE_kind_info) 289 struct IIR_Subtype; 290 typedef IIR_Subtype *pIIR_Subtype; 291 extern tree_kind_info IR_SUBTYPE_kind_info; 292 #define IR_SUBTYPE (&IR_SUBTYPE_kind_info) 293 struct IIR_ScalarType; 294 typedef IIR_ScalarType *pIIR_ScalarType; 295 extern tree_kind_info IR_SCALAR_TYPE_kind_info; 296 #define IR_SCALAR_TYPE (&IR_SCALAR_TYPE_kind_info) 297 struct IIR_ScalarSubtype; 298 typedef IIR_ScalarSubtype *pIIR_ScalarSubtype; 299 extern tree_kind_info IR_SCALAR_SUBTYPE_kind_info; 300 #define IR_SCALAR_SUBTYPE (&IR_SCALAR_SUBTYPE_kind_info) 301 struct IIR_EnumerationType; 302 typedef IIR_EnumerationType *pIIR_EnumerationType; 303 extern tree_kind_info IR_ENUMERATION_TYPE_kind_info; 304 #define IR_ENUMERATION_TYPE (&IR_ENUMERATION_TYPE_kind_info) 305 struct IIR_IntegerType; 306 typedef IIR_IntegerType *pIIR_IntegerType; 307 extern tree_kind_info IR_INTEGER_TYPE_kind_info; 308 #define IR_INTEGER_TYPE (&IR_INTEGER_TYPE_kind_info) 309 struct IIR_FloatingType; 310 typedef IIR_FloatingType *pIIR_FloatingType; 311 extern tree_kind_info IR_FLOATING_TYPE_kind_info; 312 #define IR_FLOATING_TYPE (&IR_FLOATING_TYPE_kind_info) 313 struct IIR_PhysicalType; 314 typedef IIR_PhysicalType *pIIR_PhysicalType; 315 extern tree_kind_info IR_PHYSICAL_TYPE_kind_info; 316 #define IR_PHYSICAL_TYPE (&IR_PHYSICAL_TYPE_kind_info) 317 struct IIR_CompositeType; 318 typedef IIR_CompositeType *pIIR_CompositeType; 319 extern tree_kind_info IR_COMPOSITE_TYPE_kind_info; 320 #define IR_COMPOSITE_TYPE (&IR_COMPOSITE_TYPE_kind_info) 321 struct IIR_RecordType; 322 typedef IIR_RecordType *pIIR_RecordType; 323 extern tree_kind_info IR_RECORD_TYPE_kind_info; 324 #define IR_RECORD_TYPE (&IR_RECORD_TYPE_kind_info) 325 struct IIR_RecordSubtype; 326 typedef IIR_RecordSubtype *pIIR_RecordSubtype; 327 extern tree_kind_info IR_RECORD_SUBTYPE_kind_info; 328 #define IR_RECORD_SUBTYPE (&IR_RECORD_SUBTYPE_kind_info) 329 struct IIR_AccessType; 330 typedef IIR_AccessType *pIIR_AccessType; 331 extern tree_kind_info IR_ACCESS_TYPE_kind_info; 332 #define IR_ACCESS_TYPE (&IR_ACCESS_TYPE_kind_info) 333 struct IIR_FileType; 334 typedef IIR_FileType *pIIR_FileType; 335 extern tree_kind_info IR_FILE_TYPE_kind_info; 336 #define IR_FILE_TYPE (&IR_FILE_TYPE_kind_info) 337 struct IIR_ArrayType; 338 typedef IIR_ArrayType *pIIR_ArrayType; 339 extern tree_kind_info IR_ARRAY_TYPE_kind_info; 340 #define IR_ARRAY_TYPE (&IR_ARRAY_TYPE_kind_info) 341 struct IIR_ArraySubtype; 342 typedef IIR_ArraySubtype *pIIR_ArraySubtype; 343 extern tree_kind_info IR_ARRAY_SUBTYPE_kind_info; 344 #define IR_ARRAY_SUBTYPE (&IR_ARRAY_SUBTYPE_kind_info) 345 struct IIR_Declaration; 346 typedef IIR_Declaration *pIIR_Declaration; 347 extern tree_kind_info IR_DECLARATION_kind_info; 348 #define IR_DECLARATION (&IR_DECLARATION_kind_info) 349 struct IIR_DeclarativeRegion; 350 typedef IIR_DeclarativeRegion *pIIR_DeclarativeRegion; 351 extern tree_kind_info IR_DECLARATIVE_REGION_kind_info; 352 #define IR_DECLARATIVE_REGION (&IR_DECLARATIVE_REGION_kind_info) 353 struct IIR_LoopDeclarativeRegion; 354 typedef IIR_LoopDeclarativeRegion *pIIR_LoopDeclarativeRegion; 355 extern tree_kind_info IR_LOOP_DECLARATIVE_REGION_kind_info; 356 #define IR_LOOP_DECLARATIVE_REGION (&IR_LOOP_DECLARATIVE_REGION_kind_info) 357 struct IIR_SubprogramDeclaration; 358 typedef IIR_SubprogramDeclaration *pIIR_SubprogramDeclaration; 359 extern tree_kind_info IR_SUBPROGRAM_DECLARATION_kind_info; 360 #define IR_SUBPROGRAM_DECLARATION (&IR_SUBPROGRAM_DECLARATION_kind_info) 361 struct IIR_ProcedureDeclaration; 362 typedef IIR_ProcedureDeclaration *pIIR_ProcedureDeclaration; 363 extern tree_kind_info IR_PROCEDURE_DECLARATION_kind_info; 364 #define IR_PROCEDURE_DECLARATION (&IR_PROCEDURE_DECLARATION_kind_info) 365 struct IIR_PredefinedProcedureDeclaration; 366 typedef IIR_PredefinedProcedureDeclaration *pIIR_PredefinedProcedureDeclaration; 367 extern tree_kind_info IR_PREDEFINED_PROCEDURE_DECLARATION_kind_info; 368 #define IR_PREDEFINED_PROCEDURE_DECLARATION (&IR_PREDEFINED_PROCEDURE_DECLARATION_kind_info) 369 struct IIR_FunctionDeclaration; 370 typedef IIR_FunctionDeclaration *pIIR_FunctionDeclaration; 371 extern tree_kind_info IR_FUNCTION_DECLARATION_kind_info; 372 #define IR_FUNCTION_DECLARATION (&IR_FUNCTION_DECLARATION_kind_info) 373 struct IIR_PredefinedFunctionDeclaration; 374 typedef IIR_PredefinedFunctionDeclaration *pIIR_PredefinedFunctionDeclaration; 375 extern tree_kind_info IR_PREDEFINED_FUNCTION_DECLARATION_kind_info; 376 #define IR_PREDEFINED_FUNCTION_DECLARATION (&IR_PREDEFINED_FUNCTION_DECLARATION_kind_info) 377 struct IIR_EnumerationLiteral; 378 typedef IIR_EnumerationLiteral *pIIR_EnumerationLiteral; 379 extern tree_kind_info IR_ENUMERATION_LITERAL_kind_info; 380 #define IR_ENUMERATION_LITERAL (&IR_ENUMERATION_LITERAL_kind_info) 381 struct IIR_ElementDeclaration; 382 typedef IIR_ElementDeclaration *pIIR_ElementDeclaration; 383 extern tree_kind_info IR_ELEMENT_DECLARATION_kind_info; 384 #define IR_ELEMENT_DECLARATION (&IR_ELEMENT_DECLARATION_kind_info) 385 struct IIR_TypeDeclaration; 386 typedef IIR_TypeDeclaration *pIIR_TypeDeclaration; 387 extern tree_kind_info IR_TYPE_DECLARATION_kind_info; 388 #define IR_TYPE_DECLARATION (&IR_TYPE_DECLARATION_kind_info) 389 struct IIR_SubtypeDeclaration; 390 typedef IIR_SubtypeDeclaration *pIIR_SubtypeDeclaration; 391 extern tree_kind_info IR_SUBTYPE_DECLARATION_kind_info; 392 #define IR_SUBTYPE_DECLARATION (&IR_SUBTYPE_DECLARATION_kind_info) 393 struct IIR_ObjectDeclaration; 394 typedef IIR_ObjectDeclaration *pIIR_ObjectDeclaration; 395 extern tree_kind_info IR_OBJECT_DECLARATION_kind_info; 396 #define IR_OBJECT_DECLARATION (&IR_OBJECT_DECLARATION_kind_info) 397 struct IIR_ConstantDeclaration; 398 typedef IIR_ConstantDeclaration *pIIR_ConstantDeclaration; 399 extern tree_kind_info IR_CONSTANT_DECLARATION_kind_info; 400 #define IR_CONSTANT_DECLARATION (&IR_CONSTANT_DECLARATION_kind_info) 401 struct IIR_VariableDeclaration; 402 typedef IIR_VariableDeclaration *pIIR_VariableDeclaration; 403 extern tree_kind_info IR_VARIABLE_DECLARATION_kind_info; 404 #define IR_VARIABLE_DECLARATION (&IR_VARIABLE_DECLARATION_kind_info) 405 struct IIR_SharedVariableDeclaration; 406 typedef IIR_SharedVariableDeclaration *pIIR_SharedVariableDeclaration; 407 extern tree_kind_info IR_SHARED_VARIABLE_DECLARATION_kind_info; 408 #define IR_SHARED_VARIABLE_DECLARATION (&IR_SHARED_VARIABLE_DECLARATION_kind_info) 409 struct IIR_SignalDeclaration; 410 typedef IIR_SignalDeclaration *pIIR_SignalDeclaration; 411 extern tree_kind_info IR_SIGNAL_DECLARATION_kind_info; 412 #define IR_SIGNAL_DECLARATION (&IR_SIGNAL_DECLARATION_kind_info) 413 struct IIR_FileDeclaration; 414 typedef IIR_FileDeclaration *pIIR_FileDeclaration; 415 extern tree_kind_info IR_FILE_DECLARATION_kind_info; 416 #define IR_FILE_DECLARATION (&IR_FILE_DECLARATION_kind_info) 417 struct IIR_InterfaceDeclaration; 418 typedef IIR_InterfaceDeclaration *pIIR_InterfaceDeclaration; 419 extern tree_kind_info IR_INTERFACE_DECLARATION_kind_info; 420 #define IR_INTERFACE_DECLARATION (&IR_INTERFACE_DECLARATION_kind_info) 421 struct IIR_ConstantInterfaceDeclaration; 422 typedef IIR_ConstantInterfaceDeclaration *pIIR_ConstantInterfaceDeclaration; 423 extern tree_kind_info IR_CONSTANT_INTERFACE_DECLARATION_kind_info; 424 #define IR_CONSTANT_INTERFACE_DECLARATION (&IR_CONSTANT_INTERFACE_DECLARATION_kind_info) 425 struct IIR_VariableInterfaceDeclaration; 426 typedef IIR_VariableInterfaceDeclaration *pIIR_VariableInterfaceDeclaration; 427 extern tree_kind_info IR_VARIABLE_INTERFACE_DECLARATION_kind_info; 428 #define IR_VARIABLE_INTERFACE_DECLARATION (&IR_VARIABLE_INTERFACE_DECLARATION_kind_info) 429 struct IIR_SignalInterfaceDeclaration; 430 typedef IIR_SignalInterfaceDeclaration *pIIR_SignalInterfaceDeclaration; 431 extern tree_kind_info IR_SIGNAL_INTERFACE_DECLARATION_kind_info; 432 #define IR_SIGNAL_INTERFACE_DECLARATION (&IR_SIGNAL_INTERFACE_DECLARATION_kind_info) 433 struct IIR_FileInterfaceDeclaration; 434 typedef IIR_FileInterfaceDeclaration *pIIR_FileInterfaceDeclaration; 435 extern tree_kind_info IR_FILE_INTERFACE_DECLARATION_kind_info; 436 #define IR_FILE_INTERFACE_DECLARATION (&IR_FILE_INTERFACE_DECLARATION_kind_info) 437 struct IIR_AttributeDeclaration; 438 typedef IIR_AttributeDeclaration *pIIR_AttributeDeclaration; 439 extern tree_kind_info IR_ATTRIBUTE_DECLARATION_kind_info; 440 #define IR_ATTRIBUTE_DECLARATION (&IR_ATTRIBUTE_DECLARATION_kind_info) 441 struct IIR_ComponentDeclaration; 442 typedef IIR_ComponentDeclaration *pIIR_ComponentDeclaration; 443 extern tree_kind_info IR_COMPONENT_DECLARATION_kind_info; 444 #define IR_COMPONENT_DECLARATION (&IR_COMPONENT_DECLARATION_kind_info) 445 struct IIR_LibraryDeclaration; 446 typedef IIR_LibraryDeclaration *pIIR_LibraryDeclaration; 447 extern tree_kind_info IR_LIBRARY_DECLARATION_kind_info; 448 #define IR_LIBRARY_DECLARATION (&IR_LIBRARY_DECLARATION_kind_info) 449 struct IIR_LibraryUnit; 450 typedef IIR_LibraryUnit *pIIR_LibraryUnit; 451 extern tree_kind_info IR_LIBRARY_UNIT_kind_info; 452 #define IR_LIBRARY_UNIT (&IR_LIBRARY_UNIT_kind_info) 453 struct IIR_EntityDeclaration; 454 typedef IIR_EntityDeclaration *pIIR_EntityDeclaration; 455 extern tree_kind_info IR_ENTITY_DECLARATION_kind_info; 456 #define IR_ENTITY_DECLARATION (&IR_ENTITY_DECLARATION_kind_info) 457 struct IIR_ArchitectureDeclaration; 458 typedef IIR_ArchitectureDeclaration *pIIR_ArchitectureDeclaration; 459 extern tree_kind_info IR_ARCHITECTURE_DECLARATION_kind_info; 460 #define IR_ARCHITECTURE_DECLARATION (&IR_ARCHITECTURE_DECLARATION_kind_info) 461 struct IIR_ArchitectureRef; 462 typedef IIR_ArchitectureRef *pIIR_ArchitectureRef; 463 extern tree_kind_info IR_ARCHITECTURE_REF_kind_info; 464 #define IR_ARCHITECTURE_REF (&IR_ARCHITECTURE_REF_kind_info) 465 struct IIR_PackageDeclaration; 466 typedef IIR_PackageDeclaration *pIIR_PackageDeclaration; 467 extern tree_kind_info IR_PACKAGE_DECLARATION_kind_info; 468 #define IR_PACKAGE_DECLARATION (&IR_PACKAGE_DECLARATION_kind_info) 469 struct IIR_PackageBodyDeclaration; 470 typedef IIR_PackageBodyDeclaration *pIIR_PackageBodyDeclaration; 471 extern tree_kind_info IR_PACKAGE_BODY_DECLARATION_kind_info; 472 #define IR_PACKAGE_BODY_DECLARATION (&IR_PACKAGE_BODY_DECLARATION_kind_info) 473 struct IIR_ConfigurationDeclaration; 474 typedef IIR_ConfigurationDeclaration *pIIR_ConfigurationDeclaration; 475 extern tree_kind_info IR_CONFIGURATION_DECLARATION_kind_info; 476 #define IR_CONFIGURATION_DECLARATION (&IR_CONFIGURATION_DECLARATION_kind_info) 477 struct IIR_ConfigurationItem; 478 typedef IIR_ConfigurationItem *pIIR_ConfigurationItem; 479 extern tree_kind_info IR_CONFIGURATION_ITEM_kind_info; 480 #define IR_CONFIGURATION_ITEM (&IR_CONFIGURATION_ITEM_kind_info) 481 struct IIR_BlockConfiguration; 482 typedef IIR_BlockConfiguration *pIIR_BlockConfiguration; 483 extern tree_kind_info IR_BLOCK_CONFIGURATION_kind_info; 484 #define IR_BLOCK_CONFIGURATION (&IR_BLOCK_CONFIGURATION_kind_info) 485 struct IIR_ComponentConfiguration; 486 typedef IIR_ComponentConfiguration *pIIR_ComponentConfiguration; 487 extern tree_kind_info IR_COMPONENT_CONFIGURATION_kind_info; 488 #define IR_COMPONENT_CONFIGURATION (&IR_COMPONENT_CONFIGURATION_kind_info) 489 struct IIR_PhysicalUnit; 490 typedef IIR_PhysicalUnit *pIIR_PhysicalUnit; 491 extern tree_kind_info IR_PHYSICAL_UNIT_kind_info; 492 #define IR_PHYSICAL_UNIT (&IR_PHYSICAL_UNIT_kind_info) 493 struct IIR_BindingIndication; 494 typedef IIR_BindingIndication *pIIR_BindingIndication; 495 extern tree_kind_info IR_BINDING_INDICATION_kind_info; 496 #define IR_BINDING_INDICATION (&IR_BINDING_INDICATION_kind_info) 497 struct IIR_ConfigurationSpecification; 498 typedef IIR_ConfigurationSpecification *pIIR_ConfigurationSpecification; 499 extern tree_kind_info IR_CONFIGURATION_SPECIFICATION_kind_info; 500 #define IR_CONFIGURATION_SPECIFICATION (&IR_CONFIGURATION_SPECIFICATION_kind_info) 501 struct IIR_DisconnectSpecification; 502 typedef IIR_DisconnectSpecification *pIIR_DisconnectSpecification; 503 extern tree_kind_info IR_DISCONNECT_SPECIFICATION_kind_info; 504 #define IR_DISCONNECT_SPECIFICATION (&IR_DISCONNECT_SPECIFICATION_kind_info) 505 struct IIR_Label; 506 typedef IIR_Label *pIIR_Label; 507 extern tree_kind_info IR_LABEL_kind_info; 508 #define IR_LABEL (&IR_LABEL_kind_info) 509 struct IIR_LibraryClause; 510 typedef IIR_LibraryClause *pIIR_LibraryClause; 511 extern tree_kind_info IR_LIBRARY_CLAUSE_kind_info; 512 #define IR_LIBRARY_CLAUSE (&IR_LIBRARY_CLAUSE_kind_info) 513 struct IIR_UseClause; 514 typedef IIR_UseClause *pIIR_UseClause; 515 extern tree_kind_info IR_USE_CLAUSE_kind_info; 516 #define IR_USE_CLAUSE (&IR_USE_CLAUSE_kind_info) 517 struct IIR_Expression; 518 typedef IIR_Expression *pIIR_Expression; 519 extern tree_kind_info IR_EXPRESSION_kind_info; 520 #define IR_EXPRESSION (&IR_EXPRESSION_kind_info) 521 struct IIR_AbstractLiteralExpression; 522 typedef IIR_AbstractLiteralExpression *pIIR_AbstractLiteralExpression; 523 extern tree_kind_info IR_ABSTRACT_LITERAL_EXPRESSION_kind_info; 524 #define IR_ABSTRACT_LITERAL_EXPRESSION (&IR_ABSTRACT_LITERAL_EXPRESSION_kind_info) 525 struct IIR_PhysicalLiteral; 526 typedef IIR_PhysicalLiteral *pIIR_PhysicalLiteral; 527 extern tree_kind_info IR_PHYSICAL_LITERAL_kind_info; 528 #define IR_PHYSICAL_LITERAL (&IR_PHYSICAL_LITERAL_kind_info) 529 struct IIR_ArrayLiteralExpression; 530 typedef IIR_ArrayLiteralExpression *pIIR_ArrayLiteralExpression; 531 extern tree_kind_info IR_ARRAY_LITERAL_EXPRESSION_kind_info; 532 #define IR_ARRAY_LITERAL_EXPRESSION (&IR_ARRAY_LITERAL_EXPRESSION_kind_info) 533 struct IIR_EnumLiteralReference; 534 typedef IIR_EnumLiteralReference *pIIR_EnumLiteralReference; 535 extern tree_kind_info IR_ENUM_LITERAL_REFERENCE_kind_info; 536 #define IR_ENUM_LITERAL_REFERENCE (&IR_ENUM_LITERAL_REFERENCE_kind_info) 537 struct IIR_NullExpression; 538 typedef IIR_NullExpression *pIIR_NullExpression; 539 extern tree_kind_info IR_NULL_EXPRESSION_kind_info; 540 #define IR_NULL_EXPRESSION (&IR_NULL_EXPRESSION_kind_info) 541 struct IIR_Aggregate; 542 typedef IIR_Aggregate *pIIR_Aggregate; 543 extern tree_kind_info IR_AGGREGATE_kind_info; 544 #define IR_AGGREGATE (&IR_AGGREGATE_kind_info) 545 struct IIR_RecordAggregate; 546 typedef IIR_RecordAggregate *pIIR_RecordAggregate; 547 extern tree_kind_info IR_RECORD_AGGREGATE_kind_info; 548 #define IR_RECORD_AGGREGATE (&IR_RECORD_AGGREGATE_kind_info) 549 struct IIR_ArtificialRecordAggregate; 550 typedef IIR_ArtificialRecordAggregate *pIIR_ArtificialRecordAggregate; 551 extern tree_kind_info IR_ARTIFICIAL_RECORD_AGGREGATE_kind_info; 552 #define IR_ARTIFICIAL_RECORD_AGGREGATE (&IR_ARTIFICIAL_RECORD_AGGREGATE_kind_info) 553 struct IIR_ArrayAggregate; 554 typedef IIR_ArrayAggregate *pIIR_ArrayAggregate; 555 extern tree_kind_info IR_ARRAY_AGGREGATE_kind_info; 556 #define IR_ARRAY_AGGREGATE (&IR_ARRAY_AGGREGATE_kind_info) 557 struct IIR_ArtificialArrayAggregate; 558 typedef IIR_ArtificialArrayAggregate *pIIR_ArtificialArrayAggregate; 559 extern tree_kind_info IR_ARTIFICIAL_ARRAY_AGGREGATE_kind_info; 560 #define IR_ARTIFICIAL_ARRAY_AGGREGATE (&IR_ARTIFICIAL_ARRAY_AGGREGATE_kind_info) 561 struct IIR_FunctionCall; 562 typedef IIR_FunctionCall *pIIR_FunctionCall; 563 extern tree_kind_info IR_FUNCTION_CALL_kind_info; 564 #define IR_FUNCTION_CALL (&IR_FUNCTION_CALL_kind_info) 565 struct IIR_QualifiedExpression; 566 typedef IIR_QualifiedExpression *pIIR_QualifiedExpression; 567 extern tree_kind_info IR_QUALIFIED_EXPRESSION_kind_info; 568 #define IR_QUALIFIED_EXPRESSION (&IR_QUALIFIED_EXPRESSION_kind_info) 569 struct IIR_TypeConversion; 570 typedef IIR_TypeConversion *pIIR_TypeConversion; 571 extern tree_kind_info IR_TYPE_CONVERSION_kind_info; 572 #define IR_TYPE_CONVERSION (&IR_TYPE_CONVERSION_kind_info) 573 struct IIR_Allocator; 574 typedef IIR_Allocator *pIIR_Allocator; 575 extern tree_kind_info IR_ALLOCATOR_kind_info; 576 #define IR_ALLOCATOR (&IR_ALLOCATOR_kind_info) 577 struct IIR_OpenExpression; 578 typedef IIR_OpenExpression *pIIR_OpenExpression; 579 extern tree_kind_info IR_OPEN_EXPRESSION_kind_info; 580 #define IR_OPEN_EXPRESSION (&IR_OPEN_EXPRESSION_kind_info) 581 struct IIR_ObjectReference; 582 typedef IIR_ObjectReference *pIIR_ObjectReference; 583 extern tree_kind_info IR_OBJECT_REFERENCE_kind_info; 584 #define IR_OBJECT_REFERENCE (&IR_OBJECT_REFERENCE_kind_info) 585 struct IIR_SimpleReference; 586 typedef IIR_SimpleReference *pIIR_SimpleReference; 587 extern tree_kind_info IR_SIMPLE_REFERENCE_kind_info; 588 #define IR_SIMPLE_REFERENCE (&IR_SIMPLE_REFERENCE_kind_info) 589 struct IIR_AccessReference; 590 typedef IIR_AccessReference *pIIR_AccessReference; 591 extern tree_kind_info IR_ACCESS_REFERENCE_kind_info; 592 #define IR_ACCESS_REFERENCE (&IR_ACCESS_REFERENCE_kind_info) 593 struct IIR_RecordReference; 594 typedef IIR_RecordReference *pIIR_RecordReference; 595 extern tree_kind_info IR_RECORD_REFERENCE_kind_info; 596 #define IR_RECORD_REFERENCE (&IR_RECORD_REFERENCE_kind_info) 597 struct IIR_GenericArrayReference; 598 typedef IIR_GenericArrayReference *pIIR_GenericArrayReference; 599 extern tree_kind_info IR_GENERIC_ARRAY_REFERENCE_kind_info; 600 #define IR_GENERIC_ARRAY_REFERENCE (&IR_GENERIC_ARRAY_REFERENCE_kind_info) 601 struct IIR_ArrayReference; 602 typedef IIR_ArrayReference *pIIR_ArrayReference; 603 extern tree_kind_info IR_ARRAY_REFERENCE_kind_info; 604 #define IR_ARRAY_REFERENCE (&IR_ARRAY_REFERENCE_kind_info) 605 struct IIR_SliceReference; 606 typedef IIR_SliceReference *pIIR_SliceReference; 607 extern tree_kind_info IR_SLICE_REFERENCE_kind_info; 608 #define IR_SLICE_REFERENCE (&IR_SLICE_REFERENCE_kind_info) 609 struct IIR_SignalAttr; 610 typedef IIR_SignalAttr *pIIR_SignalAttr; 611 extern tree_kind_info IR_SIGNAL_ATTR_kind_info; 612 #define IR_SIGNAL_ATTR (&IR_SIGNAL_ATTR_kind_info) 613 struct IIR_Attr_DELAYED; 614 typedef IIR_Attr_DELAYED *pIIR_Attr_DELAYED; 615 extern tree_kind_info IR_ATTR_DELAYED_kind_info; 616 #define IR_ATTR_DELAYED (&IR_ATTR_DELAYED_kind_info) 617 struct IIR_Attr_STABLE; 618 typedef IIR_Attr_STABLE *pIIR_Attr_STABLE; 619 extern tree_kind_info IR_ATTR_STABLE_kind_info; 620 #define IR_ATTR_STABLE (&IR_ATTR_STABLE_kind_info) 621 struct IIR_Attr_QUIET; 622 typedef IIR_Attr_QUIET *pIIR_Attr_QUIET; 623 extern tree_kind_info IR_ATTR_QUIET_kind_info; 624 #define IR_ATTR_QUIET (&IR_ATTR_QUIET_kind_info) 625 struct IIR_Attr_TRANSACTION; 626 typedef IIR_Attr_TRANSACTION *pIIR_Attr_TRANSACTION; 627 extern tree_kind_info IR_ATTR_TRANSACTION_kind_info; 628 #define IR_ATTR_TRANSACTION (&IR_ATTR_TRANSACTION_kind_info) 629 struct IIR_FunctionAttr; 630 typedef IIR_FunctionAttr *pIIR_FunctionAttr; 631 extern tree_kind_info IR_FUNCTION_ATTR_kind_info; 632 #define IR_FUNCTION_ATTR (&IR_FUNCTION_ATTR_kind_info) 633 struct IIR_AttrSigFunc; 634 typedef IIR_AttrSigFunc *pIIR_AttrSigFunc; 635 extern tree_kind_info IR_ATTR_SIG_FUNC_kind_info; 636 #define IR_ATTR_SIG_FUNC (&IR_ATTR_SIG_FUNC_kind_info) 637 struct IIR_Attr_EVENT; 638 typedef IIR_Attr_EVENT *pIIR_Attr_EVENT; 639 extern tree_kind_info IR_ATTR_EVENT_kind_info; 640 #define IR_ATTR_EVENT (&IR_ATTR_EVENT_kind_info) 641 struct IIR_Attr_ACTIVE; 642 typedef IIR_Attr_ACTIVE *pIIR_Attr_ACTIVE; 643 extern tree_kind_info IR_ATTR_ACTIVE_kind_info; 644 #define IR_ATTR_ACTIVE (&IR_ATTR_ACTIVE_kind_info) 645 struct IIR_Attr_LAST_EVENT; 646 typedef IIR_Attr_LAST_EVENT *pIIR_Attr_LAST_EVENT; 647 extern tree_kind_info IR_ATTR_LAST_EVENT_kind_info; 648 #define IR_ATTR_LAST_EVENT (&IR_ATTR_LAST_EVENT_kind_info) 649 struct IIR_Attr_LAST_ACTIVE; 650 typedef IIR_Attr_LAST_ACTIVE *pIIR_Attr_LAST_ACTIVE; 651 extern tree_kind_info IR_ATTR_LAST_ACTIVE_kind_info; 652 #define IR_ATTR_LAST_ACTIVE (&IR_ATTR_LAST_ACTIVE_kind_info) 653 struct IIR_Attr_LAST_VALUE; 654 typedef IIR_Attr_LAST_VALUE *pIIR_Attr_LAST_VALUE; 655 extern tree_kind_info IR_ATTR_LAST_VALUE_kind_info; 656 #define IR_ATTR_LAST_VALUE (&IR_ATTR_LAST_VALUE_kind_info) 657 struct IIR_Attr_DRIVING; 658 typedef IIR_Attr_DRIVING *pIIR_Attr_DRIVING; 659 extern tree_kind_info IR_ATTR_DRIVING_kind_info; 660 #define IR_ATTR_DRIVING (&IR_ATTR_DRIVING_kind_info) 661 struct IIR_Attr_DRIVING_VALUE; 662 typedef IIR_Attr_DRIVING_VALUE *pIIR_Attr_DRIVING_VALUE; 663 extern tree_kind_info IR_ATTR_DRIVING_VALUE_kind_info; 664 #define IR_ATTR_DRIVING_VALUE (&IR_ATTR_DRIVING_VALUE_kind_info) 665 struct IIR_ValueAttr; 666 typedef IIR_ValueAttr *pIIR_ValueAttr; 667 extern tree_kind_info IR_VALUE_ATTR_kind_info; 668 #define IR_VALUE_ATTR (&IR_VALUE_ATTR_kind_info) 669 struct IIR_AttrTypeValue; 670 typedef IIR_AttrTypeValue *pIIR_AttrTypeValue; 671 extern tree_kind_info IR_ATTR_TYPE_VALUE_kind_info; 672 #define IR_ATTR_TYPE_VALUE (&IR_ATTR_TYPE_VALUE_kind_info) 673 struct IIR_Attr_LEFT; 674 typedef IIR_Attr_LEFT *pIIR_Attr_LEFT; 675 extern tree_kind_info IR_ATTR_LEFT_kind_info; 676 #define IR_ATTR_LEFT (&IR_ATTR_LEFT_kind_info) 677 struct IIR_Attr_RIGHT; 678 typedef IIR_Attr_RIGHT *pIIR_Attr_RIGHT; 679 extern tree_kind_info IR_ATTR_RIGHT_kind_info; 680 #define IR_ATTR_RIGHT (&IR_ATTR_RIGHT_kind_info) 681 struct IIR_Attr_LOW; 682 typedef IIR_Attr_LOW *pIIR_Attr_LOW; 683 extern tree_kind_info IR_ATTR_LOW_kind_info; 684 #define IR_ATTR_LOW (&IR_ATTR_LOW_kind_info) 685 struct IIR_Attr_HIGH; 686 typedef IIR_Attr_HIGH *pIIR_Attr_HIGH; 687 extern tree_kind_info IR_ATTR_HIGH_kind_info; 688 #define IR_ATTR_HIGH (&IR_ATTR_HIGH_kind_info) 689 struct IIR_Attr_ASCENDING; 690 typedef IIR_Attr_ASCENDING *pIIR_Attr_ASCENDING; 691 extern tree_kind_info IR_ATTR_ASCENDING_kind_info; 692 #define IR_ATTR_ASCENDING (&IR_ATTR_ASCENDING_kind_info) 693 struct IIR_Attr_LENGTH; 694 typedef IIR_Attr_LENGTH *pIIR_Attr_LENGTH; 695 extern tree_kind_info IR_ATTR_LENGTH_kind_info; 696 #define IR_ATTR_LENGTH (&IR_ATTR_LENGTH_kind_info) 697 struct IIR_AttrTypeFunc; 698 typedef IIR_AttrTypeFunc *pIIR_AttrTypeFunc; 699 extern tree_kind_info IR_ATTR_TYPE_FUNC_kind_info; 700 #define IR_ATTR_TYPE_FUNC (&IR_ATTR_TYPE_FUNC_kind_info) 701 struct IIR_Attr_IMAGE; 702 typedef IIR_Attr_IMAGE *pIIR_Attr_IMAGE; 703 extern tree_kind_info IR_ATTR_IMAGE_kind_info; 704 #define IR_ATTR_IMAGE (&IR_ATTR_IMAGE_kind_info) 705 struct IIR_Attr_VALUE; 706 typedef IIR_Attr_VALUE *pIIR_Attr_VALUE; 707 extern tree_kind_info IR_ATTR_VALUE_kind_info; 708 #define IR_ATTR_VALUE (&IR_ATTR_VALUE_kind_info) 709 struct IIR_Attr_POS; 710 typedef IIR_Attr_POS *pIIR_Attr_POS; 711 extern tree_kind_info IR_ATTR_POS_kind_info; 712 #define IR_ATTR_POS (&IR_ATTR_POS_kind_info) 713 struct IIR_Attr_VAL; 714 typedef IIR_Attr_VAL *pIIR_Attr_VAL; 715 extern tree_kind_info IR_ATTR_VAL_kind_info; 716 #define IR_ATTR_VAL (&IR_ATTR_VAL_kind_info) 717 struct IIR_Attr_SUCC; 718 typedef IIR_Attr_SUCC *pIIR_Attr_SUCC; 719 extern tree_kind_info IR_ATTR_SUCC_kind_info; 720 #define IR_ATTR_SUCC (&IR_ATTR_SUCC_kind_info) 721 struct IIR_Attr_PRED; 722 typedef IIR_Attr_PRED *pIIR_Attr_PRED; 723 extern tree_kind_info IR_ATTR_PRED_kind_info; 724 #define IR_ATTR_PRED (&IR_ATTR_PRED_kind_info) 725 struct IIR_Attr_LEFTOF; 726 typedef IIR_Attr_LEFTOF *pIIR_Attr_LEFTOF; 727 extern tree_kind_info IR_ATTR_LEFTOF_kind_info; 728 #define IR_ATTR_LEFTOF (&IR_ATTR_LEFTOF_kind_info) 729 struct IIR_Attr_RIGHTOF; 730 typedef IIR_Attr_RIGHTOF *pIIR_Attr_RIGHTOF; 731 extern tree_kind_info IR_ATTR_RIGHTOF_kind_info; 732 #define IR_ATTR_RIGHTOF (&IR_ATTR_RIGHTOF_kind_info) 733 struct IIR_AttrArrayFunc; 734 typedef IIR_AttrArrayFunc *pIIR_AttrArrayFunc; 735 extern tree_kind_info IR_ATTR_ARRAY_FUNC_kind_info; 736 #define IR_ATTR_ARRAY_FUNC (&IR_ATTR_ARRAY_FUNC_kind_info) 737 struct IIR_Attr_ArrayLEFT; 738 typedef IIR_Attr_ArrayLEFT *pIIR_Attr_ArrayLEFT; 739 extern tree_kind_info IR_ATTR_ARRAY_LEFT_kind_info; 740 #define IR_ATTR_ARRAY_LEFT (&IR_ATTR_ARRAY_LEFT_kind_info) 741 struct IIR_Attr_ArrayRIGHT; 742 typedef IIR_Attr_ArrayRIGHT *pIIR_Attr_ArrayRIGHT; 743 extern tree_kind_info IR_ATTR_ARRAY_RIGHT_kind_info; 744 #define IR_ATTR_ARRAY_RIGHT (&IR_ATTR_ARRAY_RIGHT_kind_info) 745 struct IIR_Attr_ArrayHIGH; 746 typedef IIR_Attr_ArrayHIGH *pIIR_Attr_ArrayHIGH; 747 extern tree_kind_info IR_ATTR_ARRAY_HIGH_kind_info; 748 #define IR_ATTR_ARRAY_HIGH (&IR_ATTR_ARRAY_HIGH_kind_info) 749 struct IIR_Attr_ArrayLOW; 750 typedef IIR_Attr_ArrayLOW *pIIR_Attr_ArrayLOW; 751 extern tree_kind_info IR_ATTR_ARRAY_LOW_kind_info; 752 #define IR_ATTR_ARRAY_LOW (&IR_ATTR_ARRAY_LOW_kind_info) 753 struct IIR_Attr_ArrayASCENDING; 754 typedef IIR_Attr_ArrayASCENDING *pIIR_Attr_ArrayASCENDING; 755 extern tree_kind_info IR_ATTR_ARRAY_ASCENDING_kind_info; 756 #define IR_ATTR_ARRAY_ASCENDING (&IR_ATTR_ARRAY_ASCENDING_kind_info) 757 struct IIR_Attr_ArrayLENGTH; 758 typedef IIR_Attr_ArrayLENGTH *pIIR_Attr_ArrayLENGTH; 759 extern tree_kind_info IR_ATTR_ARRAY_LENGTH_kind_info; 760 #define IR_ATTR_ARRAY_LENGTH (&IR_ATTR_ARRAY_LENGTH_kind_info) 761 struct IIR_SequentialStatement; 762 typedef IIR_SequentialStatement *pIIR_SequentialStatement; 763 extern tree_kind_info IR_SEQUENTIAL_STATEMENT_kind_info; 764 #define IR_SEQUENTIAL_STATEMENT (&IR_SEQUENTIAL_STATEMENT_kind_info) 765 struct IIR_WaitStatement; 766 typedef IIR_WaitStatement *pIIR_WaitStatement; 767 extern tree_kind_info IR_WAIT_STATEMENT_kind_info; 768 #define IR_WAIT_STATEMENT (&IR_WAIT_STATEMENT_kind_info) 769 struct IIR_AssertionStatement; 770 typedef IIR_AssertionStatement *pIIR_AssertionStatement; 771 extern tree_kind_info IR_ASSERTION_STATEMENT_kind_info; 772 #define IR_ASSERTION_STATEMENT (&IR_ASSERTION_STATEMENT_kind_info) 773 struct IIR_ReportStatement; 774 typedef IIR_ReportStatement *pIIR_ReportStatement; 775 extern tree_kind_info IR_REPORT_STATEMENT_kind_info; 776 #define IR_REPORT_STATEMENT (&IR_REPORT_STATEMENT_kind_info) 777 struct IIR_SignalAssignmentStatement; 778 typedef IIR_SignalAssignmentStatement *pIIR_SignalAssignmentStatement; 779 extern tree_kind_info IR_SIGNAL_ASSIGNMENT_STATEMENT_kind_info; 780 #define IR_SIGNAL_ASSIGNMENT_STATEMENT (&IR_SIGNAL_ASSIGNMENT_STATEMENT_kind_info) 781 struct IIR_VariableAssignmentStatement; 782 typedef IIR_VariableAssignmentStatement *pIIR_VariableAssignmentStatement; 783 extern tree_kind_info IR_VARIABLE_ASSIGNMENT_STATEMENT_kind_info; 784 #define IR_VARIABLE_ASSIGNMENT_STATEMENT (&IR_VARIABLE_ASSIGNMENT_STATEMENT_kind_info) 785 struct IIR_ProcedureCallStatement; 786 typedef IIR_ProcedureCallStatement *pIIR_ProcedureCallStatement; 787 extern tree_kind_info IR_PROCEDURE_CALL_STATEMENT_kind_info; 788 #define IR_PROCEDURE_CALL_STATEMENT (&IR_PROCEDURE_CALL_STATEMENT_kind_info) 789 struct IIR_IfStatement; 790 typedef IIR_IfStatement *pIIR_IfStatement; 791 extern tree_kind_info IR_IF_STATEMENT_kind_info; 792 #define IR_IF_STATEMENT (&IR_IF_STATEMENT_kind_info) 793 struct IIR_CaseStatement; 794 typedef IIR_CaseStatement *pIIR_CaseStatement; 795 extern tree_kind_info IR_CASE_STATEMENT_kind_info; 796 #define IR_CASE_STATEMENT (&IR_CASE_STATEMENT_kind_info) 797 struct IIR_LoopStatement; 798 typedef IIR_LoopStatement *pIIR_LoopStatement; 799 extern tree_kind_info IR_LOOP_STATEMENT_kind_info; 800 #define IR_LOOP_STATEMENT (&IR_LOOP_STATEMENT_kind_info) 801 struct IIR_ForLoopStatement; 802 typedef IIR_ForLoopStatement *pIIR_ForLoopStatement; 803 extern tree_kind_info IR_FOR_LOOP_STATEMENT_kind_info; 804 #define IR_FOR_LOOP_STATEMENT (&IR_FOR_LOOP_STATEMENT_kind_info) 805 struct IIR_WhileLoopStatement; 806 typedef IIR_WhileLoopStatement *pIIR_WhileLoopStatement; 807 extern tree_kind_info IR_WHILE_LOOP_STATEMENT_kind_info; 808 #define IR_WHILE_LOOP_STATEMENT (&IR_WHILE_LOOP_STATEMENT_kind_info) 809 struct IIR_LoopControlStatement; 810 typedef IIR_LoopControlStatement *pIIR_LoopControlStatement; 811 extern tree_kind_info IR_LOOP_CONTROL_STATEMENT_kind_info; 812 #define IR_LOOP_CONTROL_STATEMENT (&IR_LOOP_CONTROL_STATEMENT_kind_info) 813 struct IIR_NextStatement; 814 typedef IIR_NextStatement *pIIR_NextStatement; 815 extern tree_kind_info IR_NEXT_STATEMENT_kind_info; 816 #define IR_NEXT_STATEMENT (&IR_NEXT_STATEMENT_kind_info) 817 struct IIR_ExitStatement; 818 typedef IIR_ExitStatement *pIIR_ExitStatement; 819 extern tree_kind_info IR_EXIT_STATEMENT_kind_info; 820 #define IR_EXIT_STATEMENT (&IR_EXIT_STATEMENT_kind_info) 821 struct IIR_ReturnStatement; 822 typedef IIR_ReturnStatement *pIIR_ReturnStatement; 823 extern tree_kind_info IR_RETURN_STATEMENT_kind_info; 824 #define IR_RETURN_STATEMENT (&IR_RETURN_STATEMENT_kind_info) 825 struct IIR_NullStatement; 826 typedef IIR_NullStatement *pIIR_NullStatement; 827 extern tree_kind_info IR_NULL_STATEMENT_kind_info; 828 #define IR_NULL_STATEMENT (&IR_NULL_STATEMENT_kind_info) 829 struct IIR_ConcurrentStatement; 830 typedef IIR_ConcurrentStatement *pIIR_ConcurrentStatement; 831 extern tree_kind_info IR_CONCURRENT_STATEMENT_kind_info; 832 #define IR_CONCURRENT_STATEMENT (&IR_CONCURRENT_STATEMENT_kind_info) 833 struct IIR_BlockStatement; 834 typedef IIR_BlockStatement *pIIR_BlockStatement; 835 extern tree_kind_info IR_BLOCK_STATEMENT_kind_info; 836 #define IR_BLOCK_STATEMENT (&IR_BLOCK_STATEMENT_kind_info) 837 struct IIR_ProcessStatement; 838 typedef IIR_ProcessStatement *pIIR_ProcessStatement; 839 extern tree_kind_info IR_PROCESS_STATEMENT_kind_info; 840 #define IR_PROCESS_STATEMENT (&IR_PROCESS_STATEMENT_kind_info) 841 struct IIR_ImplicitProcessStatement; 842 typedef IIR_ImplicitProcessStatement *pIIR_ImplicitProcessStatement; 843 extern tree_kind_info IR_IMPLICIT_PROCESS_STATEMENT_kind_info; 844 #define IR_IMPLICIT_PROCESS_STATEMENT (&IR_IMPLICIT_PROCESS_STATEMENT_kind_info) 845 struct IIR_SensitizedProcessStatement; 846 typedef IIR_SensitizedProcessStatement *pIIR_SensitizedProcessStatement; 847 extern tree_kind_info IR_SENSITIZED_PROCESS_STATEMENT_kind_info; 848 #define IR_SENSITIZED_PROCESS_STATEMENT (&IR_SENSITIZED_PROCESS_STATEMENT_kind_info) 849 struct IIR_ComponentInstantiationStatement; 850 typedef IIR_ComponentInstantiationStatement *pIIR_ComponentInstantiationStatement; 851 extern tree_kind_info IR_COMPONENT_INSTANTIATION_STATEMENT_kind_info; 852 #define IR_COMPONENT_INSTANTIATION_STATEMENT (&IR_COMPONENT_INSTANTIATION_STATEMENT_kind_info) 853 struct IIR_ConcurrentGenerateStatement; 854 typedef IIR_ConcurrentGenerateStatement *pIIR_ConcurrentGenerateStatement; 855 extern tree_kind_info IR_CONCURRENT_GENERATE_STATEMENT_kind_info; 856 #define IR_CONCURRENT_GENERATE_STATEMENT (&IR_CONCURRENT_GENERATE_STATEMENT_kind_info) 857 struct IIR_ConcurrentGenerateForStatement; 858 typedef IIR_ConcurrentGenerateForStatement *pIIR_ConcurrentGenerateForStatement; 859 extern tree_kind_info IR_CONCURRENT_GENERATE_FOR_STATEMENT_kind_info; 860 #define IR_CONCURRENT_GENERATE_FOR_STATEMENT (&IR_CONCURRENT_GENERATE_FOR_STATEMENT_kind_info) 861 struct IIR_ConcurrentGenerateIfStatement; 862 typedef IIR_ConcurrentGenerateIfStatement *pIIR_ConcurrentGenerateIfStatement; 863 extern tree_kind_info IR_CONCURRENT_GENERATE_IF_STATEMENT_kind_info; 864 #define IR_CONCURRENT_GENERATE_IF_STATEMENT (&IR_CONCURRENT_GENERATE_IF_STATEMENT_kind_info) 865 866 struct IIR_PosInfo : tree_base_node { 867 IIR_PosInfoIIR_PosInfo868 IIR_PosInfo () 869 { } 870 871 tree_kind kind (); 872 }; 873 874 struct IIR_PosInfo_TextFile : IIR_PosInfo { 875 const char* file_name; 876 int line_number; 877 IIR_PosInfo_TextFileIIR_PosInfo_TextFile878 IIR_PosInfo_TextFile (const char* file_name, int line_number) 879 : IIR_PosInfo (), 880 file_name (file_name), 881 line_number (line_number) 882 { } 883 884 tree_kind kind (); 885 }; 886 887 struct IIR_PosInfo_Sheet : IIR_PosInfo { 888 const char* sheet_name; 889 int x_coordinate; 890 int y_coordinate; 891 IIR_PosInfo_SheetIIR_PosInfo_Sheet892 IIR_PosInfo_Sheet (const char* sheet_name, int x_coordinate, int y_coordinate) 893 : IIR_PosInfo (), 894 sheet_name (sheet_name), 895 x_coordinate (x_coordinate), 896 y_coordinate (y_coordinate) 897 { } 898 899 tree_kind kind (); 900 }; 901 902 struct IIR_Root : tree_base_node { 903 pIIR_PosInfo pos; 904 IIR_RootIIR_Root905 IIR_Root (pIIR_PosInfo pos) 906 : pos (pos) 907 { } 908 909 tree_kind kind (); 910 }; 911 912 struct IIR_Dummy : IIR_Root { 913 IIR_DummyIIR_Dummy914 IIR_Dummy (pIIR_PosInfo pos) 915 : IIR_Root (pos) 916 { } 917 918 tree_kind kind (); 919 }; 920 921 struct IIR_Signature : IIR_Dummy { 922 IIR_SignatureIIR_Signature923 IIR_Signature (pIIR_PosInfo pos) 924 : IIR_Dummy (pos) 925 { } 926 927 tree_kind kind (); 928 }; 929 930 struct IIR_Literal : IIR_Root { 931 IIR_LiteralIIR_Literal932 IIR_Literal (pIIR_PosInfo pos) 933 : IIR_Root (pos) 934 { } 935 936 tree_kind kind (); 937 }; 938 939 struct IIR_TextLiteral : IIR_Literal { 940 IR_String text; 941 IIR_TextLiteralIIR_TextLiteral942 IIR_TextLiteral (pIIR_PosInfo pos, IR_String text) 943 : IIR_Literal (pos), 944 text (text) 945 { } 946 947 tree_kind kind (); 948 }; 949 950 struct IIR_Identifier : IIR_TextLiteral { 951 IIR_IdentifierIIR_Identifier952 IIR_Identifier (pIIR_PosInfo pos, IR_String text) 953 : IIR_TextLiteral (pos, text) 954 { } 955 956 tree_kind kind (); 957 }; 958 959 struct IIR_CharacterLiteral : IIR_TextLiteral { 960 IIR_CharacterLiteralIIR_CharacterLiteral961 IIR_CharacterLiteral (pIIR_PosInfo pos, IR_String text) 962 : IIR_TextLiteral (pos, text) 963 { } 964 965 tree_kind kind (); 966 }; 967 968 struct IIR_StringLiteral : IIR_TextLiteral { 969 IIR_StringLiteralIIR_StringLiteral970 IIR_StringLiteral (pIIR_PosInfo pos, IR_String text) 971 : IIR_TextLiteral (pos, text) 972 { } 973 974 tree_kind kind (); 975 }; 976 977 struct IIR_AbstractLiteral : IIR_Literal { 978 IIR_AbstractLiteralIIR_AbstractLiteral979 IIR_AbstractLiteral (pIIR_PosInfo pos) 980 : IIR_Literal (pos) 981 { } 982 983 tree_kind kind (); 984 }; 985 986 struct IIR_IntegerLiteral : IIR_AbstractLiteral { 987 IR_String text; 988 IIR_IntegerLiteralIIR_IntegerLiteral989 IIR_IntegerLiteral (pIIR_PosInfo pos, IR_String text) 990 : IIR_AbstractLiteral (pos), 991 text (text) 992 { } 993 994 tree_kind kind (); 995 }; 996 997 struct IIR_FloatingPointLiteral : IIR_AbstractLiteral { 998 IR_String text; 999 IIR_FloatingPointLiteralIIR_FloatingPointLiteral1000 IIR_FloatingPointLiteral (pIIR_PosInfo pos, IR_String text) 1001 : IIR_AbstractLiteral (pos), 1002 text (text) 1003 { } 1004 1005 tree_kind kind (); 1006 }; 1007 1008 struct IIR_Tuple : IIR_Root { 1009 IIR_TupleIIR_Tuple1010 IIR_Tuple (pIIR_PosInfo pos) 1011 : IIR_Root (pos) 1012 { } 1013 1014 tree_kind kind (); 1015 }; 1016 1017 struct IIR_AssociationElement : IIR_Tuple { 1018 pIIR_ObjectReference formal; 1019 pIIR_InterfaceDeclaration formal_declaration; 1020 pIIR_Declaration formal_conversion; 1021 pIIR_Expression actual; 1022 pIIR_Declaration actual_conversion; 1023 IIR_AssociationElementIIR_AssociationElement1024 IIR_AssociationElement (pIIR_PosInfo pos, pIIR_ObjectReference formal, pIIR_InterfaceDeclaration formal_declaration, pIIR_Declaration formal_conversion, pIIR_Expression actual, pIIR_Declaration actual_conversion) 1025 : IIR_Tuple (pos), 1026 formal (formal), 1027 formal_declaration (formal_declaration), 1028 formal_conversion (formal_conversion), 1029 actual (actual), 1030 actual_conversion (actual_conversion) 1031 { } 1032 1033 tree_kind kind (); 1034 }; 1035 1036 struct IIR_AssociationElementByExpression : IIR_AssociationElement { 1037 IIR_AssociationElementByExpressionIIR_AssociationElementByExpression1038 IIR_AssociationElementByExpression (pIIR_PosInfo pos, pIIR_ObjectReference formal, pIIR_InterfaceDeclaration formal_declaration, pIIR_Declaration formal_conversion, pIIR_Expression actual, pIIR_Declaration actual_conversion) 1039 : IIR_AssociationElement (pos, formal, formal_declaration, formal_conversion, actual, actual_conversion) 1040 { } 1041 1042 tree_kind kind (); 1043 }; 1044 1045 struct IIR_AssociationElementOpen : IIR_AssociationElement { 1046 IIR_AssociationElementOpenIIR_AssociationElementOpen1047 IIR_AssociationElementOpen (pIIR_PosInfo pos, pIIR_ObjectReference formal, pIIR_InterfaceDeclaration formal_declaration, pIIR_Declaration formal_conversion, pIIR_Expression actual, pIIR_Declaration actual_conversion) 1048 : IIR_AssociationElement (pos, formal, formal_declaration, formal_conversion, actual, actual_conversion) 1049 { } 1050 1051 tree_kind kind (); 1052 }; 1053 1054 struct IIR_CaseStatementAlternative : IIR_Tuple { 1055 pIIR_SequentialStatementList sequence_of_statements; 1056 pIIR_ChoiceList choices; 1057 IIR_CaseStatementAlternativeIIR_CaseStatementAlternative1058 IIR_CaseStatementAlternative (pIIR_PosInfo pos, pIIR_SequentialStatementList sequence_of_statements, pIIR_ChoiceList choices) 1059 : IIR_Tuple (pos), 1060 sequence_of_statements (sequence_of_statements), 1061 choices (choices) 1062 { } 1063 1064 tree_kind kind (); 1065 }; 1066 1067 struct IIR_Choice : IIR_Tuple { 1068 IIR_ChoiceIIR_Choice1069 IIR_Choice (pIIR_PosInfo pos) 1070 : IIR_Tuple (pos) 1071 { } 1072 1073 tree_kind kind (); 1074 }; 1075 1076 struct IIR_ChoiceByExpression : IIR_Choice { 1077 pIIR_Expression value; 1078 IIR_ChoiceByExpressionIIR_ChoiceByExpression1079 IIR_ChoiceByExpression (pIIR_PosInfo pos, pIIR_Expression value) 1080 : IIR_Choice (pos), 1081 value (value) 1082 { } 1083 1084 tree_kind kind (); 1085 }; 1086 1087 struct IIR_ChoiceByRange : IIR_Choice { 1088 pIIR_Range range; 1089 IIR_ChoiceByRangeIIR_ChoiceByRange1090 IIR_ChoiceByRange (pIIR_PosInfo pos, pIIR_Range range) 1091 : IIR_Choice (pos), 1092 range (range) 1093 { } 1094 1095 tree_kind kind (); 1096 }; 1097 1098 struct IIR_ChoiceByOthers : IIR_Choice { 1099 IIR_ChoiceByOthersIIR_ChoiceByOthers1100 IIR_ChoiceByOthers (pIIR_PosInfo pos) 1101 : IIR_Choice (pos) 1102 { } 1103 1104 tree_kind kind (); 1105 }; 1106 1107 struct IIR_EntityClassEntry : IIR_Tuple { 1108 IR_Kind entity_kind; 1109 bool is_boxed; 1110 IIR_EntityClassEntryIIR_EntityClassEntry1111 IIR_EntityClassEntry (pIIR_PosInfo pos, IR_Kind entity_kind, bool is_boxed) 1112 : IIR_Tuple (pos), 1113 entity_kind (entity_kind), 1114 is_boxed (is_boxed) 1115 { } 1116 1117 tree_kind kind (); 1118 }; 1119 1120 struct IIR_WaveformElement : IIR_Tuple { 1121 pIIR_Expression value; 1122 pIIR_Expression time; 1123 IIR_WaveformElementIIR_WaveformElement1124 IIR_WaveformElement (pIIR_PosInfo pos, pIIR_Expression value, pIIR_Expression time) 1125 : IIR_Tuple (pos), 1126 value (value), 1127 time (time) 1128 { } 1129 1130 tree_kind kind (); 1131 }; 1132 1133 struct IIR_ElementAssociation : IIR_Tuple { 1134 pIIR_ElementDeclaration element; 1135 pIIR_Expression value; 1136 IIR_ElementAssociationIIR_ElementAssociation1137 IIR_ElementAssociation (pIIR_PosInfo pos, pIIR_ElementDeclaration element, pIIR_Expression value) 1138 : IIR_Tuple (pos), 1139 element (element), 1140 value (value) 1141 { } 1142 1143 tree_kind kind (); 1144 }; 1145 1146 struct IIR_IndexedAssociation : IIR_Tuple { 1147 pIIR_Expression value; 1148 IIR_IndexedAssociationIIR_IndexedAssociation1149 IIR_IndexedAssociation (pIIR_PosInfo pos, pIIR_Expression value) 1150 : IIR_Tuple (pos), 1151 value (value) 1152 { } 1153 1154 tree_kind kind (); 1155 }; 1156 1157 struct IIR_SingleIndexedAssociation : IIR_IndexedAssociation { 1158 pIIR_Expression index; 1159 IIR_SingleIndexedAssociationIIR_SingleIndexedAssociation1160 IIR_SingleIndexedAssociation (pIIR_PosInfo pos, pIIR_Expression value, pIIR_Expression index) 1161 : IIR_IndexedAssociation (pos, value), 1162 index (index) 1163 { } 1164 1165 tree_kind kind (); 1166 }; 1167 1168 struct IIR_RangeIndexedAssociation : IIR_IndexedAssociation { 1169 pIIR_Range index_range; 1170 IIR_RangeIndexedAssociationIIR_RangeIndexedAssociation1171 IIR_RangeIndexedAssociation (pIIR_PosInfo pos, pIIR_Expression value, pIIR_Range index_range) 1172 : IIR_IndexedAssociation (pos, value), 1173 index_range (index_range) 1174 { } 1175 1176 tree_kind kind (); 1177 }; 1178 1179 struct IIR_SliceIndexedAssociation : IIR_RangeIndexedAssociation { 1180 IIR_SliceIndexedAssociationIIR_SliceIndexedAssociation1181 IIR_SliceIndexedAssociation (pIIR_PosInfo pos, pIIR_Expression value, pIIR_Range index_range) 1182 : IIR_RangeIndexedAssociation (pos, value, index_range) 1183 { } 1184 1185 tree_kind kind (); 1186 }; 1187 1188 struct IIR_OthersIndexedAssociation : IIR_IndexedAssociation { 1189 IIR_OthersIndexedAssociationIIR_OthersIndexedAssociation1190 IIR_OthersIndexedAssociation (pIIR_PosInfo pos, pIIR_Expression value) 1191 : IIR_IndexedAssociation (pos, value) 1192 { } 1193 1194 tree_kind kind (); 1195 }; 1196 1197 struct IIR_AttributeValue : IIR_Tuple { 1198 pIIR_Expression value; 1199 pIIR_AttributeDeclaration attribute; 1200 IIR_AttributeValueIIR_AttributeValue1201 IIR_AttributeValue (pIIR_PosInfo pos, pIIR_Expression value, pIIR_AttributeDeclaration attribute) 1202 : IIR_Tuple (pos), 1203 value (value), 1204 attribute (attribute) 1205 { } 1206 1207 tree_kind kind (); 1208 }; 1209 1210 struct IIR_List : IIR_Root { 1211 IIR_ListIIR_List1212 IIR_List (pIIR_PosInfo pos) 1213 : IIR_Root (pos) 1214 { } 1215 1216 tree_kind kind (); 1217 }; 1218 1219 struct IIR_AssociationList : IIR_List { 1220 pIIR_AssociationElement first; 1221 pIIR_AssociationList rest; 1222 IIR_AssociationListIIR_AssociationList1223 IIR_AssociationList (pIIR_PosInfo pos, pIIR_AssociationElement first, pIIR_AssociationList rest) 1224 : IIR_List (pos), 1225 first (first), 1226 rest (rest) 1227 { } 1228 1229 tree_kind kind (); 1230 }; 1231 1232 struct IIR_AttributeValueList : IIR_List { 1233 pIIR_AttributeValue first; 1234 pIIR_AttributeValueList rest; 1235 IIR_AttributeValueListIIR_AttributeValueList1236 IIR_AttributeValueList (pIIR_PosInfo pos, pIIR_AttributeValue first, pIIR_AttributeValueList rest) 1237 : IIR_List (pos), 1238 first (first), 1239 rest (rest) 1240 { } 1241 1242 tree_kind kind (); 1243 }; 1244 1245 struct IIR_CaseStatementAlternativeList : IIR_List { 1246 pIIR_CaseStatementAlternative first; 1247 pIIR_CaseStatementAlternativeList rest; 1248 IIR_CaseStatementAlternativeListIIR_CaseStatementAlternativeList1249 IIR_CaseStatementAlternativeList (pIIR_PosInfo pos, pIIR_CaseStatementAlternative first, pIIR_CaseStatementAlternativeList rest) 1250 : IIR_List (pos), 1251 first (first), 1252 rest (rest) 1253 { } 1254 1255 tree_kind kind (); 1256 }; 1257 1258 struct IIR_ChoiceList : IIR_List { 1259 pIIR_Choice first; 1260 pIIR_ChoiceList rest; 1261 IIR_ChoiceListIIR_ChoiceList1262 IIR_ChoiceList (pIIR_PosInfo pos, pIIR_Choice first, pIIR_ChoiceList rest) 1263 : IIR_List (pos), 1264 first (first), 1265 rest (rest) 1266 { } 1267 1268 tree_kind kind (); 1269 }; 1270 1271 struct IIR_ConcurrentStatementList : IIR_List { 1272 pIIR_ConcurrentStatement first; 1273 pIIR_ConcurrentStatementList rest; 1274 IIR_ConcurrentStatementListIIR_ConcurrentStatementList1275 IIR_ConcurrentStatementList (pIIR_PosInfo pos, pIIR_ConcurrentStatement first, pIIR_ConcurrentStatementList rest) 1276 : IIR_List (pos), 1277 first (first), 1278 rest (rest) 1279 { } 1280 1281 tree_kind kind (); 1282 }; 1283 1284 struct IIR_ConfigurationItemList : IIR_List { 1285 pIIR_ConfigurationItem first; 1286 pIIR_ConfigurationItemList rest; 1287 IIR_ConfigurationItemListIIR_ConfigurationItemList1288 IIR_ConfigurationItemList (pIIR_PosInfo pos, pIIR_ConfigurationItem first, pIIR_ConfigurationItemList rest) 1289 : IIR_List (pos), 1290 first (first), 1291 rest (rest) 1292 { } 1293 1294 tree_kind kind (); 1295 }; 1296 1297 struct IIR_DeclarationList : IIR_List { 1298 pIIR_Declaration first; 1299 pIIR_DeclarationList rest; 1300 IIR_DeclarationListIIR_DeclarationList1301 IIR_DeclarationList (pIIR_PosInfo pos, pIIR_Declaration first, pIIR_DeclarationList rest) 1302 : IIR_List (pos), 1303 first (first), 1304 rest (rest) 1305 { } 1306 1307 tree_kind kind (); 1308 }; 1309 1310 struct IIR_ElementDeclarationList : IIR_List { 1311 pIIR_ElementDeclaration first; 1312 pIIR_ElementDeclarationList rest; 1313 IIR_ElementDeclarationListIIR_ElementDeclarationList1314 IIR_ElementDeclarationList (pIIR_PosInfo pos, pIIR_ElementDeclaration first, pIIR_ElementDeclarationList rest) 1315 : IIR_List (pos), 1316 first (first), 1317 rest (rest) 1318 { } 1319 1320 tree_kind kind (); 1321 }; 1322 1323 struct IIR_EntityClassEntryList : IIR_List { 1324 pIIR_EntityClassEntry first; 1325 pIIR_EntityClassEntryList rest; 1326 IIR_EntityClassEntryListIIR_EntityClassEntryList1327 IIR_EntityClassEntryList (pIIR_PosInfo pos, pIIR_EntityClassEntry first, pIIR_EntityClassEntryList rest) 1328 : IIR_List (pos), 1329 first (first), 1330 rest (rest) 1331 { } 1332 1333 tree_kind kind (); 1334 }; 1335 1336 struct IIR_EnumerationLiteralList : IIR_List { 1337 pIIR_EnumerationLiteral first; 1338 pIIR_EnumerationLiteralList rest; 1339 IIR_EnumerationLiteralListIIR_EnumerationLiteralList1340 IIR_EnumerationLiteralList (pIIR_PosInfo pos, pIIR_EnumerationLiteral first, pIIR_EnumerationLiteralList rest) 1341 : IIR_List (pos), 1342 first (first), 1343 rest (rest) 1344 { } 1345 1346 tree_kind kind (); 1347 }; 1348 1349 struct IIR_InterfaceList : IIR_List { 1350 pIIR_InterfaceDeclaration first; 1351 pIIR_InterfaceList rest; 1352 IIR_InterfaceListIIR_InterfaceList1353 IIR_InterfaceList (pIIR_PosInfo pos, pIIR_InterfaceDeclaration first, pIIR_InterfaceList rest) 1354 : IIR_List (pos), 1355 first (first), 1356 rest (rest) 1357 { } 1358 1359 tree_kind kind (); 1360 }; 1361 1362 struct IIR_LibraryUnitList : IIR_List { 1363 pIIR_LibraryUnit first; 1364 pIIR_LibraryUnitList rest; 1365 IIR_LibraryUnitListIIR_LibraryUnitList1366 IIR_LibraryUnitList (pIIR_PosInfo pos, pIIR_LibraryUnit first, pIIR_LibraryUnitList rest) 1367 : IIR_List (pos), 1368 first (first), 1369 rest (rest) 1370 { } 1371 1372 tree_kind kind (); 1373 }; 1374 1375 struct IIR_SequentialStatementList : IIR_List { 1376 pIIR_SequentialStatement first; 1377 pIIR_SequentialStatementList rest; 1378 IIR_SequentialStatementListIIR_SequentialStatementList1379 IIR_SequentialStatementList (pIIR_PosInfo pos, pIIR_SequentialStatement first, pIIR_SequentialStatementList rest) 1380 : IIR_List (pos), 1381 first (first), 1382 rest (rest) 1383 { } 1384 1385 tree_kind kind (); 1386 }; 1387 1388 struct IIR_UnitList : IIR_List { 1389 pIIR_PhysicalUnit first; 1390 pIIR_UnitList rest; 1391 IIR_UnitListIIR_UnitList1392 IIR_UnitList (pIIR_PosInfo pos, pIIR_PhysicalUnit first, pIIR_UnitList rest) 1393 : IIR_List (pos), 1394 first (first), 1395 rest (rest) 1396 { } 1397 1398 tree_kind kind (); 1399 }; 1400 1401 struct IIR_WaveformList : IIR_List { 1402 pIIR_WaveformElement first; 1403 pIIR_WaveformList rest; 1404 IIR_WaveformListIIR_WaveformList1405 IIR_WaveformList (pIIR_PosInfo pos, pIIR_WaveformElement first, pIIR_WaveformList rest) 1406 : IIR_List (pos), 1407 first (first), 1408 rest (rest) 1409 { } 1410 1411 tree_kind kind (); 1412 }; 1413 1414 struct IIR_TypeList : IIR_List { 1415 pIIR_Type first; 1416 pIIR_TypeList rest; 1417 IIR_TypeListIIR_TypeList1418 IIR_TypeList (pIIR_PosInfo pos, pIIR_Type first, pIIR_TypeList rest) 1419 : IIR_List (pos), 1420 first (first), 1421 rest (rest) 1422 { } 1423 1424 tree_kind kind (); 1425 }; 1426 1427 struct IIR_ExpressionList : IIR_List { 1428 pIIR_Expression first; 1429 pIIR_ExpressionList rest; 1430 IIR_ExpressionListIIR_ExpressionList1431 IIR_ExpressionList (pIIR_PosInfo pos, pIIR_Expression first, pIIR_ExpressionList rest) 1432 : IIR_List (pos), 1433 first (first), 1434 rest (rest) 1435 { } 1436 1437 tree_kind kind (); 1438 }; 1439 1440 struct IIR_IndexedAssociationList : IIR_List { 1441 pIIR_IndexedAssociation first; 1442 pIIR_IndexedAssociationList rest; 1443 IIR_IndexedAssociationListIIR_IndexedAssociationList1444 IIR_IndexedAssociationList (pIIR_PosInfo pos, pIIR_IndexedAssociation first, pIIR_IndexedAssociationList rest) 1445 : IIR_List (pos), 1446 first (first), 1447 rest (rest) 1448 { } 1449 1450 tree_kind kind (); 1451 }; 1452 1453 struct IIR_ElementAssociationList : IIR_List { 1454 pIIR_ElementAssociation first; 1455 pIIR_ElementAssociationList rest; 1456 IIR_ElementAssociationListIIR_ElementAssociationList1457 IIR_ElementAssociationList (pIIR_PosInfo pos, pIIR_ElementAssociation first, pIIR_ElementAssociationList rest) 1458 : IIR_List (pos), 1459 first (first), 1460 rest (rest) 1461 { } 1462 1463 tree_kind kind (); 1464 }; 1465 1466 struct IIR_ComponentInstantiationList : IIR_List { 1467 pIIR_ComponentInstantiationStatement first; 1468 pIIR_ComponentInstantiationList rest; 1469 IIR_ComponentInstantiationListIIR_ComponentInstantiationList1470 IIR_ComponentInstantiationList (pIIR_PosInfo pos, pIIR_ComponentInstantiationStatement first, pIIR_ComponentInstantiationList rest) 1471 : IIR_List (pos), 1472 first (first), 1473 rest (rest) 1474 { } 1475 1476 tree_kind kind (); 1477 }; 1478 1479 struct IIR_ConfigurationSpecificationList : IIR_List { 1480 pIIR_ConfigurationSpecification first; 1481 pIIR_ConfigurationSpecificationList rest; 1482 IIR_ConfigurationSpecificationListIIR_ConfigurationSpecificationList1483 IIR_ConfigurationSpecificationList (pIIR_PosInfo pos, pIIR_ConfigurationSpecification first, pIIR_ConfigurationSpecificationList rest) 1484 : IIR_List (pos), 1485 first (first), 1486 rest (rest) 1487 { } 1488 1489 tree_kind kind (); 1490 }; 1491 1492 struct IIR_IdentifierList : IIR_List { 1493 pIIR_Identifier first; 1494 pIIR_IdentifierList rest; 1495 IIR_IdentifierListIIR_IdentifierList1496 IIR_IdentifierList (pIIR_PosInfo pos, pIIR_Identifier first, pIIR_IdentifierList rest) 1497 : IIR_List (pos), 1498 first (first), 1499 rest (rest) 1500 { } 1501 1502 tree_kind kind (); 1503 }; 1504 1505 struct IIR_Range : IIR_Root { 1506 IIR_RangeIIR_Range1507 IIR_Range (pIIR_PosInfo pos) 1508 : IIR_Root (pos) 1509 { } 1510 1511 tree_kind kind (); 1512 }; 1513 1514 struct IIR_ExplicitRange : IIR_Range { 1515 pIIR_Expression left; 1516 pIIR_Expression right; 1517 IR_Direction direction; 1518 IIR_ExplicitRangeIIR_ExplicitRange1519 IIR_ExplicitRange (pIIR_PosInfo pos, pIIR_Expression left, pIIR_Expression right, IR_Direction direction) 1520 : IIR_Range (pos), 1521 left (left), 1522 right (right), 1523 direction (direction) 1524 { } 1525 1526 tree_kind kind (); 1527 }; 1528 1529 struct IIR_ArrayRange : IIR_Range { 1530 pIIR_Type type; 1531 pIIR_Expression array; 1532 pIIR_Type array_type; 1533 pIIR_Expression index; 1534 IIR_ArrayRangeIIR_ArrayRange1535 IIR_ArrayRange (pIIR_PosInfo pos, pIIR_Type type, pIIR_Expression array, pIIR_Type array_type, pIIR_Expression index) 1536 : IIR_Range (pos), 1537 type (type), 1538 array (array), 1539 array_type (array_type), 1540 index (index) 1541 { } 1542 1543 tree_kind kind (); 1544 }; 1545 1546 struct IIR_Attr_ArrayRANGE : IIR_ArrayRange { 1547 IIR_Attr_ArrayRANGEIIR_Attr_ArrayRANGE1548 IIR_Attr_ArrayRANGE (pIIR_PosInfo pos, pIIR_Type type, pIIR_Expression array, pIIR_Type array_type, pIIR_Expression index) 1549 : IIR_ArrayRange (pos, type, array, array_type, index) 1550 { } 1551 1552 tree_kind kind (); 1553 }; 1554 1555 struct IIR_Attr_ArrayREVERSE_RANGE : IIR_ArrayRange { 1556 IIR_Attr_ArrayREVERSE_RANGEIIR_Attr_ArrayREVERSE_RANGE1557 IIR_Attr_ArrayREVERSE_RANGE (pIIR_PosInfo pos, pIIR_Type type, pIIR_Expression array, pIIR_Type array_type, pIIR_Expression index) 1558 : IIR_ArrayRange (pos, type, array, array_type, index) 1559 { } 1560 1561 tree_kind kind (); 1562 }; 1563 1564 struct IIR_Type : IIR_Root { 1565 pIIR_TypeDeclaration declaration; 1566 pIIR_Type base; 1567 IR_StaticLevel static_level; 1568 IIR_TypeIIR_Type1569 IIR_Type (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level) 1570 : IIR_Root (pos), 1571 declaration (declaration), 1572 base ((base == NULL)? this:base), 1573 static_level (static_level) 1574 { } 1575 1576 tree_kind kind (); 1577 }; 1578 1579 struct IIR_Subtype : IIR_Type { 1580 pIIR_Type immediate_base; 1581 pIIR_FunctionDeclaration resolution_function; 1582 IIR_SubtypeIIR_Subtype1583 IIR_Subtype (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_Type immediate_base, pIIR_FunctionDeclaration resolution_function) 1584 : IIR_Type (pos, declaration, base, static_level), 1585 immediate_base (immediate_base), 1586 resolution_function (resolution_function) 1587 { } 1588 1589 tree_kind kind (); 1590 }; 1591 1592 struct IIR_ScalarType : IIR_Type { 1593 IIR_ScalarTypeIIR_ScalarType1594 IIR_ScalarType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level) 1595 : IIR_Type (pos, declaration, base, static_level) 1596 { } 1597 1598 tree_kind kind (); 1599 }; 1600 1601 struct IIR_ScalarSubtype : IIR_Subtype { 1602 pIIR_Range range; 1603 IIR_ScalarSubtypeIIR_ScalarSubtype1604 IIR_ScalarSubtype (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_Type immediate_base, pIIR_FunctionDeclaration resolution_function, pIIR_Range range) 1605 : IIR_Subtype (pos, declaration, base, static_level, immediate_base, resolution_function), 1606 range (range) 1607 { } 1608 1609 tree_kind kind (); 1610 }; 1611 1612 struct IIR_EnumerationType : IIR_ScalarType { 1613 pIIR_EnumerationLiteralList enumeration_literals; 1614 IIR_EnumerationTypeIIR_EnumerationType1615 IIR_EnumerationType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_EnumerationLiteralList enumeration_literals) 1616 : IIR_ScalarType (pos, declaration, base, static_level), 1617 enumeration_literals (enumeration_literals) 1618 { } 1619 1620 tree_kind kind (); 1621 }; 1622 1623 struct IIR_IntegerType : IIR_ScalarType { 1624 IIR_IntegerTypeIIR_IntegerType1625 IIR_IntegerType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level) 1626 : IIR_ScalarType (pos, declaration, base, static_level) 1627 { } 1628 1629 tree_kind kind (); 1630 }; 1631 1632 struct IIR_FloatingType : IIR_ScalarType { 1633 IIR_FloatingTypeIIR_FloatingType1634 IIR_FloatingType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level) 1635 : IIR_ScalarType (pos, declaration, base, static_level) 1636 { } 1637 1638 tree_kind kind (); 1639 }; 1640 1641 struct IIR_PhysicalType : IIR_ScalarType { 1642 pIIR_PhysicalUnit primary_unit; 1643 pIIR_UnitList units; 1644 IIR_PhysicalTypeIIR_PhysicalType1645 IIR_PhysicalType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_PhysicalUnit primary_unit, pIIR_UnitList units) 1646 : IIR_ScalarType (pos, declaration, base, static_level), 1647 primary_unit (primary_unit), 1648 units (units) 1649 { } 1650 1651 tree_kind kind (); 1652 }; 1653 1654 struct IIR_CompositeType : IIR_Type { 1655 IIR_CompositeTypeIIR_CompositeType1656 IIR_CompositeType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level) 1657 : IIR_Type (pos, declaration, base, static_level) 1658 { } 1659 1660 tree_kind kind (); 1661 }; 1662 1663 struct IIR_RecordType : IIR_CompositeType { 1664 pIIR_ElementDeclarationList element_declarations; 1665 IIR_RecordTypeIIR_RecordType1666 IIR_RecordType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_ElementDeclarationList element_declarations) 1667 : IIR_CompositeType (pos, declaration, base, static_level), 1668 element_declarations (element_declarations) 1669 { } 1670 1671 tree_kind kind (); 1672 }; 1673 1674 struct IIR_RecordSubtype : IIR_Subtype { 1675 IIR_RecordSubtypeIIR_RecordSubtype1676 IIR_RecordSubtype (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_Type immediate_base, pIIR_FunctionDeclaration resolution_function) 1677 : IIR_Subtype (pos, declaration, base, static_level, immediate_base, resolution_function) 1678 { } 1679 1680 tree_kind kind (); 1681 }; 1682 1683 struct IIR_AccessType : IIR_Type { 1684 pIIR_Type designated_type; 1685 IIR_AccessTypeIIR_AccessType1686 IIR_AccessType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_Type designated_type) 1687 : IIR_Type (pos, declaration, base, static_level), 1688 designated_type (designated_type) 1689 { } 1690 1691 tree_kind kind (); 1692 }; 1693 1694 struct IIR_FileType : IIR_Type { 1695 pIIR_Type type_mark; 1696 IIR_FileTypeIIR_FileType1697 IIR_FileType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_Type type_mark) 1698 : IIR_Type (pos, declaration, base, static_level), 1699 type_mark (type_mark) 1700 { } 1701 1702 tree_kind kind (); 1703 }; 1704 1705 struct IIR_ArrayType : IIR_CompositeType { 1706 pIIR_TypeList index_types; 1707 pIIR_Type element_type; 1708 IIR_ArrayTypeIIR_ArrayType1709 IIR_ArrayType (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_TypeList index_types, pIIR_Type element_type) 1710 : IIR_CompositeType (pos, declaration, base, static_level), 1711 index_types (index_types), 1712 element_type (element_type) 1713 { } 1714 1715 tree_kind kind (); 1716 }; 1717 1718 struct IIR_ArraySubtype : IIR_Subtype { 1719 pIIR_TypeList constraint; 1720 IIR_ArraySubtypeIIR_ArraySubtype1721 IIR_ArraySubtype (pIIR_PosInfo pos, pIIR_TypeDeclaration declaration, pIIR_Type base, IR_StaticLevel static_level, pIIR_Type immediate_base, pIIR_FunctionDeclaration resolution_function, pIIR_TypeList constraint) 1722 : IIR_Subtype (pos, declaration, base, static_level, immediate_base, resolution_function), 1723 constraint (constraint) 1724 { } 1725 1726 tree_kind kind (); 1727 }; 1728 1729 struct IIR_Declaration : IIR_Root { 1730 pIIR_TextLiteral declarator; 1731 pIIR_DeclarativeRegion declarative_region; 1732 pIIR_AttributeValueList attributes; 1733 int seqno; 1734 IIR_DeclarationIIR_Declaration1735 IIR_Declaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno) 1736 : IIR_Root (pos), 1737 declarator (declarator), 1738 declarative_region (declarative_region), 1739 attributes (attributes), 1740 seqno (seqno) 1741 { } 1742 1743 tree_kind kind (); 1744 }; 1745 1746 struct IIR_DeclarativeRegion : IIR_Declaration { 1747 pIIR_DeclarativeRegion continued; 1748 pIIR_DeclarationList declarations; 1749 IIR_DeclarativeRegionIIR_DeclarativeRegion1750 IIR_DeclarativeRegion (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations) 1751 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 1752 continued (continued), 1753 declarations (declarations) 1754 { } 1755 1756 tree_kind kind (); 1757 }; 1758 1759 struct IIR_LoopDeclarativeRegion : IIR_DeclarativeRegion { 1760 pIIR_LoopStatement loop_statement; 1761 IIR_LoopDeclarativeRegionIIR_LoopDeclarativeRegion1762 IIR_LoopDeclarativeRegion (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_LoopStatement loop_statement) 1763 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 1764 loop_statement (loop_statement) 1765 { } 1766 1767 tree_kind kind (); 1768 }; 1769 1770 struct IIR_SubprogramDeclaration : IIR_DeclarativeRegion { 1771 pIIR_InterfaceList interface_declarations; 1772 pIIR_SequentialStatementList subprogram_body; 1773 pIIR_SubprogramDeclaration prototype; 1774 IIR_SubprogramDeclarationIIR_SubprogramDeclaration1775 IIR_SubprogramDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_InterfaceList interface_declarations, pIIR_SequentialStatementList subprogram_body, pIIR_SubprogramDeclaration prototype) 1776 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 1777 interface_declarations (interface_declarations), 1778 subprogram_body (subprogram_body), 1779 prototype (prototype) 1780 { } 1781 1782 tree_kind kind (); 1783 }; 1784 1785 struct IIR_ProcedureDeclaration : IIR_SubprogramDeclaration { 1786 IIR_ProcedureDeclarationIIR_ProcedureDeclaration1787 IIR_ProcedureDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_InterfaceList interface_declarations, pIIR_SequentialStatementList subprogram_body, pIIR_SubprogramDeclaration prototype) 1788 : IIR_SubprogramDeclaration (pos, declarator, declarative_region, attributes, seqno, continued, declarations, interface_declarations, subprogram_body, prototype) 1789 { } 1790 1791 tree_kind kind (); 1792 }; 1793 1794 struct IIR_PredefinedProcedureDeclaration : IIR_ProcedureDeclaration { 1795 IIR_PredefinedProcedureDeclarationIIR_PredefinedProcedureDeclaration1796 IIR_PredefinedProcedureDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_InterfaceList interface_declarations, pIIR_SequentialStatementList subprogram_body, pIIR_SubprogramDeclaration prototype) 1797 : IIR_ProcedureDeclaration (pos, declarator, declarative_region, attributes, seqno, continued, declarations, interface_declarations, subprogram_body, prototype) 1798 { } 1799 1800 tree_kind kind (); 1801 }; 1802 1803 struct IIR_FunctionDeclaration : IIR_SubprogramDeclaration { 1804 bool pure; 1805 pIIR_Type return_type; 1806 IIR_FunctionDeclarationIIR_FunctionDeclaration1807 IIR_FunctionDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_InterfaceList interface_declarations, pIIR_SequentialStatementList subprogram_body, pIIR_SubprogramDeclaration prototype, bool pure, pIIR_Type return_type) 1808 : IIR_SubprogramDeclaration (pos, declarator, declarative_region, attributes, seqno, continued, declarations, interface_declarations, subprogram_body, prototype), 1809 pure (pure), 1810 return_type (return_type) 1811 { } 1812 1813 tree_kind kind (); 1814 }; 1815 1816 struct IIR_PredefinedFunctionDeclaration : IIR_FunctionDeclaration { 1817 IIR_PredefinedFunctionDeclarationIIR_PredefinedFunctionDeclaration1818 IIR_PredefinedFunctionDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_InterfaceList interface_declarations, pIIR_SequentialStatementList subprogram_body, pIIR_SubprogramDeclaration prototype, bool pure, pIIR_Type return_type) 1819 : IIR_FunctionDeclaration (pos, declarator, declarative_region, attributes, seqno, continued, declarations, interface_declarations, subprogram_body, prototype, pure, return_type) 1820 { } 1821 1822 tree_kind kind (); 1823 }; 1824 1825 struct IIR_EnumerationLiteral : IIR_Declaration { 1826 pIIR_EnumerationType subtype; 1827 int enum_pos; 1828 IIR_EnumerationLiteralIIR_EnumerationLiteral1829 IIR_EnumerationLiteral (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_EnumerationType subtype, int enum_pos) 1830 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 1831 subtype (subtype), 1832 enum_pos (enum_pos) 1833 { } 1834 1835 tree_kind kind (); 1836 }; 1837 1838 struct IIR_ElementDeclaration : IIR_Declaration { 1839 pIIR_Type subtype; 1840 int declaration_pos; 1841 IIR_ElementDeclarationIIR_ElementDeclaration1842 IIR_ElementDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, int declaration_pos) 1843 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 1844 subtype (subtype), 1845 declaration_pos (declaration_pos) 1846 { } 1847 1848 tree_kind kind (); 1849 }; 1850 1851 struct IIR_TypeDeclaration : IIR_Declaration { 1852 pIIR_Type type; 1853 IIR_TypeDeclarationIIR_TypeDeclaration1854 IIR_TypeDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type type) 1855 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 1856 type (type) 1857 { } 1858 1859 tree_kind kind (); 1860 }; 1861 1862 struct IIR_SubtypeDeclaration : IIR_TypeDeclaration { 1863 IIR_SubtypeDeclarationIIR_SubtypeDeclaration1864 IIR_SubtypeDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type type) 1865 : IIR_TypeDeclaration (pos, declarator, declarative_region, attributes, seqno, type) 1866 { } 1867 1868 tree_kind kind (); 1869 }; 1870 1871 struct IIR_ObjectDeclaration : IIR_Declaration { 1872 pIIR_Type subtype; 1873 pIIR_Expression initial_value; 1874 pIIR_ObjectReference alias_base; 1875 IIR_ObjectDeclarationIIR_ObjectDeclaration1876 IIR_ObjectDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base) 1877 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 1878 subtype (subtype), 1879 initial_value (initial_value), 1880 alias_base (alias_base) 1881 { } 1882 1883 tree_kind kind (); 1884 }; 1885 1886 struct IIR_ConstantDeclaration : IIR_ObjectDeclaration { 1887 IIR_ConstantDeclarationIIR_ConstantDeclaration1888 IIR_ConstantDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base) 1889 : IIR_ObjectDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base) 1890 { } 1891 1892 tree_kind kind (); 1893 }; 1894 1895 struct IIR_VariableDeclaration : IIR_ObjectDeclaration { 1896 IIR_VariableDeclarationIIR_VariableDeclaration1897 IIR_VariableDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base) 1898 : IIR_ObjectDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base) 1899 { } 1900 1901 tree_kind kind (); 1902 }; 1903 1904 struct IIR_SharedVariableDeclaration : IIR_VariableDeclaration { 1905 IIR_SharedVariableDeclarationIIR_SharedVariableDeclaration1906 IIR_SharedVariableDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base) 1907 : IIR_VariableDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base) 1908 { } 1909 1910 tree_kind kind (); 1911 }; 1912 1913 struct IIR_SignalDeclaration : IIR_ObjectDeclaration { 1914 IR_SignalKind signal_kind; 1915 IIR_SignalDeclarationIIR_SignalDeclaration1916 IIR_SignalDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, IR_SignalKind signal_kind) 1917 : IIR_ObjectDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base), 1918 signal_kind (signal_kind) 1919 { } 1920 1921 tree_kind kind (); 1922 }; 1923 1924 struct IIR_FileDeclaration : IIR_ObjectDeclaration { 1925 pIIR_Expression file_open_expression; 1926 pIIR_Expression file_logical_name; 1927 IIR_FileDeclarationIIR_FileDeclaration1928 IIR_FileDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, pIIR_Expression file_open_expression, pIIR_Expression file_logical_name) 1929 : IIR_ObjectDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base), 1930 file_open_expression (file_open_expression), 1931 file_logical_name (file_logical_name) 1932 { } 1933 1934 tree_kind kind (); 1935 }; 1936 1937 struct IIR_InterfaceDeclaration : IIR_ObjectDeclaration { 1938 IR_Mode mode; 1939 bool bus; 1940 IIR_InterfaceDeclarationIIR_InterfaceDeclaration1941 IIR_InterfaceDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, IR_Mode mode, bool bus) 1942 : IIR_ObjectDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base), 1943 mode (mode), 1944 bus (bus) 1945 { } 1946 1947 tree_kind kind (); 1948 }; 1949 1950 struct IIR_ConstantInterfaceDeclaration : IIR_InterfaceDeclaration { 1951 IIR_ConstantInterfaceDeclarationIIR_ConstantInterfaceDeclaration1952 IIR_ConstantInterfaceDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, IR_Mode mode, bool bus) 1953 : IIR_InterfaceDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base, mode, bus) 1954 { } 1955 1956 tree_kind kind (); 1957 }; 1958 1959 struct IIR_VariableInterfaceDeclaration : IIR_InterfaceDeclaration { 1960 IIR_VariableInterfaceDeclarationIIR_VariableInterfaceDeclaration1961 IIR_VariableInterfaceDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, IR_Mode mode, bool bus) 1962 : IIR_InterfaceDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base, mode, bus) 1963 { } 1964 1965 tree_kind kind (); 1966 }; 1967 1968 struct IIR_SignalInterfaceDeclaration : IIR_InterfaceDeclaration { 1969 IR_SignalKind signal_kind; 1970 IIR_SignalInterfaceDeclarationIIR_SignalInterfaceDeclaration1971 IIR_SignalInterfaceDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, IR_Mode mode, bool bus, IR_SignalKind signal_kind) 1972 : IIR_InterfaceDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base, mode, bus), 1973 signal_kind (signal_kind) 1974 { } 1975 1976 tree_kind kind (); 1977 }; 1978 1979 struct IIR_FileInterfaceDeclaration : IIR_InterfaceDeclaration { 1980 IIR_FileInterfaceDeclarationIIR_FileInterfaceDeclaration1981 IIR_FileInterfaceDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype, pIIR_Expression initial_value, pIIR_ObjectReference alias_base, IR_Mode mode, bool bus) 1982 : IIR_InterfaceDeclaration (pos, declarator, declarative_region, attributes, seqno, subtype, initial_value, alias_base, mode, bus) 1983 { } 1984 1985 tree_kind kind (); 1986 }; 1987 1988 struct IIR_AttributeDeclaration : IIR_Declaration { 1989 pIIR_Type subtype; 1990 IIR_AttributeDeclarationIIR_AttributeDeclaration1991 IIR_AttributeDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type subtype) 1992 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 1993 subtype (subtype) 1994 { } 1995 1996 tree_kind kind (); 1997 }; 1998 1999 struct IIR_ComponentDeclaration : IIR_DeclarativeRegion { 2000 pIIR_InterfaceList local_generic_clause; 2001 pIIR_InterfaceList local_port_clause; 2002 IIR_ComponentDeclarationIIR_ComponentDeclaration2003 IIR_ComponentDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_InterfaceList local_generic_clause, pIIR_InterfaceList local_port_clause) 2004 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 2005 local_generic_clause (local_generic_clause), 2006 local_port_clause (local_port_clause) 2007 { } 2008 2009 tree_kind kind (); 2010 }; 2011 2012 struct IIR_LibraryDeclaration : IIR_Declaration { 2013 pIIR_LibraryUnitList primary_units; 2014 IIR_LibraryDeclarationIIR_LibraryDeclaration2015 IIR_LibraryDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_LibraryUnitList primary_units) 2016 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 2017 primary_units (primary_units) 2018 { } 2019 2020 tree_kind kind (); 2021 }; 2022 2023 struct IIR_LibraryUnit : IIR_DeclarativeRegion { 2024 pIIR_DeclarationList context_items; 2025 pIIR_DeclarationList external_decls; 2026 pIIR_TextLiteral library_name; 2027 pIIR_LibraryUnitList used_units; 2028 IIR_LibraryUnitIIR_LibraryUnit2029 IIR_LibraryUnit (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarationList context_items, pIIR_DeclarationList external_decls, pIIR_TextLiteral library_name, pIIR_LibraryUnitList used_units) 2030 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 2031 context_items (context_items), 2032 external_decls (external_decls), 2033 library_name (library_name), 2034 used_units (used_units) 2035 { } 2036 2037 tree_kind kind (); 2038 }; 2039 2040 struct IIR_EntityDeclaration : IIR_LibraryUnit { 2041 pIIR_InterfaceList generic_clause; 2042 pIIR_InterfaceList port_clause; 2043 pIIR_ConcurrentStatementList entity_statement_part; 2044 IIR_EntityDeclarationIIR_EntityDeclaration2045 IIR_EntityDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarationList context_items, pIIR_DeclarationList external_decls, pIIR_TextLiteral library_name, pIIR_LibraryUnitList used_units, pIIR_InterfaceList generic_clause, pIIR_InterfaceList port_clause, pIIR_ConcurrentStatementList entity_statement_part) 2046 : IIR_LibraryUnit (pos, declarator, declarative_region, attributes, seqno, continued, declarations, context_items, external_decls, library_name, used_units), 2047 generic_clause (generic_clause), 2048 port_clause (port_clause), 2049 entity_statement_part (entity_statement_part) 2050 { } 2051 2052 tree_kind kind (); 2053 }; 2054 2055 struct IIR_ArchitectureDeclaration : IIR_LibraryUnit { 2056 pIIR_EntityDeclaration entity; 2057 pIIR_ConfigurationSpecificationList configuration_specifications; 2058 pIIR_ConcurrentStatementList architecture_statement_part; 2059 IIR_ArchitectureDeclarationIIR_ArchitectureDeclaration2060 IIR_ArchitectureDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarationList context_items, pIIR_DeclarationList external_decls, pIIR_TextLiteral library_name, pIIR_LibraryUnitList used_units, pIIR_EntityDeclaration entity, pIIR_ConfigurationSpecificationList configuration_specifications, pIIR_ConcurrentStatementList architecture_statement_part) 2061 : IIR_LibraryUnit (pos, declarator, declarative_region, attributes, seqno, continued, declarations, context_items, external_decls, library_name, used_units), 2062 entity (entity), 2063 configuration_specifications (configuration_specifications), 2064 architecture_statement_part (architecture_statement_part) 2065 { } 2066 2067 tree_kind kind (); 2068 }; 2069 2070 struct IIR_ArchitectureRef : IIR_DeclarativeRegion { 2071 pIIR_EntityDeclaration entity; 2072 pIIR_TextLiteral architecture_name; 2073 IIR_ArchitectureRefIIR_ArchitectureRef2074 IIR_ArchitectureRef (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_EntityDeclaration entity, pIIR_TextLiteral architecture_name) 2075 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 2076 entity (entity), 2077 architecture_name (architecture_name) 2078 { } 2079 2080 tree_kind kind (); 2081 }; 2082 2083 struct IIR_PackageDeclaration : IIR_LibraryUnit { 2084 IIR_PackageDeclarationIIR_PackageDeclaration2085 IIR_PackageDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarationList context_items, pIIR_DeclarationList external_decls, pIIR_TextLiteral library_name, pIIR_LibraryUnitList used_units) 2086 : IIR_LibraryUnit (pos, declarator, declarative_region, attributes, seqno, continued, declarations, context_items, external_decls, library_name, used_units) 2087 { } 2088 2089 tree_kind kind (); 2090 }; 2091 2092 struct IIR_PackageBodyDeclaration : IIR_LibraryUnit { 2093 pIIR_PackageDeclaration package; 2094 IIR_PackageBodyDeclarationIIR_PackageBodyDeclaration2095 IIR_PackageBodyDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarationList context_items, pIIR_DeclarationList external_decls, pIIR_TextLiteral library_name, pIIR_LibraryUnitList used_units, pIIR_PackageDeclaration package) 2096 : IIR_LibraryUnit (pos, declarator, declarative_region, attributes, seqno, continued, declarations, context_items, external_decls, library_name, used_units), 2097 package (package) 2098 { } 2099 2100 tree_kind kind (); 2101 }; 2102 2103 struct IIR_ConfigurationDeclaration : IIR_LibraryUnit { 2104 pIIR_BlockConfiguration block_configuration; 2105 pIIR_EntityDeclaration entity; 2106 IIR_ConfigurationDeclarationIIR_ConfigurationDeclaration2107 IIR_ConfigurationDeclaration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarationList context_items, pIIR_DeclarationList external_decls, pIIR_TextLiteral library_name, pIIR_LibraryUnitList used_units, pIIR_BlockConfiguration block_configuration, pIIR_EntityDeclaration entity) 2108 : IIR_LibraryUnit (pos, declarator, declarative_region, attributes, seqno, continued, declarations, context_items, external_decls, library_name, used_units), 2109 block_configuration (block_configuration), 2110 entity (entity) 2111 { } 2112 2113 tree_kind kind (); 2114 }; 2115 2116 struct IIR_ConfigurationItem : IIR_DeclarativeRegion { 2117 IIR_ConfigurationItemIIR_ConfigurationItem2118 IIR_ConfigurationItem (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations) 2119 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations) 2120 { } 2121 2122 tree_kind kind (); 2123 }; 2124 2125 struct IIR_BlockConfiguration : IIR_ConfigurationItem { 2126 pIIR_DeclarativeRegion block_specification; 2127 pIIR_DeclarationList use_clause_list; 2128 pIIR_ConfigurationItemList configuration_item_list; 2129 IIR_BlockConfigurationIIR_BlockConfiguration2130 IIR_BlockConfiguration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_DeclarativeRegion block_specification, pIIR_DeclarationList use_clause_list, pIIR_ConfigurationItemList configuration_item_list) 2131 : IIR_ConfigurationItem (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 2132 block_specification (block_specification), 2133 use_clause_list (use_clause_list), 2134 configuration_item_list (configuration_item_list) 2135 { } 2136 2137 tree_kind kind (); 2138 }; 2139 2140 struct IIR_ComponentConfiguration : IIR_ConfigurationItem { 2141 pIIR_LibraryUnit entity_aspect; 2142 pIIR_ComponentInstantiationList instantiation_list; 2143 pIIR_AssociationList generic_map_aspect; 2144 pIIR_AssociationList port_map_aspect; 2145 pIIR_BlockConfiguration block_config; 2146 IIR_ComponentConfigurationIIR_ComponentConfiguration2147 IIR_ComponentConfiguration (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_LibraryUnit entity_aspect, pIIR_ComponentInstantiationList instantiation_list, pIIR_AssociationList generic_map_aspect, pIIR_AssociationList port_map_aspect, pIIR_BlockConfiguration block_config) 2148 : IIR_ConfigurationItem (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 2149 entity_aspect (entity_aspect), 2150 instantiation_list (instantiation_list), 2151 generic_map_aspect (generic_map_aspect), 2152 port_map_aspect (port_map_aspect), 2153 block_config (block_config) 2154 { } 2155 2156 tree_kind kind (); 2157 }; 2158 2159 struct IIR_PhysicalUnit : IIR_Declaration { 2160 pIIR_Expression multiplier; 2161 pIIR_PhysicalUnit unit_name; 2162 pIIR_PhysicalType type; 2163 int unit_pos; 2164 IIR_PhysicalUnitIIR_PhysicalUnit2165 IIR_PhysicalUnit (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Expression multiplier, pIIR_PhysicalUnit unit_name, pIIR_PhysicalType type, int unit_pos) 2166 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 2167 multiplier (multiplier), 2168 unit_name (unit_name), 2169 type (type), 2170 unit_pos (unit_pos) 2171 { } 2172 2173 tree_kind kind (); 2174 }; 2175 2176 struct IIR_BindingIndication : IIR_Tuple { 2177 pIIR_DeclarativeRegion unit; 2178 pIIR_AssociationList generic_map_list; 2179 pIIR_AssociationList port_map_list; 2180 IIR_BindingIndicationIIR_BindingIndication2181 IIR_BindingIndication (pIIR_PosInfo pos, pIIR_DeclarativeRegion unit, pIIR_AssociationList generic_map_list, pIIR_AssociationList port_map_list) 2182 : IIR_Tuple (pos), 2183 unit (unit), 2184 generic_map_list (generic_map_list), 2185 port_map_list (port_map_list) 2186 { } 2187 2188 tree_kind kind (); 2189 }; 2190 2191 struct IIR_ConfigurationSpecification : IIR_Tuple { 2192 pIIR_Identifier label; 2193 pIIR_ComponentDeclaration component; 2194 pIIR_BindingIndication binding; 2195 IIR_ConfigurationSpecificationIIR_ConfigurationSpecification2196 IIR_ConfigurationSpecification (pIIR_PosInfo pos, pIIR_Identifier label, pIIR_ComponentDeclaration component, pIIR_BindingIndication binding) 2197 : IIR_Tuple (pos), 2198 label (label), 2199 component (component), 2200 binding (binding) 2201 { } 2202 2203 tree_kind kind (); 2204 }; 2205 2206 struct IIR_DisconnectSpecification : IIR_Declaration { 2207 pIIR_Type type_mark; 2208 pIIR_Expression time_expression; 2209 pIIR_ObjectReference guarded_signal; 2210 IIR_DisconnectSpecificationIIR_DisconnectSpecification2211 IIR_DisconnectSpecification (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Type type_mark, pIIR_Expression time_expression, pIIR_ObjectReference guarded_signal) 2212 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 2213 type_mark (type_mark), 2214 time_expression (time_expression), 2215 guarded_signal (guarded_signal) 2216 { } 2217 2218 tree_kind kind (); 2219 }; 2220 2221 struct IIR_Label : IIR_Declaration { 2222 pIIR_SequentialStatement statement; 2223 IIR_LabelIIR_Label2224 IIR_Label (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_SequentialStatement statement) 2225 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 2226 statement (statement) 2227 { } 2228 2229 tree_kind kind (); 2230 }; 2231 2232 struct IIR_LibraryClause : IIR_Declaration { 2233 IIR_LibraryClauseIIR_LibraryClause2234 IIR_LibraryClause (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno) 2235 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno) 2236 { } 2237 2238 tree_kind kind (); 2239 }; 2240 2241 struct IIR_UseClause : IIR_Declaration { 2242 pIIR_Declaration used_unit; 2243 IIR_UseClauseIIR_UseClause2244 IIR_UseClause (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_Declaration used_unit) 2245 : IIR_Declaration (pos, declarator, declarative_region, attributes, seqno), 2246 used_unit (used_unit) 2247 { } 2248 2249 tree_kind kind (); 2250 }; 2251 2252 struct IIR_Expression : IIR_Root { 2253 pIIR_Type subtype; 2254 IR_StaticLevel static_level; 2255 IIR_ExpressionIIR_Expression2256 IIR_Expression (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2257 : IIR_Root (pos), 2258 subtype (subtype), 2259 static_level (static_level) 2260 { } 2261 2262 tree_kind kind (); 2263 }; 2264 2265 struct IIR_AbstractLiteralExpression : IIR_Expression { 2266 pIIR_AbstractLiteral value; 2267 IIR_AbstractLiteralExpressionIIR_AbstractLiteralExpression2268 IIR_AbstractLiteralExpression (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_AbstractLiteral value) 2269 : IIR_Expression (pos, subtype, static_level), 2270 value (value) 2271 { } 2272 2273 tree_kind kind (); 2274 }; 2275 2276 struct IIR_PhysicalLiteral : IIR_AbstractLiteralExpression { 2277 pIIR_PhysicalUnit unit; 2278 IIR_PhysicalLiteralIIR_PhysicalLiteral2279 IIR_PhysicalLiteral (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_AbstractLiteral value, pIIR_PhysicalUnit unit) 2280 : IIR_AbstractLiteralExpression (pos, subtype, static_level, value), 2281 unit (unit) 2282 { } 2283 2284 tree_kind kind (); 2285 }; 2286 2287 struct IIR_ArrayLiteralExpression : IIR_Expression { 2288 pIIR_StringLiteral value; 2289 IIR_ArrayLiteralExpressionIIR_ArrayLiteralExpression2290 IIR_ArrayLiteralExpression (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_StringLiteral value) 2291 : IIR_Expression (pos, subtype, static_level), 2292 value (value) 2293 { } 2294 2295 tree_kind kind (); 2296 }; 2297 2298 struct IIR_EnumLiteralReference : IIR_Expression { 2299 pIIR_EnumerationLiteral value; 2300 IIR_EnumLiteralReferenceIIR_EnumLiteralReference2301 IIR_EnumLiteralReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_EnumerationLiteral value) 2302 : IIR_Expression (pos, subtype, static_level), 2303 value (value) 2304 { } 2305 2306 tree_kind kind (); 2307 }; 2308 2309 struct IIR_NullExpression : IIR_Expression { 2310 IIR_NullExpressionIIR_NullExpression2311 IIR_NullExpression (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2312 : IIR_Expression (pos, subtype, static_level) 2313 { } 2314 2315 tree_kind kind (); 2316 }; 2317 2318 struct IIR_Aggregate : IIR_Expression { 2319 IIR_AggregateIIR_Aggregate2320 IIR_Aggregate (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2321 : IIR_Expression (pos, subtype, static_level) 2322 { } 2323 2324 tree_kind kind (); 2325 }; 2326 2327 struct IIR_RecordAggregate : IIR_Aggregate { 2328 pIIR_ElementAssociationList element_association_list; 2329 IIR_RecordAggregateIIR_RecordAggregate2330 IIR_RecordAggregate (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ElementAssociationList element_association_list) 2331 : IIR_Aggregate (pos, subtype, static_level), 2332 element_association_list (element_association_list) 2333 { } 2334 2335 tree_kind kind (); 2336 }; 2337 2338 struct IIR_ArtificialRecordAggregate : IIR_RecordAggregate { 2339 IIR_ArtificialRecordAggregateIIR_ArtificialRecordAggregate2340 IIR_ArtificialRecordAggregate (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ElementAssociationList element_association_list) 2341 : IIR_RecordAggregate (pos, subtype, static_level, element_association_list) 2342 { } 2343 2344 tree_kind kind (); 2345 }; 2346 2347 struct IIR_ArrayAggregate : IIR_Aggregate { 2348 pIIR_IndexedAssociationList indexed_association_list; 2349 IIR_ArrayAggregateIIR_ArrayAggregate2350 IIR_ArrayAggregate (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_IndexedAssociationList indexed_association_list) 2351 : IIR_Aggregate (pos, subtype, static_level), 2352 indexed_association_list (indexed_association_list) 2353 { } 2354 2355 tree_kind kind (); 2356 }; 2357 2358 struct IIR_ArtificialArrayAggregate : IIR_ArrayAggregate { 2359 IIR_ArtificialArrayAggregateIIR_ArtificialArrayAggregate2360 IIR_ArtificialArrayAggregate (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_IndexedAssociationList indexed_association_list) 2361 : IIR_ArrayAggregate (pos, subtype, static_level, indexed_association_list) 2362 { } 2363 2364 tree_kind kind (); 2365 }; 2366 2367 struct IIR_FunctionCall : IIR_Expression { 2368 pIIR_FunctionDeclaration function; 2369 pIIR_AssociationList parameter_association_list; 2370 IIR_FunctionCallIIR_FunctionCall2371 IIR_FunctionCall (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_FunctionDeclaration function, pIIR_AssociationList parameter_association_list) 2372 : IIR_Expression (pos, subtype, static_level), 2373 function (function), 2374 parameter_association_list (parameter_association_list) 2375 { } 2376 2377 tree_kind kind (); 2378 }; 2379 2380 struct IIR_QualifiedExpression : IIR_Expression { 2381 pIIR_Type type_mark; 2382 pIIR_Expression expression; 2383 IIR_QualifiedExpressionIIR_QualifiedExpression2384 IIR_QualifiedExpression (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type type_mark, pIIR_Expression expression) 2385 : IIR_Expression (pos, subtype, static_level), 2386 type_mark (type_mark), 2387 expression (expression) 2388 { } 2389 2390 tree_kind kind (); 2391 }; 2392 2393 struct IIR_TypeConversion : IIR_Expression { 2394 pIIR_Type type_mark; 2395 pIIR_Expression expression; 2396 IIR_TypeConversionIIR_TypeConversion2397 IIR_TypeConversion (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type type_mark, pIIR_Expression expression) 2398 : IIR_Expression (pos, subtype, static_level), 2399 type_mark (type_mark), 2400 expression (expression) 2401 { } 2402 2403 tree_kind kind (); 2404 }; 2405 2406 struct IIR_Allocator : IIR_Expression { 2407 pIIR_Type type_mark; 2408 pIIR_Expression value; 2409 IIR_AllocatorIIR_Allocator2410 IIR_Allocator (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type type_mark, pIIR_Expression value) 2411 : IIR_Expression (pos, subtype, static_level), 2412 type_mark (type_mark), 2413 value (value) 2414 { } 2415 2416 tree_kind kind (); 2417 }; 2418 2419 struct IIR_OpenExpression : IIR_Expression { 2420 IIR_OpenExpressionIIR_OpenExpression2421 IIR_OpenExpression (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2422 : IIR_Expression (pos, subtype, static_level) 2423 { } 2424 2425 tree_kind kind (); 2426 }; 2427 2428 struct IIR_ObjectReference : IIR_Expression { 2429 IIR_ObjectReferenceIIR_ObjectReference2430 IIR_ObjectReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2431 : IIR_Expression (pos, subtype, static_level) 2432 { } 2433 2434 tree_kind kind (); 2435 }; 2436 2437 struct IIR_SimpleReference : IIR_ObjectReference { 2438 pIIR_ObjectDeclaration object; 2439 IIR_SimpleReferenceIIR_SimpleReference2440 IIR_SimpleReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectDeclaration object) 2441 : IIR_ObjectReference (pos, subtype, static_level), 2442 object (object) 2443 { } 2444 2445 tree_kind kind (); 2446 }; 2447 2448 struct IIR_AccessReference : IIR_ObjectReference { 2449 pIIR_Expression access; 2450 IIR_AccessReferenceIIR_AccessReference2451 IIR_AccessReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression access) 2452 : IIR_ObjectReference (pos, subtype, static_level), 2453 access (access) 2454 { } 2455 2456 tree_kind kind (); 2457 }; 2458 2459 struct IIR_RecordReference : IIR_ObjectReference { 2460 pIIR_Expression record; 2461 pIIR_ElementDeclaration element; 2462 IIR_RecordReferenceIIR_RecordReference2463 IIR_RecordReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression record, pIIR_ElementDeclaration element) 2464 : IIR_ObjectReference (pos, subtype, static_level), 2465 record (record), 2466 element (element) 2467 { } 2468 2469 tree_kind kind (); 2470 }; 2471 2472 struct IIR_GenericArrayReference : IIR_ObjectReference { 2473 pIIR_Expression array; 2474 IIR_GenericArrayReferenceIIR_GenericArrayReference2475 IIR_GenericArrayReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array) 2476 : IIR_ObjectReference (pos, subtype, static_level), 2477 array (array) 2478 { } 2479 2480 tree_kind kind (); 2481 }; 2482 2483 struct IIR_ArrayReference : IIR_GenericArrayReference { 2484 pIIR_ExpressionList indices; 2485 IIR_ArrayReferenceIIR_ArrayReference2486 IIR_ArrayReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_ExpressionList indices) 2487 : IIR_GenericArrayReference (pos, subtype, static_level, array), 2488 indices (indices) 2489 { } 2490 2491 tree_kind kind (); 2492 }; 2493 2494 struct IIR_SliceReference : IIR_GenericArrayReference { 2495 pIIR_Range range; 2496 IIR_SliceReferenceIIR_SliceReference2497 IIR_SliceReference (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Range range) 2498 : IIR_GenericArrayReference (pos, subtype, static_level, array), 2499 range (range) 2500 { } 2501 2502 tree_kind kind (); 2503 }; 2504 2505 struct IIR_SignalAttr : IIR_ObjectReference { 2506 pIIR_ObjectReference signal; 2507 IIR_SignalAttrIIR_SignalAttr2508 IIR_SignalAttr (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2509 : IIR_ObjectReference (pos, subtype, static_level), 2510 signal (signal) 2511 { } 2512 2513 tree_kind kind (); 2514 }; 2515 2516 struct IIR_Attr_DELAYED : IIR_SignalAttr { 2517 pIIR_Expression delay; 2518 IIR_Attr_DELAYEDIIR_Attr_DELAYED2519 IIR_Attr_DELAYED (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal, pIIR_Expression delay) 2520 : IIR_SignalAttr (pos, subtype, static_level, signal), 2521 delay (delay) 2522 { } 2523 2524 tree_kind kind (); 2525 }; 2526 2527 struct IIR_Attr_STABLE : IIR_SignalAttr { 2528 pIIR_Expression duration; 2529 IIR_Attr_STABLEIIR_Attr_STABLE2530 IIR_Attr_STABLE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal, pIIR_Expression duration) 2531 : IIR_SignalAttr (pos, subtype, static_level, signal), 2532 duration (duration) 2533 { } 2534 2535 tree_kind kind (); 2536 }; 2537 2538 struct IIR_Attr_QUIET : IIR_SignalAttr { 2539 pIIR_Expression duration; 2540 IIR_Attr_QUIETIIR_Attr_QUIET2541 IIR_Attr_QUIET (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal, pIIR_Expression duration) 2542 : IIR_SignalAttr (pos, subtype, static_level, signal), 2543 duration (duration) 2544 { } 2545 2546 tree_kind kind (); 2547 }; 2548 2549 struct IIR_Attr_TRANSACTION : IIR_SignalAttr { 2550 IIR_Attr_TRANSACTIONIIR_Attr_TRANSACTION2551 IIR_Attr_TRANSACTION (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2552 : IIR_SignalAttr (pos, subtype, static_level, signal) 2553 { } 2554 2555 tree_kind kind (); 2556 }; 2557 2558 struct IIR_FunctionAttr : IIR_Expression { 2559 IIR_FunctionAttrIIR_FunctionAttr2560 IIR_FunctionAttr (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2561 : IIR_Expression (pos, subtype, static_level) 2562 { } 2563 2564 tree_kind kind (); 2565 }; 2566 2567 struct IIR_AttrSigFunc : IIR_FunctionAttr { 2568 pIIR_ObjectReference signal; 2569 IIR_AttrSigFuncIIR_AttrSigFunc2570 IIR_AttrSigFunc (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2571 : IIR_FunctionAttr (pos, subtype, static_level), 2572 signal (signal) 2573 { } 2574 2575 tree_kind kind (); 2576 }; 2577 2578 struct IIR_Attr_EVENT : IIR_AttrSigFunc { 2579 IIR_Attr_EVENTIIR_Attr_EVENT2580 IIR_Attr_EVENT (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2581 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2582 { } 2583 2584 tree_kind kind (); 2585 }; 2586 2587 struct IIR_Attr_ACTIVE : IIR_AttrSigFunc { 2588 IIR_Attr_ACTIVEIIR_Attr_ACTIVE2589 IIR_Attr_ACTIVE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2590 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2591 { } 2592 2593 tree_kind kind (); 2594 }; 2595 2596 struct IIR_Attr_LAST_EVENT : IIR_AttrSigFunc { 2597 IIR_Attr_LAST_EVENTIIR_Attr_LAST_EVENT2598 IIR_Attr_LAST_EVENT (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2599 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2600 { } 2601 2602 tree_kind kind (); 2603 }; 2604 2605 struct IIR_Attr_LAST_ACTIVE : IIR_AttrSigFunc { 2606 IIR_Attr_LAST_ACTIVEIIR_Attr_LAST_ACTIVE2607 IIR_Attr_LAST_ACTIVE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2608 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2609 { } 2610 2611 tree_kind kind (); 2612 }; 2613 2614 struct IIR_Attr_LAST_VALUE : IIR_AttrSigFunc { 2615 IIR_Attr_LAST_VALUEIIR_Attr_LAST_VALUE2616 IIR_Attr_LAST_VALUE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2617 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2618 { } 2619 2620 tree_kind kind (); 2621 }; 2622 2623 struct IIR_Attr_DRIVING : IIR_AttrSigFunc { 2624 IIR_Attr_DRIVINGIIR_Attr_DRIVING2625 IIR_Attr_DRIVING (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2626 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2627 { } 2628 2629 tree_kind kind (); 2630 }; 2631 2632 struct IIR_Attr_DRIVING_VALUE : IIR_AttrSigFunc { 2633 IIR_Attr_DRIVING_VALUEIIR_Attr_DRIVING_VALUE2634 IIR_Attr_DRIVING_VALUE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_ObjectReference signal) 2635 : IIR_AttrSigFunc (pos, subtype, static_level, signal) 2636 { } 2637 2638 tree_kind kind (); 2639 }; 2640 2641 struct IIR_ValueAttr : IIR_Expression { 2642 IIR_ValueAttrIIR_ValueAttr2643 IIR_ValueAttr (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level) 2644 : IIR_Expression (pos, subtype, static_level) 2645 { } 2646 2647 tree_kind kind (); 2648 }; 2649 2650 struct IIR_AttrTypeValue : IIR_ValueAttr { 2651 pIIR_Type prefix; 2652 pIIR_Expression argument; 2653 IIR_AttrTypeValueIIR_AttrTypeValue2654 IIR_AttrTypeValue (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2655 : IIR_ValueAttr (pos, subtype, static_level), 2656 prefix (prefix), 2657 argument (argument) 2658 { } 2659 2660 tree_kind kind (); 2661 }; 2662 2663 struct IIR_Attr_LEFT : IIR_AttrTypeValue { 2664 IIR_Attr_LEFTIIR_Attr_LEFT2665 IIR_Attr_LEFT (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2666 : IIR_AttrTypeValue (pos, subtype, static_level, prefix, argument) 2667 { } 2668 2669 tree_kind kind (); 2670 }; 2671 2672 struct IIR_Attr_RIGHT : IIR_AttrTypeValue { 2673 IIR_Attr_RIGHTIIR_Attr_RIGHT2674 IIR_Attr_RIGHT (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2675 : IIR_AttrTypeValue (pos, subtype, static_level, prefix, argument) 2676 { } 2677 2678 tree_kind kind (); 2679 }; 2680 2681 struct IIR_Attr_LOW : IIR_AttrTypeValue { 2682 IIR_Attr_LOWIIR_Attr_LOW2683 IIR_Attr_LOW (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2684 : IIR_AttrTypeValue (pos, subtype, static_level, prefix, argument) 2685 { } 2686 2687 tree_kind kind (); 2688 }; 2689 2690 struct IIR_Attr_HIGH : IIR_AttrTypeValue { 2691 IIR_Attr_HIGHIIR_Attr_HIGH2692 IIR_Attr_HIGH (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2693 : IIR_AttrTypeValue (pos, subtype, static_level, prefix, argument) 2694 { } 2695 2696 tree_kind kind (); 2697 }; 2698 2699 struct IIR_Attr_ASCENDING : IIR_AttrTypeValue { 2700 IIR_Attr_ASCENDINGIIR_Attr_ASCENDING2701 IIR_Attr_ASCENDING (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2702 : IIR_AttrTypeValue (pos, subtype, static_level, prefix, argument) 2703 { } 2704 2705 tree_kind kind (); 2706 }; 2707 2708 struct IIR_Attr_LENGTH : IIR_AttrTypeValue { 2709 IIR_Attr_LENGTHIIR_Attr_LENGTH2710 IIR_Attr_LENGTH (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2711 : IIR_AttrTypeValue (pos, subtype, static_level, prefix, argument) 2712 { } 2713 2714 tree_kind kind (); 2715 }; 2716 2717 struct IIR_AttrTypeFunc : IIR_FunctionAttr { 2718 pIIR_Type prefix; 2719 pIIR_Expression argument; 2720 IIR_AttrTypeFuncIIR_AttrTypeFunc2721 IIR_AttrTypeFunc (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2722 : IIR_FunctionAttr (pos, subtype, static_level), 2723 prefix (prefix), 2724 argument (argument) 2725 { } 2726 2727 tree_kind kind (); 2728 }; 2729 2730 struct IIR_Attr_IMAGE : IIR_AttrTypeFunc { 2731 IIR_Attr_IMAGEIIR_Attr_IMAGE2732 IIR_Attr_IMAGE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2733 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2734 { } 2735 2736 tree_kind kind (); 2737 }; 2738 2739 struct IIR_Attr_VALUE : IIR_AttrTypeFunc { 2740 IIR_Attr_VALUEIIR_Attr_VALUE2741 IIR_Attr_VALUE (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2742 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2743 { } 2744 2745 tree_kind kind (); 2746 }; 2747 2748 struct IIR_Attr_POS : IIR_AttrTypeFunc { 2749 IIR_Attr_POSIIR_Attr_POS2750 IIR_Attr_POS (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2751 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2752 { } 2753 2754 tree_kind kind (); 2755 }; 2756 2757 struct IIR_Attr_VAL : IIR_AttrTypeFunc { 2758 IIR_Attr_VALIIR_Attr_VAL2759 IIR_Attr_VAL (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2760 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2761 { } 2762 2763 tree_kind kind (); 2764 }; 2765 2766 struct IIR_Attr_SUCC : IIR_AttrTypeFunc { 2767 IIR_Attr_SUCCIIR_Attr_SUCC2768 IIR_Attr_SUCC (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2769 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2770 { } 2771 2772 tree_kind kind (); 2773 }; 2774 2775 struct IIR_Attr_PRED : IIR_AttrTypeFunc { 2776 IIR_Attr_PREDIIR_Attr_PRED2777 IIR_Attr_PRED (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2778 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2779 { } 2780 2781 tree_kind kind (); 2782 }; 2783 2784 struct IIR_Attr_LEFTOF : IIR_AttrTypeFunc { 2785 IIR_Attr_LEFTOFIIR_Attr_LEFTOF2786 IIR_Attr_LEFTOF (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2787 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2788 { } 2789 2790 tree_kind kind (); 2791 }; 2792 2793 struct IIR_Attr_RIGHTOF : IIR_AttrTypeFunc { 2794 IIR_Attr_RIGHTOFIIR_Attr_RIGHTOF2795 IIR_Attr_RIGHTOF (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Type prefix, pIIR_Expression argument) 2796 : IIR_AttrTypeFunc (pos, subtype, static_level, prefix, argument) 2797 { } 2798 2799 tree_kind kind (); 2800 }; 2801 2802 struct IIR_AttrArrayFunc : IIR_FunctionAttr { 2803 pIIR_Expression array; 2804 pIIR_Type array_type; 2805 int index; 2806 IIR_AttrArrayFuncIIR_AttrArrayFunc2807 IIR_AttrArrayFunc (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2808 : IIR_FunctionAttr (pos, subtype, static_level), 2809 array (array), 2810 array_type (array_type), 2811 index (index) 2812 { } 2813 2814 tree_kind kind (); 2815 }; 2816 2817 struct IIR_Attr_ArrayLEFT : IIR_AttrArrayFunc { 2818 IIR_Attr_ArrayLEFTIIR_Attr_ArrayLEFT2819 IIR_Attr_ArrayLEFT (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2820 : IIR_AttrArrayFunc (pos, subtype, static_level, array, array_type, index) 2821 { } 2822 2823 tree_kind kind (); 2824 }; 2825 2826 struct IIR_Attr_ArrayRIGHT : IIR_AttrArrayFunc { 2827 IIR_Attr_ArrayRIGHTIIR_Attr_ArrayRIGHT2828 IIR_Attr_ArrayRIGHT (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2829 : IIR_AttrArrayFunc (pos, subtype, static_level, array, array_type, index) 2830 { } 2831 2832 tree_kind kind (); 2833 }; 2834 2835 struct IIR_Attr_ArrayHIGH : IIR_AttrArrayFunc { 2836 IIR_Attr_ArrayHIGHIIR_Attr_ArrayHIGH2837 IIR_Attr_ArrayHIGH (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2838 : IIR_AttrArrayFunc (pos, subtype, static_level, array, array_type, index) 2839 { } 2840 2841 tree_kind kind (); 2842 }; 2843 2844 struct IIR_Attr_ArrayLOW : IIR_AttrArrayFunc { 2845 IIR_Attr_ArrayLOWIIR_Attr_ArrayLOW2846 IIR_Attr_ArrayLOW (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2847 : IIR_AttrArrayFunc (pos, subtype, static_level, array, array_type, index) 2848 { } 2849 2850 tree_kind kind (); 2851 }; 2852 2853 struct IIR_Attr_ArrayASCENDING : IIR_AttrArrayFunc { 2854 IIR_Attr_ArrayASCENDINGIIR_Attr_ArrayASCENDING2855 IIR_Attr_ArrayASCENDING (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2856 : IIR_AttrArrayFunc (pos, subtype, static_level, array, array_type, index) 2857 { } 2858 2859 tree_kind kind (); 2860 }; 2861 2862 struct IIR_Attr_ArrayLENGTH : IIR_AttrArrayFunc { 2863 IIR_Attr_ArrayLENGTHIIR_Attr_ArrayLENGTH2864 IIR_Attr_ArrayLENGTH (pIIR_PosInfo pos, pIIR_Type subtype, IR_StaticLevel static_level, pIIR_Expression array, pIIR_Type array_type, int index) 2865 : IIR_AttrArrayFunc (pos, subtype, static_level, array, array_type, index) 2866 { } 2867 2868 tree_kind kind (); 2869 }; 2870 2871 struct IIR_SequentialStatement : IIR_Root { 2872 pIIR_Label label; 2873 IIR_SequentialStatementIIR_SequentialStatement2874 IIR_SequentialStatement (pIIR_PosInfo pos, pIIR_Label label) 2875 : IIR_Root (pos), 2876 label (label) 2877 { } 2878 2879 tree_kind kind (); 2880 }; 2881 2882 struct IIR_WaitStatement : IIR_SequentialStatement { 2883 pIIR_Expression condition_clause; 2884 pIIR_Expression timeout_clause; 2885 pIIR_ExpressionList sensitivity_list; 2886 IIR_WaitStatementIIR_WaitStatement2887 IIR_WaitStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression condition_clause, pIIR_Expression timeout_clause, pIIR_ExpressionList sensitivity_list) 2888 : IIR_SequentialStatement (pos, label), 2889 condition_clause (condition_clause), 2890 timeout_clause (timeout_clause), 2891 sensitivity_list (sensitivity_list) 2892 { } 2893 2894 tree_kind kind (); 2895 }; 2896 2897 struct IIR_AssertionStatement : IIR_SequentialStatement { 2898 pIIR_Expression assertion_condition; 2899 pIIR_Expression report_expression; 2900 pIIR_Expression severity_expression; 2901 IIR_AssertionStatementIIR_AssertionStatement2902 IIR_AssertionStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression assertion_condition, pIIR_Expression report_expression, pIIR_Expression severity_expression) 2903 : IIR_SequentialStatement (pos, label), 2904 assertion_condition (assertion_condition), 2905 report_expression (report_expression), 2906 severity_expression (severity_expression) 2907 { } 2908 2909 tree_kind kind (); 2910 }; 2911 2912 struct IIR_ReportStatement : IIR_SequentialStatement { 2913 pIIR_Expression report_expression; 2914 pIIR_Expression severity_expression; 2915 IIR_ReportStatementIIR_ReportStatement2916 IIR_ReportStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression report_expression, pIIR_Expression severity_expression) 2917 : IIR_SequentialStatement (pos, label), 2918 report_expression (report_expression), 2919 severity_expression (severity_expression) 2920 { } 2921 2922 tree_kind kind (); 2923 }; 2924 2925 struct IIR_SignalAssignmentStatement : IIR_SequentialStatement { 2926 pIIR_Expression target; 2927 IR_DelayMechanism delay_mechanism; 2928 pIIR_Expression reject_time_expression; 2929 pIIR_WaveformList waveform; 2930 IIR_SignalAssignmentStatementIIR_SignalAssignmentStatement2931 IIR_SignalAssignmentStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression target, IR_DelayMechanism delay_mechanism, pIIR_Expression reject_time_expression, pIIR_WaveformList waveform) 2932 : IIR_SequentialStatement (pos, label), 2933 target (target), 2934 delay_mechanism (delay_mechanism), 2935 reject_time_expression (reject_time_expression), 2936 waveform (waveform) 2937 { } 2938 2939 tree_kind kind (); 2940 }; 2941 2942 struct IIR_VariableAssignmentStatement : IIR_SequentialStatement { 2943 pIIR_Expression target; 2944 pIIR_Expression expression; 2945 IIR_VariableAssignmentStatementIIR_VariableAssignmentStatement2946 IIR_VariableAssignmentStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression target, pIIR_Expression expression) 2947 : IIR_SequentialStatement (pos, label), 2948 target (target), 2949 expression (expression) 2950 { } 2951 2952 tree_kind kind (); 2953 }; 2954 2955 struct IIR_ProcedureCallStatement : IIR_SequentialStatement { 2956 pIIR_ProcedureDeclaration procedure; 2957 pIIR_AssociationList actual_parameter_part; 2958 IIR_ProcedureCallStatementIIR_ProcedureCallStatement2959 IIR_ProcedureCallStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_ProcedureDeclaration procedure, pIIR_AssociationList actual_parameter_part) 2960 : IIR_SequentialStatement (pos, label), 2961 procedure (procedure), 2962 actual_parameter_part (actual_parameter_part) 2963 { } 2964 2965 tree_kind kind (); 2966 }; 2967 2968 struct IIR_IfStatement : IIR_SequentialStatement { 2969 pIIR_Expression condition; 2970 pIIR_SequentialStatementList then_sequence; 2971 pIIR_SequentialStatementList else_sequence; 2972 IIR_IfStatementIIR_IfStatement2973 IIR_IfStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression condition, pIIR_SequentialStatementList then_sequence, pIIR_SequentialStatementList else_sequence) 2974 : IIR_SequentialStatement (pos, label), 2975 condition (condition), 2976 then_sequence (then_sequence), 2977 else_sequence (else_sequence) 2978 { } 2979 2980 tree_kind kind (); 2981 }; 2982 2983 struct IIR_CaseStatement : IIR_SequentialStatement { 2984 pIIR_Expression expression; 2985 pIIR_CaseStatementAlternativeList case_statement_alternatives; 2986 IIR_CaseStatementIIR_CaseStatement2987 IIR_CaseStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_Expression expression, pIIR_CaseStatementAlternativeList case_statement_alternatives) 2988 : IIR_SequentialStatement (pos, label), 2989 expression (expression), 2990 case_statement_alternatives (case_statement_alternatives) 2991 { } 2992 2993 tree_kind kind (); 2994 }; 2995 2996 struct IIR_LoopStatement : IIR_SequentialStatement { 2997 pIIR_SequentialStatementList sequence_of_statements; 2998 pIIR_LoopDeclarativeRegion declarative_region; 2999 IIR_LoopStatementIIR_LoopStatement3000 IIR_LoopStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_SequentialStatementList sequence_of_statements, pIIR_LoopDeclarativeRegion declarative_region) 3001 : IIR_SequentialStatement (pos, label), 3002 sequence_of_statements (sequence_of_statements), 3003 declarative_region (declarative_region) 3004 { } 3005 3006 tree_kind kind (); 3007 }; 3008 3009 struct IIR_ForLoopStatement : IIR_LoopStatement { 3010 pIIR_ConstantDeclaration iterator; 3011 IIR_ForLoopStatementIIR_ForLoopStatement3012 IIR_ForLoopStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_SequentialStatementList sequence_of_statements, pIIR_LoopDeclarativeRegion declarative_region, pIIR_ConstantDeclaration iterator) 3013 : IIR_LoopStatement (pos, label, sequence_of_statements, declarative_region), 3014 iterator (iterator) 3015 { } 3016 3017 tree_kind kind (); 3018 }; 3019 3020 struct IIR_WhileLoopStatement : IIR_LoopStatement { 3021 pIIR_Expression condition; 3022 IIR_WhileLoopStatementIIR_WhileLoopStatement3023 IIR_WhileLoopStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_SequentialStatementList sequence_of_statements, pIIR_LoopDeclarativeRegion declarative_region, pIIR_Expression condition) 3024 : IIR_LoopStatement (pos, label, sequence_of_statements, declarative_region), 3025 condition (condition) 3026 { } 3027 3028 tree_kind kind (); 3029 }; 3030 3031 struct IIR_LoopControlStatement : IIR_SequentialStatement { 3032 pIIR_LoopStatement loop; 3033 pIIR_Expression condition; 3034 IIR_LoopControlStatementIIR_LoopControlStatement3035 IIR_LoopControlStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_LoopStatement loop, pIIR_Expression condition) 3036 : IIR_SequentialStatement (pos, label), 3037 loop (loop), 3038 condition (condition) 3039 { } 3040 3041 tree_kind kind (); 3042 }; 3043 3044 struct IIR_NextStatement : IIR_LoopControlStatement { 3045 IIR_NextStatementIIR_NextStatement3046 IIR_NextStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_LoopStatement loop, pIIR_Expression condition) 3047 : IIR_LoopControlStatement (pos, label, loop, condition) 3048 { } 3049 3050 tree_kind kind (); 3051 }; 3052 3053 struct IIR_ExitStatement : IIR_LoopControlStatement { 3054 IIR_ExitStatementIIR_ExitStatement3055 IIR_ExitStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_LoopStatement loop, pIIR_Expression condition) 3056 : IIR_LoopControlStatement (pos, label, loop, condition) 3057 { } 3058 3059 tree_kind kind (); 3060 }; 3061 3062 struct IIR_ReturnStatement : IIR_SequentialStatement { 3063 pIIR_SubprogramDeclaration enclosing_subprogram; 3064 pIIR_Expression return_expression; 3065 IIR_ReturnStatementIIR_ReturnStatement3066 IIR_ReturnStatement (pIIR_PosInfo pos, pIIR_Label label, pIIR_SubprogramDeclaration enclosing_subprogram, pIIR_Expression return_expression) 3067 : IIR_SequentialStatement (pos, label), 3068 enclosing_subprogram (enclosing_subprogram), 3069 return_expression (return_expression) 3070 { } 3071 3072 tree_kind kind (); 3073 }; 3074 3075 struct IIR_NullStatement : IIR_SequentialStatement { 3076 IIR_NullStatementIIR_NullStatement3077 IIR_NullStatement (pIIR_PosInfo pos, pIIR_Label label) 3078 : IIR_SequentialStatement (pos, label) 3079 { } 3080 3081 tree_kind kind (); 3082 }; 3083 3084 struct IIR_ConcurrentStatement : IIR_DeclarativeRegion { 3085 IIR_ConcurrentStatementIIR_ConcurrentStatement3086 IIR_ConcurrentStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations) 3087 : IIR_DeclarativeRegion (pos, declarator, declarative_region, attributes, seqno, continued, declarations) 3088 { } 3089 3090 tree_kind kind (); 3091 }; 3092 3093 struct IIR_BlockStatement : IIR_ConcurrentStatement { 3094 pIIR_Expression guard_expression; 3095 pIIR_InterfaceList generic_clause; 3096 pIIR_AssociationList generic_map_aspect; 3097 pIIR_InterfaceList port_clause; 3098 pIIR_AssociationList port_map_aspect; 3099 pIIR_ConfigurationSpecificationList configuration_specifications; 3100 pIIR_ConcurrentStatementList block_statement_part; 3101 IIR_BlockStatementIIR_BlockStatement3102 IIR_BlockStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_Expression guard_expression, pIIR_InterfaceList generic_clause, pIIR_AssociationList generic_map_aspect, pIIR_InterfaceList port_clause, pIIR_AssociationList port_map_aspect, pIIR_ConfigurationSpecificationList configuration_specifications, pIIR_ConcurrentStatementList block_statement_part) 3103 : IIR_ConcurrentStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 3104 guard_expression (guard_expression), 3105 generic_clause (generic_clause), 3106 generic_map_aspect (generic_map_aspect), 3107 port_clause (port_clause), 3108 port_map_aspect (port_map_aspect), 3109 configuration_specifications (configuration_specifications), 3110 block_statement_part (block_statement_part) 3111 { } 3112 3113 tree_kind kind (); 3114 }; 3115 3116 struct IIR_ProcessStatement : IIR_ConcurrentStatement { 3117 bool postponed; 3118 bool guarded; 3119 pIIR_SequentialStatementList process_statement_part; 3120 IIR_ProcessStatementIIR_ProcessStatement3121 IIR_ProcessStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, bool postponed, bool guarded, pIIR_SequentialStatementList process_statement_part) 3122 : IIR_ConcurrentStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 3123 postponed (postponed), 3124 guarded (guarded), 3125 process_statement_part (process_statement_part) 3126 { } 3127 3128 tree_kind kind (); 3129 }; 3130 3131 struct IIR_ImplicitProcessStatement : IIR_ProcessStatement { 3132 IIR_ImplicitProcessStatementIIR_ImplicitProcessStatement3133 IIR_ImplicitProcessStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, bool postponed, bool guarded, pIIR_SequentialStatementList process_statement_part) 3134 : IIR_ProcessStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations, postponed, guarded, process_statement_part) 3135 { } 3136 3137 tree_kind kind (); 3138 }; 3139 3140 struct IIR_SensitizedProcessStatement : IIR_ProcessStatement { 3141 pIIR_ExpressionList sensitivity_list; 3142 IIR_SensitizedProcessStatementIIR_SensitizedProcessStatement3143 IIR_SensitizedProcessStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, bool postponed, bool guarded, pIIR_SequentialStatementList process_statement_part, pIIR_ExpressionList sensitivity_list) 3144 : IIR_ProcessStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations, postponed, guarded, process_statement_part), 3145 sensitivity_list (sensitivity_list) 3146 { } 3147 3148 tree_kind kind (); 3149 }; 3150 3151 struct IIR_ComponentInstantiationStatement : IIR_ConcurrentStatement { 3152 pIIR_BindingIndication binding; 3153 pIIR_BindingIndication configuration; 3154 IIR_ComponentInstantiationStatementIIR_ComponentInstantiationStatement3155 IIR_ComponentInstantiationStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_BindingIndication binding, pIIR_BindingIndication configuration) 3156 : IIR_ConcurrentStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 3157 binding (binding), 3158 configuration (configuration) 3159 { } 3160 3161 tree_kind kind (); 3162 }; 3163 3164 struct IIR_ConcurrentGenerateStatement : IIR_ConcurrentStatement { 3165 pIIR_ConfigurationSpecificationList configuration_specifications; 3166 pIIR_ConcurrentStatementList concurrent_statement_part; 3167 IIR_ConcurrentGenerateStatementIIR_ConcurrentGenerateStatement3168 IIR_ConcurrentGenerateStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_ConfigurationSpecificationList configuration_specifications, pIIR_ConcurrentStatementList concurrent_statement_part) 3169 : IIR_ConcurrentStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations), 3170 configuration_specifications (configuration_specifications), 3171 concurrent_statement_part (concurrent_statement_part) 3172 { } 3173 3174 tree_kind kind (); 3175 }; 3176 3177 struct IIR_ConcurrentGenerateForStatement : IIR_ConcurrentGenerateStatement { 3178 pIIR_ConstantDeclaration generate_parameter_specification; 3179 IIR_ConcurrentGenerateForStatementIIR_ConcurrentGenerateForStatement3180 IIR_ConcurrentGenerateForStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_ConfigurationSpecificationList configuration_specifications, pIIR_ConcurrentStatementList concurrent_statement_part, pIIR_ConstantDeclaration generate_parameter_specification) 3181 : IIR_ConcurrentGenerateStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations, configuration_specifications, concurrent_statement_part), 3182 generate_parameter_specification (generate_parameter_specification) 3183 { } 3184 3185 tree_kind kind (); 3186 }; 3187 3188 struct IIR_ConcurrentGenerateIfStatement : IIR_ConcurrentGenerateStatement { 3189 pIIR_Expression condition; 3190 IIR_ConcurrentGenerateIfStatementIIR_ConcurrentGenerateIfStatement3191 IIR_ConcurrentGenerateIfStatement (pIIR_PosInfo pos, pIIR_TextLiteral declarator, pIIR_DeclarativeRegion declarative_region, pIIR_AttributeValueList attributes, int seqno, pIIR_DeclarativeRegion continued, pIIR_DeclarationList declarations, pIIR_ConfigurationSpecificationList configuration_specifications, pIIR_ConcurrentStatementList concurrent_statement_part, pIIR_Expression condition) 3192 : IIR_ConcurrentGenerateStatement (pos, declarator, declarative_region, attributes, seqno, continued, declarations, configuration_specifications, concurrent_statement_part), 3193 condition (condition) 3194 { } 3195 3196 tree_kind kind (); 3197 }; 3198 3199 void init_fire_chunk (); 3200 3201 #endif 3202