00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef TAO_PSDL_NODE_H
00022 #define TAO_PSDL_NODE_H
00023
00024 #include "psdl_export.h"
00025
00026 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00027 # pragma once
00028 #endif
00029
00030 #include "PSDL_Scope.h"
00031
00032 #include "tao/corbafwd.h"
00033 #include "ace/SString.h"
00034
00035
00036 class TAO_PSDL_Node_Visitor;
00037 class TAO_PSDL_Scope_Visitor;
00038
00039 class TAO::String_Manager;
00040
00041 class TAO_PSDL_Export TAO_PSDL_Node
00042 {
00043 public:
00044
00045
00046 TAO_PSDL_Node (void);
00047
00048 virtual ~TAO_PSDL_Node (void);
00049
00050
00051
00052
00053
00054
00055 virtual int accept (TAO_PSDL_Node_Visitor *visitor) = 0;
00056
00057
00058 virtual int type_of_node (void) const;
00059
00060
00061 ACE_CString get_identifier_type (void);
00062 ACE_CString get_identifier_value (void);
00063 void set_identifier (ACE_CString identifier);
00064
00065
00066
00067 void set_predefined_type (void);
00068
00069
00070 TAO_PSDL_Scope *psdl_scope (void);
00071 TAO_PSDL_Scope_Visitor *psdl_scope_visitor (void);
00072
00073 protected :
00074
00075 int type_;
00076
00077
00078
00079 ACE_Array_Base <ACE_CString> identifiers_;
00080
00081
00082
00083 CORBA::ULong count_;
00084
00085
00086
00087
00088
00089
00090 CORBA::Boolean predefined_type_;
00091
00092 TAO_PSDL_Scope *psdl_scope_;
00093
00094
00095 TAO_PSDL_Scope_Visitor *psdl_scope_visitor_;
00096 };
00097
00098
00099
00100 class TAO_PSDL_Export TAO_PSDL_Specification : public TAO_PSDL_Node
00101 {
00102
00103 public:
00104 TAO_PSDL_Specification (TAO_PSDL_Node *definition);
00105 TAO_PSDL_Specification (TAO_PSDL_Node *definition,
00106 TAO_PSDL_Node *specification);
00107
00108 virtual ~TAO_PSDL_Specification (void);
00109
00110
00111 TAO_PSDL_Node *definition (void) const;
00112 TAO_PSDL_Node *specification (void) const;
00113
00114
00115 int accept (TAO_PSDL_Node_Visitor *visitor);
00116
00117 private:
00118
00119 TAO_PSDL_Node *definition_;
00120 TAO_PSDL_Node *specification_;
00121
00122 };
00123
00124
00125
00126 class TAO_PSDL_Export TAO_PSDL_Definition : public TAO_PSDL_Node
00127 {
00128
00129 public:
00130 TAO_PSDL_Definition (TAO_PSDL_Node *definition_type);
00131
00132 virtual ~TAO_PSDL_Definition (void);
00133
00134
00135 TAO_PSDL_Node *definition_type (void) const;
00136
00137
00138 int accept (TAO_PSDL_Node_Visitor *visitor);
00139
00140 private:
00141
00142 TAO_PSDL_Node *definition_type_;
00143 };
00144
00145
00146
00147 class TAO_PSDL_Export TAO_PSDL_Module : public TAO_PSDL_Node
00148 {
00149
00150 public:
00151 TAO_PSDL_Module (int type,
00152 TAO_PSDL_Node *identifier,
00153 TAO_PSDL_Node *specification);
00154
00155 virtual ~TAO_PSDL_Module (void);
00156
00157
00158 TAO_PSDL_Node *identifier (void) const;
00159 TAO_PSDL_Node *specification (void) const;
00160
00161 void set_identifier_name (ACE_CString);
00162 ACE_CString identifier_name (void) const;
00163
00164
00165 int accept (TAO_PSDL_Node_Visitor *visitor);
00166
00167 private:
00168
00169 TAO_PSDL_Node *identifier_;
00170 TAO_PSDL_Node *specification_;
00171 ACE_CString module_name_;
00172 };
00173
00174
00175
00176 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype : public TAO_PSDL_Node
00177 {
00178
00179 public:
00180 TAO_PSDL_Abstract_Storagetype (TAO_PSDL_Node *storagetype_dcl);
00181
00182 virtual ~TAO_PSDL_Abstract_Storagetype (void);
00183
00184
00185 TAO_PSDL_Node *storagetype_dcl (void) const;
00186
00187
00188 int accept (TAO_PSDL_Node_Visitor *visitor);
00189
00190 private:
00191
00192 TAO_PSDL_Node *storagetype_dcl_;
00193 };
00194
00195
00196
00197 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Dcl : public TAO_PSDL_Node
00198 {
00199 public:
00200
00201 TAO_PSDL_Abstract_Storagetype_Dcl (TAO_PSDL_Node *abs_storagetype_header);
00202
00203 TAO_PSDL_Abstract_Storagetype_Dcl (TAO_PSDL_Node *abs_storagetype_header,
00204 TAO_PSDL_Node *abs_storagetype_body);
00205
00206 virtual ~TAO_PSDL_Abstract_Storagetype_Dcl (void);
00207
00208
00209 TAO_PSDL_Node *abs_storagetype_header (void) const;
00210 TAO_PSDL_Node *abs_storagetype_body (void) const;
00211
00212
00213 int accept (TAO_PSDL_Node_Visitor *visitor);
00214
00215 private:
00216
00217 TAO_PSDL_Node *abs_storagetype_header_;
00218 TAO_PSDL_Node *abs_storagetype_body_;
00219
00220 };
00221
00222
00223
00224 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Fwd_Dcl : public TAO_PSDL_Node
00225 {
00226 public:
00227 TAO_PSDL_Abstract_Storagetype_Fwd_Dcl (TAO_PSDL_Node *identifer);
00228
00229 virtual ~TAO_PSDL_Abstract_Storagetype_Fwd_Dcl (void);
00230
00231
00232 TAO_PSDL_Node *identifier (void) const;
00233
00234
00235 int accept (TAO_PSDL_Node_Visitor *visitor);
00236
00237 private:
00238
00239 TAO_PSDL_Node *identifier_;
00240 };
00241
00242
00243
00244 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Header : public TAO_PSDL_Node
00245 {
00246 public:
00247
00248 TAO_PSDL_Abstract_Storagetype_Header (TAO_PSDL_Node *identifer);
00249 TAO_PSDL_Abstract_Storagetype_Header (TAO_PSDL_Node *identifer,
00250 TAO_PSDL_Node *abs_storagetype_inh_spec);
00251
00252 virtual ~TAO_PSDL_Abstract_Storagetype_Header (void);
00253
00254
00255 TAO_PSDL_Node *identifier (void) const;
00256 TAO_PSDL_Node *abs_storagetype_inh_spec (void) const;
00257
00258
00259 int accept (TAO_PSDL_Node_Visitor *visitor);
00260
00261 private:
00262
00263 TAO_PSDL_Node *identifier_;
00264 TAO_PSDL_Node *abs_storagetype_inh_spec_;
00265 };
00266
00267
00268
00269 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Body : public TAO_PSDL_Node
00270 {
00271 public:
00272
00273 TAO_PSDL_Abstract_Storagetype_Body (TAO_PSDL_Node *abs_storagetype_member);
00274 TAO_PSDL_Abstract_Storagetype_Body (TAO_PSDL_Node *abs_storagetype_member,
00275 TAO_PSDL_Node *abs_storagetype_body);
00276
00277 virtual ~TAO_PSDL_Abstract_Storagetype_Body (void);
00278
00279
00280 TAO_PSDL_Node *abs_storagetype_member (void) const;
00281 TAO_PSDL_Node *abs_storagetype_body (void) const;
00282
00283
00284 int accept (TAO_PSDL_Node_Visitor *visitor);
00285
00286 private:
00287
00288 TAO_PSDL_Node *abs_storagetype_member_;
00289 TAO_PSDL_Node *abs_storagetype_body_;
00290 };
00291
00292
00293
00294 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Member : public TAO_PSDL_Node
00295 {
00296 public:
00297
00298 TAO_PSDL_Abstract_Storagetype_Member (TAO_PSDL_Node *declaration);
00299 virtual ~TAO_PSDL_Abstract_Storagetype_Member (void);
00300
00301
00302 TAO_PSDL_Node *declaration (void) const;
00303
00304
00305 int accept (TAO_PSDL_Node_Visitor *visitor);
00306
00307 private:
00308
00309 TAO_PSDL_Node *declaration_;
00310 };
00311
00312
00313
00314 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Inh_Spec : public TAO_PSDL_Node
00315 {
00316 public:
00317
00318 TAO_PSDL_Abstract_Storagetype_Inh_Spec (TAO_PSDL_Node *abs_storagetype_name);
00319 virtual ~TAO_PSDL_Abstract_Storagetype_Inh_Spec (void);
00320
00321
00322 TAO_PSDL_Node *abs_storagetype_name (void) const;
00323
00324
00325 int accept (TAO_PSDL_Node_Visitor *visitor);
00326
00327 private:
00328
00329 TAO_PSDL_Node *abs_storagetype_name_;
00330 };
00331
00332
00333
00334 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Name : public TAO_PSDL_Node
00335 {
00336 public:
00337
00338 TAO_PSDL_Abstract_Storagetype_Name (TAO_PSDL_Node *scoped_name);
00339 TAO_PSDL_Abstract_Storagetype_Name (TAO_PSDL_Node *scoped_name,
00340 TAO_PSDL_Node *abs_storagetype_name);
00341 virtual ~TAO_PSDL_Abstract_Storagetype_Name (void);
00342
00343
00344 TAO_PSDL_Node *scoped_name (void) const;
00345 TAO_PSDL_Node *abs_storagetype_name (void) const;
00346
00347
00348 int accept (TAO_PSDL_Node_Visitor *visitor);
00349
00350 private:
00351
00352 TAO_PSDL_Node *scoped_name_;
00353 TAO_PSDL_Node *abs_storagetype_name_;
00354 };
00355
00356
00357
00358 class TAO_PSDL_Export TAO_PSDL_Psdl_State_Dcl : public TAO_PSDL_Node
00359 {
00360 public:
00361
00362 TAO_PSDL_Psdl_State_Dcl (TAO_PSDL_Node *key_word,
00363 TAO_PSDL_Node *psdl_state_type_spec,
00364 TAO_PSDL_Node *simple_declarator);
00365
00366 TAO_PSDL_Psdl_State_Dcl (TAO_PSDL_Node *psdl_state_type_spec,
00367 TAO_PSDL_Node *simple_declarator);
00368
00369 virtual ~TAO_PSDL_Psdl_State_Dcl (void);
00370
00371
00372 TAO_PSDL_Node *psdl_state_type_spec (void) const;
00373 TAO_PSDL_Node *simple_declarator (void) const;
00374 TAO_PSDL_Node *key_word (void) const;
00375
00376
00377 int accept (TAO_PSDL_Node_Visitor *visitor);
00378
00379 private:
00380
00381 TAO_PSDL_Node *key_word_;
00382 TAO_PSDL_Node *psdl_state_type_spec_;
00383 TAO_PSDL_Node *simple_declarator_;
00384 };
00385
00386
00387
00388 class TAO_PSDL_Export TAO_PSDL_Psdl_State_Type_Spec : public TAO_PSDL_Node
00389 {
00390 public:
00391
00392 TAO_PSDL_Psdl_State_Type_Spec (TAO_PSDL_Node *type_spec);
00393
00394 virtual ~TAO_PSDL_Psdl_State_Type_Spec (void);
00395
00396
00397 TAO_PSDL_Node *type_spec (void) const;
00398
00399
00400 int accept (TAO_PSDL_Node_Visitor *visitor);
00401
00402 private:
00403
00404 TAO_PSDL_Node *type_spec_;
00405 };
00406
00407
00408
00409 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagetype_Ref_Type : public TAO_PSDL_Node
00410 {
00411 public:
00412
00413 TAO_PSDL_Abstract_Storagetype_Ref_Type (TAO_PSDL_Node *key_word,
00414 TAO_PSDL_Node *abs_storagetype_name);
00415
00416 TAO_PSDL_Abstract_Storagetype_Ref_Type (TAO_PSDL_Node *abs_storagetype_name);
00417
00418 virtual ~TAO_PSDL_Abstract_Storagetype_Ref_Type (void);
00419
00420
00421 TAO_PSDL_Node *key_word (void) const;
00422 TAO_PSDL_Node *abs_storagetype_name (void) const;
00423
00424
00425 int accept (TAO_PSDL_Node_Visitor *visitor);
00426
00427 private:
00428
00429 TAO_PSDL_Node *key_word_;
00430 TAO_PSDL_Node *abs_storagetype_name_;
00431 };
00432
00433
00434
00435 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome : public TAO_PSDL_Node
00436 {
00437 public:
00438
00439 TAO_PSDL_Abstract_Storagehome (TAO_PSDL_Node *abs_storagehome_dcl);
00440
00441 virtual ~TAO_PSDL_Abstract_Storagehome (void);
00442
00443
00444 TAO_PSDL_Node *abs_storagehome_dcl (void) const;
00445
00446
00447 int accept (TAO_PSDL_Node_Visitor *visitor);
00448
00449 private:
00450
00451 TAO_PSDL_Node *abs_storagehome_dcl_;
00452 };
00453
00454
00455
00456 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Fwd_Dcl : public TAO_PSDL_Node
00457 {
00458 public:
00459
00460 TAO_PSDL_Abstract_Storagehome_Fwd_Dcl (TAO_PSDL_Node *identifier);
00461
00462 virtual ~TAO_PSDL_Abstract_Storagehome_Fwd_Dcl (void);
00463
00464
00465 TAO_PSDL_Node *identifier (void) const;
00466
00467
00468 int accept (TAO_PSDL_Node_Visitor *visitor);
00469
00470 private:
00471
00472 TAO_PSDL_Node *identifier_;
00473 };
00474
00475
00476
00477 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Dcl : public TAO_PSDL_Node
00478 {
00479 public:
00480
00481 TAO_PSDL_Abstract_Storagehome_Dcl (TAO_PSDL_Node *abs_storagehome_header);
00482
00483 TAO_PSDL_Abstract_Storagehome_Dcl (TAO_PSDL_Node *abs_storagehome_header,
00484 TAO_PSDL_Node *abs_storagehome_body);
00485
00486 virtual ~TAO_PSDL_Abstract_Storagehome_Dcl (void);
00487
00488
00489 TAO_PSDL_Node *abs_storagehome_header (void) const;
00490 TAO_PSDL_Node *abs_storagehome_body (void) const;
00491
00492
00493 int accept (TAO_PSDL_Node_Visitor *visitor);
00494
00495 private:
00496
00497 TAO_PSDL_Node *abs_storagehome_header_;
00498 TAO_PSDL_Node *abs_storagehome_body_;
00499 };
00500
00501
00502
00503 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Header : public TAO_PSDL_Node
00504 {
00505 public:
00506
00507 TAO_PSDL_Abstract_Storagehome_Header (TAO_PSDL_Node *identifier,
00508 TAO_PSDL_Node *abs_storagetype_name);
00509
00510 TAO_PSDL_Abstract_Storagehome_Header (TAO_PSDL_Node *identifier,
00511 TAO_PSDL_Node *abs_storagetype_name,
00512 TAO_PSDL_Node *abs_storagehome_inh_spec);
00513
00514 virtual ~TAO_PSDL_Abstract_Storagehome_Header (void);
00515
00516
00517 TAO_PSDL_Node *identifier (void) const;
00518 TAO_PSDL_Node *abs_storagetype_name (void) const;
00519 TAO_PSDL_Node *abs_storagehome_inh_spec (void) const;
00520
00521
00522
00523 int accept (TAO_PSDL_Node_Visitor *visitor);
00524
00525 private:
00526
00527 TAO_PSDL_Node *identifier_;
00528 TAO_PSDL_Node *abs_storagetype_name_;
00529 TAO_PSDL_Node *abs_storagehome_inh_spec_;
00530 };
00531
00532
00533
00534 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Body : public TAO_PSDL_Node
00535 {
00536 public:
00537
00538 TAO_PSDL_Abstract_Storagehome_Body ();
00539
00540 TAO_PSDL_Abstract_Storagehome_Body (TAO_PSDL_Node *abs_storagehome_member);
00541
00542 TAO_PSDL_Abstract_Storagehome_Body (TAO_PSDL_Node *abs_storagehome_member,
00543 TAO_PSDL_Node *abs_storagehome_body);
00544
00545 virtual ~TAO_PSDL_Abstract_Storagehome_Body (void);
00546
00547
00548 TAO_PSDL_Node *abs_storagehome_member (void) const;
00549 TAO_PSDL_Node *abs_storagehome_body (void) const;
00550
00551
00552 int accept (TAO_PSDL_Node_Visitor *visitor);
00553
00554 private:
00555
00556 TAO_PSDL_Node *abs_storagehome_member_;
00557 TAO_PSDL_Node *abs_storagehome_body_;
00558 };
00559
00560
00561
00562 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Member : public TAO_PSDL_Node
00563 {
00564 public:
00565
00566 TAO_PSDL_Abstract_Storagehome_Member (TAO_PSDL_Node *declaration_type);
00567
00568 virtual ~TAO_PSDL_Abstract_Storagehome_Member (void);
00569
00570
00571 TAO_PSDL_Node *declaration_type (void) const;
00572
00573
00574 int accept (TAO_PSDL_Node_Visitor *visitor);
00575
00576 private:
00577
00578 TAO_PSDL_Node *declaration_type_;
00579 };
00580
00581
00582
00583 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Inh_Spec : public TAO_PSDL_Node
00584 {
00585 public:
00586
00587 TAO_PSDL_Abstract_Storagehome_Inh_Spec (TAO_PSDL_Node *abs_storagehome_name);
00588
00589 virtual ~TAO_PSDL_Abstract_Storagehome_Inh_Spec (void);
00590
00591
00592 TAO_PSDL_Node *abs_storagehome_name (void) const;
00593
00594
00595 int accept (TAO_PSDL_Node_Visitor *visitor);
00596
00597 private:
00598
00599 TAO_PSDL_Node *abs_storagehome_name_;
00600 };
00601
00602
00603
00604 class TAO_PSDL_Export TAO_PSDL_Abstract_Storagehome_Name : public TAO_PSDL_Node
00605 {
00606 public:
00607
00608 TAO_PSDL_Abstract_Storagehome_Name (TAO_PSDL_Node *scoped_name);
00609
00610 TAO_PSDL_Abstract_Storagehome_Name (TAO_PSDL_Node *scoped_name,
00611 TAO_PSDL_Node *abs_storagehome_name);
00612
00613 virtual ~TAO_PSDL_Abstract_Storagehome_Name (void);
00614
00615
00616 TAO_PSDL_Node *scoped_name (void) const;
00617 TAO_PSDL_Node *abs_storagehome_name (void) const;
00618
00619
00620 int accept (TAO_PSDL_Node_Visitor *visitor);
00621
00622 private:
00623
00624 TAO_PSDL_Node *scoped_name_;
00625 TAO_PSDL_Node *abs_storagehome_name_;
00626 };
00627
00628
00629
00630 class TAO_PSDL_Export TAO_PSDL_Local_Op_Dcl : public TAO_PSDL_Node
00631 {
00632 public:
00633
00634 TAO_PSDL_Local_Op_Dcl (TAO_PSDL_Node *op_type_spec,
00635 TAO_PSDL_Node *identifier,
00636 TAO_PSDL_Node *parameter_dcls,
00637 TAO_PSDL_Node *raises_expr);
00638
00639 TAO_PSDL_Local_Op_Dcl (TAO_PSDL_Node *op_type_spec,
00640 TAO_PSDL_Node *identifier,
00641 TAO_PSDL_Node *parameter_dcls);
00642
00643 virtual ~TAO_PSDL_Local_Op_Dcl (void);
00644
00645
00646 TAO_PSDL_Node *op_type_spec (void) const;
00647 TAO_PSDL_Node *identifier (void) const;
00648 TAO_PSDL_Node *parameter_dcls (void) const;
00649 TAO_PSDL_Node *raises_expr (void) const;
00650
00651
00652 int accept (TAO_PSDL_Node_Visitor *visitor);
00653
00654 private:
00655
00656 TAO_PSDL_Node *op_type_spec_;
00657 TAO_PSDL_Node *identifier_;
00658 TAO_PSDL_Node *parameter_dcls_;
00659 TAO_PSDL_Node *raises_expr_;
00660 };
00661
00662
00663
00664 class TAO_PSDL_Export TAO_PSDL_Key_Dcl : public TAO_PSDL_Node
00665 {
00666 public:
00667
00668 TAO_PSDL_Key_Dcl (TAO_PSDL_Node *identifier,
00669 TAO_PSDL_Node *simple_declarator);
00670
00671 TAO_PSDL_Key_Dcl (TAO_PSDL_Node *identifier);
00672
00673 virtual ~TAO_PSDL_Key_Dcl (void);
00674
00675
00676 TAO_PSDL_Node *identifier (void) const;
00677 TAO_PSDL_Node *simple_declarator (void) const;
00678
00679
00680 int accept (TAO_PSDL_Node_Visitor *visitor);
00681
00682 private:
00683
00684 TAO_PSDL_Node *identifier_;
00685 TAO_PSDL_Node *simple_declarator_;
00686 };
00687
00688
00689
00690 class TAO_PSDL_Export TAO_PSDL_Catalog : public TAO_PSDL_Node
00691 {
00692 public:
00693 TAO_PSDL_Catalog (TAO_PSDL_Node *identifier);
00694
00695 TAO_PSDL_Catalog (TAO_PSDL_Node *identifier,
00696 TAO_PSDL_Node *catalog_inh_spec,
00697 TAO_PSDL_Node *catalog_body);
00698
00699 TAO_PSDL_Catalog (TAO_PSDL_Node *identifier,
00700 TAO_PSDL_Node *catalog_body);
00701
00702 virtual ~TAO_PSDL_Catalog (void);
00703
00704
00705 TAO_PSDL_Node *identifier (void) const;
00706 TAO_PSDL_Node *catalog_inh_spec (void) const;
00707 TAO_PSDL_Node *catalog_body (void) const;
00708
00709
00710 int accept (TAO_PSDL_Node_Visitor *visitor);
00711
00712 private:
00713
00714 TAO_PSDL_Node *identifier_;
00715 TAO_PSDL_Node *catalog_inh_spec_;
00716 TAO_PSDL_Node *catalog_body_;
00717 };
00718
00719
00720
00721 class TAO_PSDL_Export TAO_PSDL_Catalog_Inh_Spec : public TAO_PSDL_Node
00722 {
00723 public:
00724
00725 TAO_PSDL_Catalog_Inh_Spec (TAO_PSDL_Node *catalog_name);
00726
00727 virtual ~TAO_PSDL_Catalog_Inh_Spec (void);
00728
00729
00730 TAO_PSDL_Node *catalog_name (void) const;
00731
00732
00733 int accept (TAO_PSDL_Node_Visitor *visitor);
00734
00735 private:
00736
00737 TAO_PSDL_Node *catalog_name_;
00738 };
00739
00740
00741
00742 class TAO_PSDL_Export TAO_PSDL_Catalog_Name : public TAO_PSDL_Node
00743 {
00744 public:
00745
00746 TAO_PSDL_Catalog_Name (TAO_PSDL_Node *scoped_name);
00747 TAO_PSDL_Catalog_Name (TAO_PSDL_Node *scoped_name,
00748 TAO_PSDL_Node *catalog_name);
00749
00750 virtual ~TAO_PSDL_Catalog_Name (void);
00751
00752
00753 TAO_PSDL_Node *scoped_name (void) const;
00754 TAO_PSDL_Node *catalog_name (void) const;
00755
00756
00757 int accept (TAO_PSDL_Node_Visitor *visitor);
00758
00759 private:
00760
00761 TAO_PSDL_Node *scoped_name_;
00762 TAO_PSDL_Node *catalog_name_;
00763 };
00764
00765
00766
00767 class TAO_PSDL_Export TAO_PSDL_Catalog_Body : public TAO_PSDL_Node
00768 {
00769 public:
00770
00771 TAO_PSDL_Catalog_Body ();
00772 TAO_PSDL_Catalog_Body (TAO_PSDL_Node *catalog_member);
00773 TAO_PSDL_Catalog_Body (TAO_PSDL_Node *catalog_member,
00774 TAO_PSDL_Node *catalog_body);
00775
00776 virtual ~TAO_PSDL_Catalog_Body (void);
00777
00778
00779 TAO_PSDL_Node *catalog_member (void) const;
00780 TAO_PSDL_Node *catalog_body (void) const;
00781
00782
00783 int accept (TAO_PSDL_Node_Visitor *visitor);
00784
00785 private:
00786
00787 TAO_PSDL_Node *catalog_member_;
00788 TAO_PSDL_Node *catalog_body_;
00789 };
00790
00791
00792
00793 class TAO_PSDL_Export TAO_PSDL_Catalog_Member : public TAO_PSDL_Node
00794 {
00795 public:
00796
00797 TAO_PSDL_Catalog_Member (TAO_PSDL_Node *declaration);
00798
00799 virtual ~TAO_PSDL_Catalog_Member (void);
00800
00801
00802 TAO_PSDL_Node *declaration (void) const;
00803
00804
00805 int accept (TAO_PSDL_Node_Visitor *visitor);
00806
00807 private:
00808
00809 TAO_PSDL_Node *declaration_;
00810 };
00811
00812
00813
00814 class TAO_PSDL_Export TAO_PSDL_Provides_Dcl : public TAO_PSDL_Node
00815 {
00816 public:
00817
00818 TAO_PSDL_Provides_Dcl (TAO_PSDL_Node *abs_storagehome_name,
00819 TAO_PSDL_Node *simple_declarator);
00820
00821 virtual ~TAO_PSDL_Provides_Dcl (void);
00822
00823
00824 TAO_PSDL_Node *abs_storagehome_name (void) const;
00825 TAO_PSDL_Node *simple_declarator (void) const;
00826
00827
00828 int accept (TAO_PSDL_Node_Visitor *visitor);
00829
00830 private:
00831
00832 TAO_PSDL_Node *abs_storagehome_name_;
00833 TAO_PSDL_Node *simple_declarator_;
00834 };
00835
00836
00837
00838 class TAO_PSDL_Export TAO_PSDL_Storagetype : public TAO_PSDL_Node
00839 {
00840 public:
00841
00842 TAO_PSDL_Storagetype (TAO_PSDL_Node *declaration);
00843
00844 virtual ~TAO_PSDL_Storagetype (void);
00845
00846
00847 TAO_PSDL_Node *declaration (void) const;
00848
00849
00850 int accept (TAO_PSDL_Node_Visitor *visitor);
00851
00852 private:
00853
00854 TAO_PSDL_Node *declaration_;
00855 };
00856
00857
00858
00859 class TAO_PSDL_Export TAO_PSDL_Storagetype_Dcl : public TAO_PSDL_Node
00860 {
00861 public:
00862
00863 TAO_PSDL_Storagetype_Dcl (TAO_PSDL_Node *storagetype_header);
00864
00865 TAO_PSDL_Storagetype_Dcl (TAO_PSDL_Node *storagetype_header,
00866 TAO_PSDL_Node *storagetype_body);
00867
00868 virtual ~TAO_PSDL_Storagetype_Dcl (void);
00869
00870
00871 TAO_PSDL_Node *storagetype_header (void) const;
00872 TAO_PSDL_Node *storagetype_body (void) const;
00873
00874
00875 int accept (TAO_PSDL_Node_Visitor *visitor);
00876
00877 private:
00878
00879 TAO_PSDL_Node *storagetype_header_;
00880 TAO_PSDL_Node *storagetype_body_;
00881 };
00882
00883
00884
00885 class TAO_PSDL_Export TAO_PSDL_Storagetype_Fwd_Dcl : public TAO_PSDL_Node
00886 {
00887 public:
00888
00889 TAO_PSDL_Storagetype_Fwd_Dcl (TAO_PSDL_Node *identifier);
00890
00891 virtual ~TAO_PSDL_Storagetype_Fwd_Dcl (void);
00892
00893
00894 TAO_PSDL_Node *identifier (void) const;
00895
00896
00897 int accept (TAO_PSDL_Node_Visitor *visitor);
00898
00899 private:
00900
00901 TAO_PSDL_Node *identifier_;
00902 };
00903
00904
00905
00906 class TAO_PSDL_Export TAO_PSDL_Storagetype_Header : public TAO_PSDL_Node
00907 {
00908 public:
00909
00910 TAO_PSDL_Storagetype_Header (TAO_PSDL_Node *identifier,
00911 TAO_PSDL_Node *storagetype_inh_spec,
00912 TAO_PSDL_Node *storagetype_impl_spec);
00913
00914 TAO_PSDL_Storagetype_Header (TAO_PSDL_Node *identifier,
00915 TAO_PSDL_Node *storagetype_inh_spec);
00916
00917 TAO_PSDL_Storagetype_Header (TAO_PSDL_Node *identifier);
00918
00919 virtual ~TAO_PSDL_Storagetype_Header (void);
00920
00921
00922 TAO_PSDL_Node *identifier (void) const;
00923 TAO_PSDL_Node *storagetype_inh_spec (void) const;
00924 TAO_PSDL_Node *storagetype_impl_spec (void) const;
00925
00926
00927 int accept (TAO_PSDL_Node_Visitor *visitor);
00928
00929 private:
00930
00931 TAO_PSDL_Node *identifier_;
00932 TAO_PSDL_Node *storagetype_inh_spec_;
00933 TAO_PSDL_Node *storagetype_impl_spec_;
00934 };
00935
00936
00937
00938 class TAO_PSDL_Export TAO_PSDL_Storagetype_Body : public TAO_PSDL_Node
00939 {
00940 public:
00941
00942 TAO_PSDL_Storagetype_Body ();
00943
00944 TAO_PSDL_Storagetype_Body (TAO_PSDL_Node *storagetype_member);
00945
00946 TAO_PSDL_Storagetype_Body (TAO_PSDL_Node *storagetype_member,
00947 TAO_PSDL_Node *storagetype_body);
00948
00949 virtual ~TAO_PSDL_Storagetype_Body (void);
00950
00951
00952 TAO_PSDL_Node *storagetype_member (void) const;
00953 TAO_PSDL_Node *storagetype_body (void) const;
00954
00955
00956 int accept (TAO_PSDL_Node_Visitor *visitor);
00957
00958 private:
00959
00960 TAO_PSDL_Node *storagetype_member_;
00961 TAO_PSDL_Node *storagetype_body_;
00962 };
00963
00964
00965
00966 class TAO_PSDL_Export TAO_PSDL_Storagetype_Member : public TAO_PSDL_Node
00967 {
00968 public:
00969
00970 TAO_PSDL_Storagetype_Member (TAO_PSDL_Node *declaration);
00971
00972 virtual ~TAO_PSDL_Storagetype_Member (void);
00973
00974
00975 TAO_PSDL_Node *declaration (void) const;
00976
00977
00978 int accept (TAO_PSDL_Node_Visitor *visitor);
00979
00980 private:
00981
00982 TAO_PSDL_Node *declaration_;
00983 };
00984
00985
00986
00987 class TAO_PSDL_Export TAO_PSDL_Storagetype_Inh_Spec : public TAO_PSDL_Node
00988 {
00989 public:
00990
00991 TAO_PSDL_Storagetype_Inh_Spec (TAO_PSDL_Node *storagetype_name);
00992
00993 virtual ~TAO_PSDL_Storagetype_Inh_Spec (void);
00994
00995
00996 TAO_PSDL_Node *storagetype_name (void) const;
00997
00998
00999 int accept (TAO_PSDL_Node_Visitor *visitor);
01000
01001 private:
01002
01003 TAO_PSDL_Node *storagetype_name_;
01004 };
01005
01006
01007
01008 class TAO_PSDL_Export TAO_PSDL_Storagetype_Name : public TAO_PSDL_Node
01009 {
01010 public:
01011
01012 TAO_PSDL_Storagetype_Name (TAO_PSDL_Node *scoped_name);
01013
01014 virtual ~TAO_PSDL_Storagetype_Name (void);
01015
01016
01017 TAO_PSDL_Node *scoped_name (void) const;
01018
01019
01020 int accept (TAO_PSDL_Node_Visitor *visitor);
01021
01022 private:
01023
01024 TAO_PSDL_Node *scoped_name_;
01025 };
01026
01027
01028
01029 class TAO_PSDL_Export TAO_PSDL_Storagetype_Impl_Spec : public TAO_PSDL_Node
01030 {
01031 public:
01032
01033 TAO_PSDL_Storagetype_Impl_Spec (TAO_PSDL_Node *abstract_storagetype_name);
01034
01035 virtual ~TAO_PSDL_Storagetype_Impl_Spec (void);
01036
01037
01038 TAO_PSDL_Node *abstract_storagetype_name (void) const;
01039
01040
01041 int accept (TAO_PSDL_Node_Visitor *visitor);
01042
01043 private:
01044
01045 TAO_PSDL_Node *abstract_storagetype_name_;
01046 };
01047
01048
01049
01050 class TAO_PSDL_Export TAO_PSDL_Storagetype_Ref_Type : public TAO_PSDL_Node
01051 {
01052 public:
01053
01054 TAO_PSDL_Storagetype_Ref_Type (TAO_PSDL_Node *storagetype_name);
01055
01056 virtual ~TAO_PSDL_Storagetype_Ref_Type (void);
01057
01058
01059 TAO_PSDL_Node *storagetype_name (void) const;
01060
01061
01062 int accept (TAO_PSDL_Node_Visitor *visitor);
01063
01064 private:
01065
01066 TAO_PSDL_Node *storagetype_name_;
01067 };
01068
01069
01070
01071 class TAO_PSDL_Export TAO_PSDL_Storagehome_Scope : public TAO_PSDL_Node
01072 {
01073 public:
01074
01075 TAO_PSDL_Storagehome_Scope (TAO_PSDL_Node *storagehome_name);
01076
01077 virtual ~TAO_PSDL_Storagehome_Scope (void);
01078
01079
01080 TAO_PSDL_Node *storagehome_name (void) const;
01081
01082
01083 int accept (TAO_PSDL_Node_Visitor *visitor);
01084
01085 private:
01086
01087 TAO_PSDL_Node *storagehome_name_;
01088 };
01089
01090
01091
01092 class TAO_PSDL_Export TAO_PSDL_Store_Directive : public TAO_PSDL_Node
01093 {
01094 public:
01095
01096 TAO_PSDL_Store_Directive (TAO_PSDL_Node *simple_declarator,
01097 TAO_PSDL_Node *psdl_concrete_state_type,
01098 TAO_PSDL_Node *storagehome_scope);
01099
01100 TAO_PSDL_Store_Directive (TAO_PSDL_Node *simple_declarator,
01101 TAO_PSDL_Node *psdl_concrete_state_type);
01102
01103 virtual ~TAO_PSDL_Store_Directive (void);
01104
01105
01106 TAO_PSDL_Node *simple_declarator (void) const;
01107 TAO_PSDL_Node *psdl_concrete_state_type (void) const;
01108 TAO_PSDL_Node *storagehome_scope (void) const;
01109
01110
01111 int accept (TAO_PSDL_Node_Visitor *visitor);
01112
01113 private:
01114
01115 TAO_PSDL_Node *simple_declarator_;
01116 TAO_PSDL_Node *psdl_concrete_state_type_;
01117 TAO_PSDL_Node *storagehome_scope_;
01118 };
01119
01120
01121
01122 class TAO_PSDL_Export TAO_PSDL_Psdl_Concrete_State_Type : public TAO_PSDL_Node
01123 {
01124 public:
01125
01126 TAO_PSDL_Psdl_Concrete_State_Type (TAO_PSDL_Node *storagetype);
01127
01128 virtual ~TAO_PSDL_Psdl_Concrete_State_Type (void);
01129
01130
01131 TAO_PSDL_Node *storagetype (void) const;
01132
01133
01134 int accept (TAO_PSDL_Node_Visitor *visitor);
01135
01136 private:
01137
01138 TAO_PSDL_Node *storagetype_;
01139 };
01140
01141
01142
01143 class TAO_PSDL_Export TAO_PSDL_Ref_Rep_Directive : public TAO_PSDL_Node
01144 {
01145 public:
01146
01147 TAO_PSDL_Ref_Rep_Directive (TAO_PSDL_Node *simple_declarator);
01148
01149 virtual ~TAO_PSDL_Ref_Rep_Directive (void);
01150
01151
01152 TAO_PSDL_Node *simple_declarator (void) const;
01153
01154
01155 int accept (TAO_PSDL_Node_Visitor *visitor);
01156
01157 private:
01158
01159 TAO_PSDL_Node *simple_declarator_;
01160 };
01161
01162
01163
01164 class TAO_PSDL_Export TAO_PSDL_Storagehome : public TAO_PSDL_Node
01165 {
01166 public:
01167
01168 TAO_PSDL_Storagehome (TAO_PSDL_Node *storagehome_header);
01169
01170 TAO_PSDL_Storagehome (TAO_PSDL_Node *storagehome_header,
01171 TAO_PSDL_Node *storagehome_body);
01172
01173 virtual ~TAO_PSDL_Storagehome (void);
01174
01175
01176 TAO_PSDL_Node *storagehome_header (void) const;
01177 TAO_PSDL_Node *storagehome_body (void) const;
01178
01179
01180 int accept (TAO_PSDL_Node_Visitor *visitor);
01181
01182 private:
01183
01184 TAO_PSDL_Node *storagehome_header_;
01185 TAO_PSDL_Node *storagehome_body_;
01186 };
01187
01188
01189
01190 class TAO_PSDL_Export TAO_PSDL_Storagehome_Header : public TAO_PSDL_Node
01191 {
01192 public:
01193
01194 TAO_PSDL_Storagehome_Header (TAO_PSDL_Node *identifier,
01195 TAO_PSDL_Node *storagetype_name,
01196 TAO_PSDL_Node *storagehome_inh_spec,
01197 TAO_PSDL_Node *storagehome_impl_spec);
01198
01199 TAO_PSDL_Storagehome_Header (TAO_PSDL_Node *identifier,
01200 TAO_PSDL_Node *storagetype_name,
01201 TAO_PSDL_Node *storagehome_inh_spec);
01202
01203 TAO_PSDL_Storagehome_Header (TAO_PSDL_Node *identifier,
01204 TAO_PSDL_Node *storagetype_name);
01205
01206 virtual ~TAO_PSDL_Storagehome_Header (void);
01207
01208
01209 TAO_PSDL_Node *identifier (void) const;
01210 TAO_PSDL_Node *storagetype_name (void) const;
01211 TAO_PSDL_Node *storagehome_inh_spec (void) const;
01212 TAO_PSDL_Node *storagehome_impl_spec (void) const;
01213
01214
01215 int accept (TAO_PSDL_Node_Visitor *visitor);
01216
01217 private:
01218
01219 TAO_PSDL_Node *identifier_;
01220 TAO_PSDL_Node *storagetype_name_;
01221 TAO_PSDL_Node *storagehome_inh_spec_;
01222 TAO_PSDL_Node *storagehome_impl_spec_;
01223 };
01224
01225
01226
01227 class TAO_PSDL_Export TAO_PSDL_Storagehome_Body : public TAO_PSDL_Node
01228 {
01229 public:
01230
01231 TAO_PSDL_Storagehome_Body ();
01232
01233 TAO_PSDL_Storagehome_Body (TAO_PSDL_Node *storagehome_member);
01234
01235 TAO_PSDL_Storagehome_Body (TAO_PSDL_Node *storagehome_member,
01236 TAO_PSDL_Node *storagehome_body);
01237
01238 virtual ~TAO_PSDL_Storagehome_Body (void);
01239
01240
01241 TAO_PSDL_Node *storagehome_member (void) const;
01242 TAO_PSDL_Node *storagehome_body (void) const;
01243
01244
01245 int accept (TAO_PSDL_Node_Visitor *visitor);
01246
01247 private:
01248
01249 TAO_PSDL_Node *storagehome_member_;
01250 TAO_PSDL_Node *storagehome_body_;
01251 };
01252
01253
01254
01255 class TAO_PSDL_Export TAO_PSDL_Storagehome_Member : public TAO_PSDL_Node
01256 {
01257 public:
01258
01259 TAO_PSDL_Storagehome_Member (TAO_PSDL_Node *key_dcl);
01260
01261 virtual ~TAO_PSDL_Storagehome_Member (void);
01262
01263
01264 TAO_PSDL_Node *key_dcl (void) const;
01265
01266
01267 int accept (TAO_PSDL_Node_Visitor *visitor);
01268
01269 private:
01270
01271 TAO_PSDL_Node *key_dcl_;
01272 };
01273
01274
01275
01276 class TAO_PSDL_Export TAO_PSDL_Storagehome_Inh_Spec : public TAO_PSDL_Node
01277 {
01278 public:
01279
01280 TAO_PSDL_Storagehome_Inh_Spec (TAO_PSDL_Node *storagehome_name);
01281
01282 virtual ~TAO_PSDL_Storagehome_Inh_Spec (void);
01283
01284
01285 TAO_PSDL_Node *storagehome_name (void) const;
01286
01287
01288 int accept (TAO_PSDL_Node_Visitor *visitor);
01289
01290 private:
01291
01292 TAO_PSDL_Node *storagehome_name_;
01293 };
01294
01295
01296
01297 class TAO_PSDL_Export TAO_PSDL_Storagehome_Name : public TAO_PSDL_Node
01298 {
01299 public:
01300
01301 TAO_PSDL_Storagehome_Name (TAO_PSDL_Node *scoped_name);
01302
01303 virtual ~TAO_PSDL_Storagehome_Name (void);
01304
01305
01306 TAO_PSDL_Node *scoped_name (void) const;
01307
01308
01309 int accept (TAO_PSDL_Node_Visitor *visitor);
01310
01311 private:
01312
01313 TAO_PSDL_Node *scoped_name_;
01314 };
01315
01316
01317
01318 class TAO_PSDL_Export TAO_PSDL_Storagehome_Impl_Spec : public TAO_PSDL_Node
01319 {
01320 public:
01321
01322 TAO_PSDL_Storagehome_Impl_Spec (TAO_PSDL_Node *abstract_storagehome_name);
01323
01324 virtual ~TAO_PSDL_Storagehome_Impl_Spec (void);
01325
01326
01327 TAO_PSDL_Node *abstract_storagehome_name (void) const;
01328
01329
01330 int accept (TAO_PSDL_Node_Visitor *visitor);
01331
01332 private:
01333
01334 TAO_PSDL_Node *abstract_storagehome_name_;
01335 };
01336
01337
01338
01339 class TAO_PSDL_Export TAO_PSDL_Primary_Key_Dcl : public TAO_PSDL_Node
01340 {
01341 public:
01342
01343 TAO_PSDL_Primary_Key_Dcl ();
01344
01345 TAO_PSDL_Primary_Key_Dcl (TAO_PSDL_Node *identifier);
01346
01347 virtual ~TAO_PSDL_Primary_Key_Dcl (void);
01348
01349
01350 TAO_PSDL_Node *identifier (void) const;
01351
01352
01353 int accept (TAO_PSDL_Node_Visitor *visitor);
01354
01355 private:
01356
01357 TAO_PSDL_Node *identifier_;
01358 };
01359
01360
01361
01362 class TAO_PSDL_Export TAO_PSDL_Identifier : public TAO_PSDL_Node
01363 {
01364 public:
01365
01366 TAO_PSDL_Identifier (char *value);
01367
01368 TAO_PSDL_Identifier (int value_type);
01369
01370 virtual ~TAO_PSDL_Identifier (void);
01371
01372
01373 char *value (void) const;
01374
01375 int value_type (void) const;
01376
01377
01378 int accept (TAO_PSDL_Node_Visitor *visitor);
01379
01380 private:
01381
01382 char *value_;
01383 int value_type_;
01384 };
01385
01386
01387
01388 class TAO_PSDL_Export TAO_PSDL_Type_Dcl : public TAO_PSDL_Node
01389 {
01390 public:
01391
01392 TAO_PSDL_Type_Dcl (TAO_PSDL_Node *type_of_type_dcl);
01393
01394 TAO_PSDL_Type_Dcl (int key_word,
01395 TAO_PSDL_Node *type_of_type_dcl);
01396
01397 virtual ~TAO_PSDL_Type_Dcl (void);
01398
01399
01400 int key_word (void) const;
01401 TAO_PSDL_Node *type_of_type_dcl (void) const;
01402
01403
01404 int accept (TAO_PSDL_Node_Visitor *visitor);
01405
01406 private:
01407
01408 int key_word_;
01409 TAO_PSDL_Node *type_of_type_dcl_;
01410 };
01411
01412
01413
01414 class TAO_PSDL_Export TAO_PSDL_Type_Declarator : public TAO_PSDL_Node
01415 {
01416 public:
01417
01418 TAO_PSDL_Type_Declarator (TAO_PSDL_Node *type_spec,
01419 TAO_PSDL_Node *declarators);
01420
01421 virtual ~TAO_PSDL_Type_Declarator (void);
01422
01423
01424 TAO_PSDL_Node *type_spec (void) const;
01425 TAO_PSDL_Node *declarators (void) const;
01426
01427
01428 int accept (TAO_PSDL_Node_Visitor *visitor);
01429
01430 private:
01431
01432 TAO_PSDL_Node *type_spec_;
01433 TAO_PSDL_Node *declarators_;
01434 };
01435
01436
01437
01438 class TAO_PSDL_Export TAO_PSDL_Type_Spec : public TAO_PSDL_Node
01439 {
01440 public:
01441
01442 TAO_PSDL_Type_Spec (TAO_PSDL_Node *type_of_type_spec);
01443
01444 virtual ~TAO_PSDL_Type_Spec (void);
01445
01446
01447 TAO_PSDL_Node *type_of_type_spec (void) const;
01448
01449
01450 int accept (TAO_PSDL_Node_Visitor *visitor);
01451
01452 private:
01453
01454 TAO_PSDL_Node *type_of_type_spec_;
01455 };
01456
01457
01458
01459 class TAO_PSDL_Export TAO_PSDL_Simple_Type_Spec : public TAO_PSDL_Node
01460 {
01461 public:
01462
01463 TAO_PSDL_Simple_Type_Spec (TAO_PSDL_Node *type_of_simple_type_spec);
01464
01465 virtual ~TAO_PSDL_Simple_Type_Spec (void);
01466
01467
01468 TAO_PSDL_Node *type_of_simple_type_spec (void) const;
01469
01470
01471 int accept (TAO_PSDL_Node_Visitor *visitor);
01472
01473 private:
01474
01475 TAO_PSDL_Node *type_of_simple_type_spec_;
01476 };
01477
01478
01479
01480 class TAO_PSDL_Export TAO_PSDL_Base_Type_Spec : public TAO_PSDL_Node
01481 {
01482 public:
01483
01484 TAO_PSDL_Base_Type_Spec (TAO_PSDL_Node *type_of_base_type_spec);
01485
01486 virtual ~TAO_PSDL_Base_Type_Spec (void);
01487
01488
01489 TAO_PSDL_Node *type_of_base_type_spec (void) const;
01490
01491
01492 int accept (TAO_PSDL_Node_Visitor *visitor);
01493
01494 private:
01495
01496 TAO_PSDL_Node *type_of_base_type_spec_;
01497 };
01498
01499
01500
01501 class TAO_PSDL_Export TAO_PSDL_Template_Type_Spec : public TAO_PSDL_Node
01502 {
01503 public:
01504
01505 TAO_PSDL_Template_Type_Spec (TAO_PSDL_Node *type_of_template_type_spec);
01506
01507 virtual ~TAO_PSDL_Template_Type_Spec (void);
01508
01509
01510 TAO_PSDL_Node *type_of_template_type_spec (void) const;
01511
01512
01513 int accept (TAO_PSDL_Node_Visitor *visitor);
01514
01515 private:
01516
01517 TAO_PSDL_Node *type_of_template_type_spec_;
01518 };
01519
01520
01521
01522 class TAO_PSDL_Export TAO_PSDL_Constr_Type_Spec : public TAO_PSDL_Node
01523 {
01524 public:
01525
01526 TAO_PSDL_Constr_Type_Spec (TAO_PSDL_Node *type_of_constr_type_spec);
01527
01528 virtual ~TAO_PSDL_Constr_Type_Spec (void);
01529
01530
01531 TAO_PSDL_Node *type_of_constr_type_spec (void) const;
01532
01533
01534 int accept (TAO_PSDL_Node_Visitor *visitor);
01535
01536 private:
01537
01538 TAO_PSDL_Node *type_of_constr_type_spec_;
01539 };
01540
01541
01542
01543 class TAO_PSDL_Export TAO_PSDL_Declarators : public TAO_PSDL_Node
01544 {
01545 public:
01546
01547 TAO_PSDL_Declarators (TAO_PSDL_Node *declarator);
01548
01549 TAO_PSDL_Declarators (TAO_PSDL_Node *declarator,
01550 TAO_PSDL_Node *set_of_declarators);
01551
01552 virtual ~TAO_PSDL_Declarators (void);
01553
01554
01555 TAO_PSDL_Node *declarator (void) const;
01556 TAO_PSDL_Node *set_of_declarators (void) const;
01557
01558
01559 int accept (TAO_PSDL_Node_Visitor *visitor);
01560
01561 private:
01562
01563 TAO_PSDL_Node *declarator_;
01564 TAO_PSDL_Node *set_of_declarators_;
01565 };
01566
01567
01568
01569 class TAO_PSDL_Export TAO_PSDL_Declarator : public TAO_PSDL_Node
01570 {
01571 public:
01572
01573 TAO_PSDL_Declarator (TAO_PSDL_Node *type_of_declarator);
01574
01575 virtual ~TAO_PSDL_Declarator (void);
01576
01577
01578 TAO_PSDL_Node *type_of_declarator (void) const;
01579
01580
01581 int accept (TAO_PSDL_Node_Visitor *visitor);
01582
01583 private:
01584
01585 TAO_PSDL_Node *type_of_declarator_;
01586 };
01587
01588
01589
01590 class TAO_PSDL_Export TAO_PSDL_Simple_Declarator : public TAO_PSDL_Node
01591 {
01592 public:
01593
01594 TAO_PSDL_Simple_Declarator (TAO_PSDL_Node *identifier);
01595 TAO_PSDL_Simple_Declarator (TAO_PSDL_Node *identifier,
01596 TAO_PSDL_Node *simple_declarator);
01597
01598 virtual ~TAO_PSDL_Simple_Declarator (void);
01599
01600
01601 TAO_PSDL_Node *identifier (void) const;
01602 TAO_PSDL_Node *simple_declarator (void) const;
01603
01604
01605 int accept (TAO_PSDL_Node_Visitor *visitor);
01606
01607 private:
01608
01609 TAO_PSDL_Node *identifier_;
01610 TAO_PSDL_Node *simple_declarator_;
01611 };
01612
01613
01614
01615 class TAO_PSDL_Export TAO_PSDL_Simple_Declarator_List : public TAO_PSDL_Node
01616 {
01617 public:
01618
01619 TAO_PSDL_Simple_Declarator_List (TAO_PSDL_Node *simple_declarator);
01620
01621 TAO_PSDL_Simple_Declarator_List (TAO_PSDL_Node *simple_declarator_list,
01622 TAO_PSDL_Node *simple_declarator);
01623
01624 virtual ~TAO_PSDL_Simple_Declarator_List (void);
01625
01626
01627 TAO_PSDL_Node *simple_declarator_list (void) const;
01628 TAO_PSDL_Node *simple_declarator (void) const;
01629
01630
01631 int accept (TAO_PSDL_Node_Visitor *visitor);
01632
01633 private:
01634
01635 TAO_PSDL_Node *simple_declarator_list_;
01636 TAO_PSDL_Node *simple_declarator_;
01637 };
01638
01639
01640
01641 class TAO_PSDL_Export TAO_PSDL_Complex_Declarator : public TAO_PSDL_Node
01642 {
01643 public:
01644
01645 TAO_PSDL_Complex_Declarator (TAO_PSDL_Node *array_declarator);
01646
01647 virtual ~TAO_PSDL_Complex_Declarator (void);
01648
01649
01650 TAO_PSDL_Node *array_declarator (void) const;
01651
01652
01653 int accept (TAO_PSDL_Node_Visitor *visitor);
01654
01655 private:
01656
01657 TAO_PSDL_Node *array_declarator_;
01658 };
01659
01660
01661
01662 class TAO_PSDL_Export TAO_PSDL_Predefined_Type : public TAO_PSDL_Node
01663 {
01664 public:
01665
01666 TAO_PSDL_Predefined_Type (int type_one);
01667
01668 TAO_PSDL_Predefined_Type (int type_one,
01669 int type_two);
01670
01671 TAO_PSDL_Predefined_Type (int type_one,
01672 int type_two,
01673 int type_three);
01674
01675 TAO_PSDL_Predefined_Type (int type_one,
01676 TAO_PSDL_Node *type_of_variable_one);
01677
01678 TAO_PSDL_Predefined_Type (TAO_PSDL_Node *type_of_variable_one);
01679
01680 TAO_PSDL_Predefined_Type (int type_one,
01681 TAO_PSDL_Node *type_of_variable_one,
01682 TAO_PSDL_Node *type_of_variable_two);
01683
01684 TAO_PSDL_Predefined_Type (TAO_PSDL_Node *type_of_variable_one,
01685 TAO_PSDL_Node *type_of_variable_two);
01686
01687 TAO_PSDL_Predefined_Type (TAO_PSDL_Node *type_of_variable_one,
01688 TAO_PSDL_Node *type_of_variable_two,
01689 TAO_PSDL_Node *type_of_variable_three);
01690
01691 virtual ~TAO_PSDL_Predefined_Type (void);
01692
01693
01694 int type_one (void) const;
01695 int type_two (void) const;
01696 int type_three (void) const;
01697 TAO_PSDL_Node *type_of_variable_one (void) const;
01698 TAO_PSDL_Node *type_of_variable_two (void) const;
01699 TAO_PSDL_Node *type_of_variable_three (void) const;
01700
01701
01702 int accept (TAO_PSDL_Node_Visitor *visitor);
01703
01704 private:
01705
01706 int type_one_;
01707 int type_two_;
01708 int type_three_;
01709
01710 TAO_PSDL_Node *type_of_variable_one_;
01711 TAO_PSDL_Node *type_of_variable_two_;
01712 TAO_PSDL_Node *type_of_variable_three_;
01713 };
01714
01715
01716
01717 class TAO_PSDL_Export TAO_PSDL_Member_List : public TAO_PSDL_Node
01718 {
01719 public:
01720
01721 TAO_PSDL_Member_List (TAO_PSDL_Node *member);
01722 TAO_PSDL_Member_List (TAO_PSDL_Node *member,
01723 TAO_PSDL_Node *member_list);
01724
01725 virtual ~TAO_PSDL_Member_List (void);
01726
01727
01728 TAO_PSDL_Node *member (void) const;
01729 TAO_PSDL_Node *member_list (void) const;
01730
01731
01732 int accept (TAO_PSDL_Node_Visitor *visitor);
01733
01734 private:
01735
01736 TAO_PSDL_Node *member_;
01737 TAO_PSDL_Node *member_list_;
01738 };
01739
01740
01741
01742 class TAO_PSDL_Export TAO_PSDL_Member : public TAO_PSDL_Node
01743 {
01744 public:
01745
01746 TAO_PSDL_Member (TAO_PSDL_Node *type_spec,
01747 TAO_PSDL_Node *declarators);
01748
01749 virtual ~TAO_PSDL_Member (void);
01750
01751
01752 TAO_PSDL_Node *type_spec (void) const;
01753 TAO_PSDL_Node *declarators (void) const;
01754
01755
01756 int accept (TAO_PSDL_Node_Visitor *visitor);
01757
01758 private:
01759
01760 TAO_PSDL_Node *type_spec_;
01761 TAO_PSDL_Node *declarators_;
01762 };
01763
01764
01765
01766 class TAO_PSDL_Export TAO_PSDL_Union_Type : public TAO_PSDL_Node
01767 {
01768 public:
01769
01770 TAO_PSDL_Union_Type (TAO_PSDL_Node *identifier,
01771 TAO_PSDL_Node *switch_type_spec,
01772 TAO_PSDL_Node *switch_body);
01773
01774 virtual ~TAO_PSDL_Union_Type (void);
01775
01776
01777 TAO_PSDL_Node *identifier (void) const;
01778 TAO_PSDL_Node *switch_type_spec (void) const;
01779 TAO_PSDL_Node *switch_body (void) const;
01780
01781
01782 int accept (TAO_PSDL_Node_Visitor *visitor);
01783
01784 private:
01785
01786 TAO_PSDL_Node *identifier_;
01787 TAO_PSDL_Node *switch_type_spec_;
01788 TAO_PSDL_Node *switch_body_;
01789 };
01790
01791
01792
01793 class TAO_PSDL_Export TAO_PSDL_Switch_Type_Spec : public TAO_PSDL_Node
01794 {
01795 public:
01796
01797 TAO_PSDL_Switch_Type_Spec (TAO_PSDL_Node *type);
01798
01799 virtual ~TAO_PSDL_Switch_Type_Spec (void);
01800
01801
01802 TAO_PSDL_Node *type (void) const;
01803
01804
01805 int accept (TAO_PSDL_Node_Visitor *visitor);
01806
01807 private:
01808
01809 TAO_PSDL_Node *type_;
01810 };
01811
01812
01813
01814 class TAO_PSDL_Export TAO_PSDL_Switch_Body : public TAO_PSDL_Node
01815 {
01816 public:
01817
01818 TAO_PSDL_Switch_Body (TAO_PSDL_Node *switch_case);
01819
01820 TAO_PSDL_Switch_Body (TAO_PSDL_Node *switch_case,
01821 TAO_PSDL_Node *switch_body);
01822
01823 virtual ~TAO_PSDL_Switch_Body (void);
01824
01825
01826 TAO_PSDL_Node *switch_case (void) const;
01827 TAO_PSDL_Node *switch_body (void) const;
01828
01829
01830 int accept (TAO_PSDL_Node_Visitor *visitor);
01831
01832 private:
01833
01834 TAO_PSDL_Node *switch_case_;
01835 TAO_PSDL_Node *switch_body_;
01836 };
01837
01838
01839
01840 class TAO_PSDL_Export TAO_PSDL_Case : public TAO_PSDL_Node
01841 {
01842 public:
01843
01844 TAO_PSDL_Case (TAO_PSDL_Node *case_label,
01845 TAO_PSDL_Node *element_spec);
01846
01847 virtual ~TAO_PSDL_Case (void);
01848
01849
01850 TAO_PSDL_Node *case_label (void) const;
01851 TAO_PSDL_Node *element_spec (void) const;
01852
01853
01854 int accept (TAO_PSDL_Node_Visitor *visitor);
01855
01856 private:
01857
01858 TAO_PSDL_Node *case_label_;
01859 TAO_PSDL_Node *element_spec_;
01860 };
01861
01862
01863
01864 class TAO_PSDL_Export TAO_PSDL_Case_Label : public TAO_PSDL_Node
01865 {
01866 public:
01867
01868 TAO_PSDL_Case_Label (TAO_PSDL_Node * type);
01869
01870 TAO_PSDL_Case_Label (TAO_PSDL_Node * type,
01871 TAO_PSDL_Node *const_exp);
01872
01873 TAO_PSDL_Case_Label (TAO_PSDL_Node * type,
01874 TAO_PSDL_Node *const_exp,
01875 TAO_PSDL_Node *case_label);
01876
01877 virtual ~TAO_PSDL_Case_Label (void);
01878
01879
01880 TAO_PSDL_Node * type (void) const;
01881 TAO_PSDL_Node *const_exp (void) const;
01882 TAO_PSDL_Node *case_label (void) const;
01883
01884
01885 int accept (TAO_PSDL_Node_Visitor *visitor);
01886
01887 private:
01888
01889 TAO_PSDL_Node * type_;
01890 TAO_PSDL_Node *const_exp_;
01891 TAO_PSDL_Node *case_label_;
01892 };
01893
01894
01895
01896 class TAO_PSDL_Export TAO_PSDL_Element_Spec : public TAO_PSDL_Node
01897 {
01898 public:
01899
01900 TAO_PSDL_Element_Spec (TAO_PSDL_Node *type_spec,
01901 TAO_PSDL_Node *declarator);
01902
01903 virtual ~TAO_PSDL_Element_Spec (void);
01904
01905
01906 TAO_PSDL_Node *type_spec (void) const;
01907 TAO_PSDL_Node *declarator (void) const;
01908
01909
01910 int accept (TAO_PSDL_Node_Visitor *visitor);
01911
01912 private:
01913
01914 TAO_PSDL_Node *type_spec_;
01915 TAO_PSDL_Node *declarator_;
01916 };
01917
01918
01919
01920 class TAO_PSDL_Export TAO_PSDL_Const_Dcl : public TAO_PSDL_Node
01921 {
01922 public:
01923
01924 TAO_PSDL_Const_Dcl (TAO_PSDL_Node *const_type,
01925 TAO_PSDL_Node *identifier,
01926 TAO_PSDL_Node *const_exp);
01927
01928 virtual ~TAO_PSDL_Const_Dcl (void);
01929
01930
01931 TAO_PSDL_Node *const_type (void) const;
01932 TAO_PSDL_Node *identifier (void) const;
01933 TAO_PSDL_Node *const_exp (void) const;
01934
01935
01936 int accept (TAO_PSDL_Node_Visitor *visitor);
01937
01938 private:
01939
01940 TAO_PSDL_Node *const_type_;
01941 TAO_PSDL_Node *identifier_;
01942 TAO_PSDL_Node *const_exp_;
01943 };
01944
01945
01946
01947 class TAO_PSDL_Export TAO_PSDL_Const_Type : public TAO_PSDL_Node
01948 {
01949 public:
01950
01951 TAO_PSDL_Const_Type (TAO_PSDL_Node *type);
01952
01953 virtual ~TAO_PSDL_Const_Type (void);
01954
01955
01956 TAO_PSDL_Node *type (void) const;
01957
01958
01959 int accept (TAO_PSDL_Node_Visitor *visitor);
01960
01961 private:
01962
01963 TAO_PSDL_Node *type_;
01964 };
01965
01966
01967
01968 class TAO_PSDL_Export TAO_PSDL_Const_Exp : public TAO_PSDL_Node
01969 {
01970 public:
01971
01972 TAO_PSDL_Const_Exp (TAO_PSDL_Node *expr);
01973
01974 virtual ~TAO_PSDL_Const_Exp (void);
01975
01976
01977 TAO_PSDL_Node *expr (void) const;
01978
01979
01980 int accept (TAO_PSDL_Node_Visitor *visitor);
01981
01982 private:
01983
01984 TAO_PSDL_Node *expr_;
01985 };
01986
01987
01988
01989 class TAO_PSDL_Export TAO_PSDL_Or_Expr : public TAO_PSDL_Node
01990 {
01991 public:
01992
01993 TAO_PSDL_Or_Expr (TAO_PSDL_Node *xor_expr);
01994 TAO_PSDL_Or_Expr (TAO_PSDL_Node *or_expr,
01995 TAO_PSDL_Node *xor_expr);
01996
01997 virtual ~TAO_PSDL_Or_Expr (void);
01998
01999
02000 TAO_PSDL_Node *or_expr (void) const;
02001 TAO_PSDL_Node *xor_expr (void) const;
02002
02003
02004 int accept (TAO_PSDL_Node_Visitor *visitor);
02005
02006 private:
02007
02008 TAO_PSDL_Node *or_expr_;
02009 TAO_PSDL_Node *xor_expr_;
02010 };
02011
02012
02013
02014 class TAO_PSDL_Export TAO_PSDL_Xor_Expr : public TAO_PSDL_Node
02015 {
02016 public:
02017
02018 TAO_PSDL_Xor_Expr (TAO_PSDL_Node *and_expr);
02019 TAO_PSDL_Xor_Expr (TAO_PSDL_Node *xor_expr,
02020 TAO_PSDL_Node *and_expr);
02021
02022 virtual ~TAO_PSDL_Xor_Expr (void);
02023
02024
02025 TAO_PSDL_Node *xor_expr (void) const;
02026 TAO_PSDL_Node *and_expr (void) const;
02027
02028
02029 int accept (TAO_PSDL_Node_Visitor *visitor);
02030
02031 private:
02032
02033 TAO_PSDL_Node *xor_expr_;
02034 TAO_PSDL_Node *and_expr_;
02035 };
02036
02037
02038
02039 class TAO_PSDL_Export TAO_PSDL_And_Expr : public TAO_PSDL_Node
02040 {
02041 public:
02042
02043 TAO_PSDL_And_Expr (TAO_PSDL_Node *shift_expr);
02044 TAO_PSDL_And_Expr (TAO_PSDL_Node *and_expr,
02045 TAO_PSDL_Node *shift_expr);
02046
02047 virtual ~TAO_PSDL_And_Expr (void);
02048
02049
02050 TAO_PSDL_Node *and_expr (void) const;
02051 TAO_PSDL_Node *shift_expr (void) const;
02052
02053
02054 int accept (TAO_PSDL_Node_Visitor *visitor);
02055
02056 private:
02057
02058 TAO_PSDL_Node *and_expr_;
02059 TAO_PSDL_Node *shift_expr_;
02060 };
02061
02062
02063
02064 class TAO_PSDL_Export TAO_PSDL_Shift_Expr : public TAO_PSDL_Node
02065 {
02066 public:
02067
02068 TAO_PSDL_Shift_Expr (TAO_PSDL_Node *add_expr);
02069
02070 TAO_PSDL_Shift_Expr (TAO_PSDL_Node *shift_expr,
02071 TAO_PSDL_Node * type,
02072 TAO_PSDL_Node *add_expr);
02073
02074 virtual ~TAO_PSDL_Shift_Expr (void);
02075
02076
02077 TAO_PSDL_Node * type (void) const;
02078 TAO_PSDL_Node *add_expr (void) const;
02079 TAO_PSDL_Node *shift_expr (void) const;
02080
02081
02082 int accept (TAO_PSDL_Node_Visitor *visitor);
02083
02084 private:
02085
02086 TAO_PSDL_Node *shift_expr_;
02087 TAO_PSDL_Node * type_;
02088 TAO_PSDL_Node *add_expr_;
02089 };
02090
02091
02092
02093 class TAO_PSDL_Export TAO_PSDL_Add_Expr : public TAO_PSDL_Node
02094 {
02095 public:
02096
02097 TAO_PSDL_Add_Expr (TAO_PSDL_Node *mult_expr);
02098 TAO_PSDL_Add_Expr (TAO_PSDL_Node *add_expr,
02099 TAO_PSDL_Node * type,
02100 TAO_PSDL_Node *mult_expr);
02101
02102 virtual ~TAO_PSDL_Add_Expr (void);
02103
02104
02105 TAO_PSDL_Node * type (void) const;
02106 TAO_PSDL_Node *add_expr (void) const;
02107 TAO_PSDL_Node *mult_expr (void) const;
02108
02109
02110 int accept (TAO_PSDL_Node_Visitor *visitor);
02111
02112 private:
02113
02114 TAO_PSDL_Node *add_expr_;
02115 TAO_PSDL_Node * type_;
02116 TAO_PSDL_Node *mult_expr_;
02117 };
02118
02119
02120
02121 class TAO_PSDL_Export TAO_PSDL_Mult_Expr : public TAO_PSDL_Node
02122 {
02123 public:
02124
02125 TAO_PSDL_Mult_Expr (TAO_PSDL_Node *unary_expr);
02126
02127 TAO_PSDL_Mult_Expr (TAO_PSDL_Node *mult_expr,
02128 TAO_PSDL_Node *unary_expr);
02129
02130 TAO_PSDL_Mult_Expr (TAO_PSDL_Node *mult_expr,
02131 TAO_PSDL_Node * type,
02132 TAO_PSDL_Node *unary_expr);
02133
02134 virtual ~TAO_PSDL_Mult_Expr (void);
02135
02136
02137 TAO_PSDL_Node *type (void) const;
02138 TAO_PSDL_Node *unary_expr (void) const;
02139 TAO_PSDL_Node *mult_expr (void) const;
02140
02141
02142 int accept (TAO_PSDL_Node_Visitor *visitor);
02143
02144 private:
02145
02146 TAO_PSDL_Node *mult_expr_;
02147 TAO_PSDL_Node * type_;
02148 TAO_PSDL_Node *unary_expr_;
02149 };
02150
02151
02152
02153 class TAO_PSDL_Export TAO_PSDL_Unary_Expr : public TAO_PSDL_Node
02154 {
02155 public:
02156
02157 TAO_PSDL_Unary_Expr (TAO_PSDL_Node *unary_operator,
02158 TAO_PSDL_Node *primary_expr);
02159
02160 TAO_PSDL_Unary_Expr (TAO_PSDL_Node *primary_expr);
02161
02162 virtual ~TAO_PSDL_Unary_Expr (void);
02163
02164
02165 TAO_PSDL_Node *unary_operator (void) const;
02166 TAO_PSDL_Node *primary_expr (void) const;
02167
02168
02169 int accept (TAO_PSDL_Node_Visitor *visitor);
02170
02171 private:
02172
02173 TAO_PSDL_Node *unary_operator_;
02174 TAO_PSDL_Node *primary_expr_;
02175 };
02176
02177
02178
02179 class TAO_PSDL_Export TAO_PSDL_Primary_Expr : public TAO_PSDL_Node
02180 {
02181 public:
02182
02183 TAO_PSDL_Primary_Expr (TAO_PSDL_Node *type_of_primary_expr);
02184
02185 virtual ~TAO_PSDL_Primary_Expr (void);
02186
02187
02188 TAO_PSDL_Node *type_of_primary_expr (void) const;
02189
02190
02191 int accept (TAO_PSDL_Node_Visitor *visitor);
02192
02193 private:
02194
02195 TAO_PSDL_Node *type_of_primary_expr_;
02196 };
02197
02198
02199
02200 class TAO_PSDL_Export TAO_PSDL_Except_Dcl : public TAO_PSDL_Node
02201 {
02202 public:
02203
02204 TAO_PSDL_Except_Dcl (TAO_PSDL_Node *identifier);
02205
02206 TAO_PSDL_Except_Dcl (TAO_PSDL_Node *identifier,
02207 TAO_PSDL_Node *member_list);
02208
02209 virtual ~TAO_PSDL_Except_Dcl (void);
02210
02211
02212 TAO_PSDL_Node *identifier (void) const;
02213 TAO_PSDL_Node *member_list (void) const;
02214
02215
02216 int accept (TAO_PSDL_Node_Visitor *visitor);
02217
02218 private:
02219
02220 TAO_PSDL_Node *identifier_;
02221 TAO_PSDL_Node *member_list_;
02222 };
02223
02224
02225
02226 class TAO_PSDL_Export TAO_PSDL_Op_Dcl : public TAO_PSDL_Node
02227 {
02228 public:
02229
02230 TAO_PSDL_Op_Dcl (TAO_PSDL_Node *op_attribute,
02231 TAO_PSDL_Node *op_type_spec,
02232 TAO_PSDL_Node *identifier,
02233 TAO_PSDL_Node * parameter_dcls,
02234 TAO_PSDL_Node * raises_expr,
02235 TAO_PSDL_Node * context_expr);
02236
02237 TAO_PSDL_Op_Dcl (TAO_PSDL_Node *op_type_spec,
02238 TAO_PSDL_Node *identifier,
02239 TAO_PSDL_Node * parameter_dcls,
02240 TAO_PSDL_Node * raises_expr,
02241 TAO_PSDL_Node * context_expr);
02242
02243 TAO_PSDL_Op_Dcl (TAO_PSDL_Node *op_type_spec,
02244 TAO_PSDL_Node *identifier,
02245 TAO_PSDL_Node * parameter_dcls,
02246 TAO_PSDL_Node * raises_expr);
02247
02248
02249
02250
02251
02252
02253
02254
02255
02256
02257
02258
02259
02260
02261
02262
02263
02264 TAO_PSDL_Op_Dcl (TAO_PSDL_Node *op_type_spec,
02265 TAO_PSDL_Node *identifier,
02266 TAO_PSDL_Node * parameter_dcls);
02267
02268 virtual ~TAO_PSDL_Op_Dcl (void);
02269
02270
02271 TAO_PSDL_Node *op_attribute (void) const;
02272 TAO_PSDL_Node *op_type_spec (void) const;
02273 TAO_PSDL_Node *identifier (void) const;
02274 TAO_PSDL_Node * parameter_dcls (void) const;
02275 TAO_PSDL_Node * raises_expr (void) const;
02276 TAO_PSDL_Node * context_expr (void) const;
02277
02278
02279 int accept (TAO_PSDL_Node_Visitor *visitor);
02280
02281 private:
02282
02283 TAO_PSDL_Node *op_attribute_;
02284 TAO_PSDL_Node *op_type_spec_;
02285 TAO_PSDL_Node *identifier_;
02286 TAO_PSDL_Node * parameter_dcls_;
02287 TAO_PSDL_Node * raises_expr_;
02288 TAO_PSDL_Node * context_expr_;
02289 };
02290
02291
02292
02293 class TAO_PSDL_Export TAO_PSDL_Op_Type_Spec : public TAO_PSDL_Node
02294 {
02295 public:
02296
02297 TAO_PSDL_Op_Type_Spec (TAO_PSDL_Node *type_spec);
02298
02299 TAO_PSDL_Op_Type_Spec (int type);
02300
02301 virtual ~TAO_PSDL_Op_Type_Spec (void);
02302
02303
02304 TAO_PSDL_Node *type_spec (void) const;
02305 int type (void) const;
02306
02307
02308 int accept (TAO_PSDL_Node_Visitor *visitor);
02309
02310 private:
02311
02312 TAO_PSDL_Node * type_spec_;
02313 int type_;
02314 };
02315
02316
02317
02318 class TAO_PSDL_Export TAO_PSDL_Parameter_Dcls : public TAO_PSDL_Node
02319 {
02320 public:
02321
02322 TAO_PSDL_Parameter_Dcls ();
02323 TAO_PSDL_Parameter_Dcls (TAO_PSDL_Node *param_dcl);
02324
02325 virtual ~TAO_PSDL_Parameter_Dcls (void);
02326
02327
02328 TAO_PSDL_Node *param_dcl (void) const;
02329
02330
02331 int accept (TAO_PSDL_Node_Visitor *visitor);
02332
02333 private:
02334
02335 TAO_PSDL_Node *param_dcl_;
02336 };
02337
02338
02339
02340 class TAO_PSDL_Export TAO_PSDL_Param_Dcl : public TAO_PSDL_Node
02341 {
02342 public:
02343
02344 TAO_PSDL_Param_Dcl (TAO_PSDL_Node *param_attribute,
02345 TAO_PSDL_Node *param_type_spec,
02346 TAO_PSDL_Node *simple_declarator);
02347
02348 TAO_PSDL_Param_Dcl (TAO_PSDL_Node *param_attribute,
02349 TAO_PSDL_Node *param_type_spec,
02350 TAO_PSDL_Node *simple_declarator,
02351 TAO_PSDL_Node *param_dcl);
02352
02353 virtual ~TAO_PSDL_Param_Dcl (void);
02354
02355
02356 TAO_PSDL_Node *param_attribute (void) const;
02357 TAO_PSDL_Node *param_type_spec (void) const;
02358 TAO_PSDL_Node *simple_declarator (void) const;
02359 TAO_PSDL_Node *param_dcl (void) const;
02360
02361
02362 int accept (TAO_PSDL_Node_Visitor *visitor);
02363
02364 private:
02365
02366 TAO_PSDL_Node *param_attribute_;
02367 TAO_PSDL_Node *param_type_spec_;
02368 TAO_PSDL_Node *simple_declarator_;
02369 TAO_PSDL_Node *param_dcl_;
02370 };
02371
02372
02373
02374 class TAO_PSDL_Export TAO_PSDL_Raises_Expr : public TAO_PSDL_Node
02375 {
02376 public:
02377
02378 TAO_PSDL_Raises_Expr (TAO_PSDL_Node *first_scoped_name);
02379
02380 TAO_PSDL_Raises_Expr (TAO_PSDL_Node *first_scoped_name,
02381 TAO_PSDL_Node *second_scoped_name);
02382
02383 virtual ~TAO_PSDL_Raises_Expr (void);
02384
02385
02386 TAO_PSDL_Node *first_scoped_name (void) const;
02387 TAO_PSDL_Node *second_scoped_name (void) const;
02388
02389
02390 int accept (TAO_PSDL_Node_Visitor *visitor);
02391
02392 private:
02393
02394 TAO_PSDL_Node *first_scoped_name_;
02395 TAO_PSDL_Node *second_scoped_name_;
02396 };
02397
02398
02399
02400 class TAO_PSDL_Export TAO_PSDL_Context_Expr : public TAO_PSDL_Node
02401 {
02402 public:
02403
02404 TAO_PSDL_Context_Expr (TAO_PSDL_Node *string_literal);
02405
02406 virtual ~TAO_PSDL_Context_Expr (void);
02407
02408
02409 TAO_PSDL_Node *string_literal (void) const;
02410
02411
02412 int accept (TAO_PSDL_Node_Visitor *visitor);
02413
02414 private:
02415
02416 TAO_PSDL_Node *string_literal_;
02417 };
02418
02419
02420
02421 class TAO_PSDL_Export TAO_PSDL_Param_Type_Spec : public TAO_PSDL_Node
02422 {
02423 public:
02424
02425 TAO_PSDL_Param_Type_Spec (TAO_PSDL_Node *type_of_param);
02426
02427 virtual ~TAO_PSDL_Param_Type_Spec (void);
02428
02429
02430 TAO_PSDL_Node *type_of_param (void) const;
02431
02432
02433
02434 int accept (TAO_PSDL_Node_Visitor *visitor);
02435
02436 private:
02437
02438 TAO_PSDL_Node *type_of_param_;
02439 };
02440
02441
02442
02443 class TAO_PSDL_Export TAO_PSDL_Fixed_Pt_Type : public TAO_PSDL_Node
02444 {
02445 public:
02446
02447 TAO_PSDL_Fixed_Pt_Type (TAO_PSDL_Node *positive_int_const_one,
02448 TAO_PSDL_Node *positive_int_const_two);
02449
02450 virtual ~TAO_PSDL_Fixed_Pt_Type (void);
02451
02452
02453 TAO_PSDL_Node *positive_int_const_one (void) const;
02454 TAO_PSDL_Node *positive_int_const_two (void) const;
02455
02456
02457 int accept (TAO_PSDL_Node_Visitor *visitor);
02458
02459 private:
02460
02461 TAO_PSDL_Node *positive_int_const_one_;
02462 TAO_PSDL_Node *positive_int_const_two_;
02463 };
02464
02465
02466
02467 class TAO_PSDL_Export TAO_PSDL_Constr_Forward_Decl : public TAO_PSDL_Node
02468 {
02469 public:
02470
02471 TAO_PSDL_Constr_Forward_Decl (TAO_PSDL_Node * type,
02472 TAO_PSDL_Node *identifier);
02473
02474 virtual ~TAO_PSDL_Constr_Forward_Decl (void);
02475
02476
02477 TAO_PSDL_Node * type (void) const;
02478 TAO_PSDL_Node *identifier (void) const;
02479
02480
02481 int accept (TAO_PSDL_Node_Visitor *visitor);
02482
02483 private:
02484
02485 TAO_PSDL_Node * type_;
02486 TAO_PSDL_Node *identifier_;
02487 };
02488
02489
02490
02491 class TAO_PSDL_Export TAO_PSDL_Interface : public TAO_PSDL_Node
02492 {
02493 public:
02494
02495 TAO_PSDL_Interface (TAO_PSDL_Node *type_of_dcl);
02496
02497 virtual ~TAO_PSDL_Interface (void);
02498
02499
02500 TAO_PSDL_Node *type_of_dcl (void) const;
02501
02502
02503 int accept (TAO_PSDL_Node_Visitor *visitor);
02504
02505 private:
02506
02507 TAO_PSDL_Node *type_of_dcl_;
02508 };
02509
02510
02511
02512 class TAO_PSDL_Export TAO_PSDL_Interface_Body : public TAO_PSDL_Node
02513 {
02514 public:
02515
02516 TAO_PSDL_Interface_Body (TAO_PSDL_Node *export_variable);
02517
02518 TAO_PSDL_Interface_Body (TAO_PSDL_Node *export_variable,
02519 TAO_PSDL_Node *interface_body);
02520
02521 virtual ~TAO_PSDL_Interface_Body (void);
02522
02523
02524 TAO_PSDL_Node *export_variable (void) const;
02525 TAO_PSDL_Node *interface_body (void) const;
02526
02527
02528 int accept (TAO_PSDL_Node_Visitor *visitor);
02529
02530 private:
02531
02532 TAO_PSDL_Node *export_variable_;
02533 TAO_PSDL_Node *interface_body_;
02534 };
02535
02536
02537
02538 class TAO_PSDL_Export TAO_PSDL_Interface_Dcl : public TAO_PSDL_Node
02539 {
02540 public:
02541
02542 TAO_PSDL_Interface_Dcl (TAO_PSDL_Node *interface_header);
02543
02544 TAO_PSDL_Interface_Dcl (TAO_PSDL_Node *interface_header,
02545 TAO_PSDL_Node *interface_body);
02546
02547 virtual ~TAO_PSDL_Interface_Dcl (void);
02548
02549
02550 TAO_PSDL_Node *interface_header (void) const;
02551 TAO_PSDL_Node *interface_body (void) const;
02552
02553
02554 int accept (TAO_PSDL_Node_Visitor *visitor);
02555
02556 private:
02557
02558
02559 TAO_PSDL_Node *interface_header_;
02560 TAO_PSDL_Node *interface_body_;
02561 };
02562
02563
02564
02565 class TAO_PSDL_Export TAO_PSDL_Forward_Dcl : public TAO_PSDL_Node
02566 {
02567 public:
02568
02569 TAO_PSDL_Forward_Dcl (TAO_PSDL_Node *identifier);
02570
02571 TAO_PSDL_Forward_Dcl (int type,
02572 TAO_PSDL_Node *identifier);
02573
02574 virtual ~TAO_PSDL_Forward_Dcl (void);
02575
02576
02577 int type (void) const;
02578 TAO_PSDL_Node *identifier (void) const;
02579
02580
02581 int accept (TAO_PSDL_Node_Visitor *visitor);
02582
02583 private:
02584
02585
02586 int type_;
02587 TAO_PSDL_Node *identifier_;
02588 };
02589
02590
02591
02592 class TAO_PSDL_Export TAO_PSDL_Interface_Header : public TAO_PSDL_Node
02593 {
02594 public:
02595
02596 TAO_PSDL_Interface_Header (TAO_PSDL_Node *identifier);
02597
02598 TAO_PSDL_Interface_Header (TAO_PSDL_Node * type,
02599 TAO_PSDL_Node *identifier);
02600
02601 TAO_PSDL_Interface_Header (TAO_PSDL_Node * type,
02602 TAO_PSDL_Node *identifier,
02603 TAO_PSDL_Node *interface_inheritance_spec);
02604
02605
02606
02607
02608
02609
02610
02611 virtual ~TAO_PSDL_Interface_Header (void);
02612
02613
02614 TAO_PSDL_Node * type (void) const;
02615 TAO_PSDL_Node *identifier (void) const;
02616 TAO_PSDL_Node *interface_inheritance_spec (void) const;
02617
02618
02619 int accept (TAO_PSDL_Node_Visitor *visitor);
02620
02621 private:
02622
02623
02624
02625
02626
02627
02628 TAO_PSDL_Node * type_;
02629 TAO_PSDL_Node *identifier_;
02630 TAO_PSDL_Node *interface_inheritance_spec_;
02631 };
02632
02633
02634
02635 class TAO_PSDL_Export TAO_PSDL_Export_Dcl : public TAO_PSDL_Node
02636 {
02637 public:
02638
02639 TAO_PSDL_Export_Dcl (TAO_PSDL_Node *type_of_export_one);
02640
02641 TAO_PSDL_Export_Dcl (TAO_PSDL_Node *type_of_export_one,
02642 TAO_PSDL_Node *type_of_export_two);
02643
02644 virtual ~TAO_PSDL_Export_Dcl (void);
02645
02646
02647 TAO_PSDL_Node *type_of_export_one (void) const;
02648 TAO_PSDL_Node *type_of_export_two (void) const;
02649
02650
02651 int accept (TAO_PSDL_Node_Visitor *visitor);
02652
02653 private:
02654
02655
02656 TAO_PSDL_Node *type_of_export_one_;
02657 TAO_PSDL_Node *type_of_export_two_;
02658 };
02659
02660
02661
02662 class TAO_PSDL_Export TAO_PSDL_Interface_Inheritance_Spec : public TAO_PSDL_Node
02663 {
02664 public:
02665
02666 TAO_PSDL_Interface_Inheritance_Spec (TAO_PSDL_Node *interface_name);
02667
02668 virtual ~TAO_PSDL_Interface_Inheritance_Spec (void);
02669
02670
02671 TAO_PSDL_Node *interface_name (void) const;
02672
02673
02674 int accept (TAO_PSDL_Node_Visitor *visitor);
02675
02676 private:
02677
02678
02679 TAO_PSDL_Node *interface_name_;
02680 };
02681
02682
02683
02684 class TAO_PSDL_Export TAO_PSDL_Interface_Name : public TAO_PSDL_Node
02685 {
02686 public:
02687
02688 TAO_PSDL_Interface_Name (TAO_PSDL_Node *scoped_name);
02689 TAO_PSDL_Interface_Name (TAO_PSDL_Node *scoped_name,
02690 TAO_PSDL_Node *interface_name);
02691
02692 virtual ~TAO_PSDL_Interface_Name (void);
02693
02694
02695 TAO_PSDL_Node *scoped_name (void) const;
02696 TAO_PSDL_Node *interface_name (void) const;
02697
02698
02699 int accept (TAO_PSDL_Node_Visitor *visitor);
02700
02701 private:
02702
02703
02704 TAO_PSDL_Node *scoped_name_;
02705 TAO_PSDL_Node *interface_name_;
02706 };
02707
02708
02709
02710 class TAO_PSDL_Export TAO_PSDL_Scoped_Name : public TAO_PSDL_Node
02711 {
02712 public:
02713
02714 TAO_PSDL_Scoped_Name (TAO_PSDL_Node *identifier);
02715 TAO_PSDL_Scoped_Name (TAO_PSDL_Node *scoped_name,
02716 TAO_PSDL_Node *identifier);
02717
02718 virtual ~TAO_PSDL_Scoped_Name (void);
02719
02720
02721 TAO_PSDL_Node *identifier (void) const;
02722 TAO_PSDL_Node *scoped_name (void) const;
02723
02724
02725 int accept (TAO_PSDL_Node_Visitor *visitor);
02726
02727 private:
02728
02729
02730 TAO_PSDL_Node *identifier_;
02731 TAO_PSDL_Node *scoped_name_;
02732 };
02733
02734
02735
02736 class TAO_PSDL_Export TAO_PSDL_Value : public TAO_PSDL_Node
02737 {
02738 public:
02739
02740 TAO_PSDL_Value (TAO_PSDL_Node *type_of_value_dcl);
02741 virtual ~TAO_PSDL_Value (void);
02742
02743
02744 TAO_PSDL_Node *type_of_value_dcl (void) const;
02745
02746
02747 int accept (TAO_PSDL_Node_Visitor *visitor);
02748
02749 private:
02750
02751
02752 TAO_PSDL_Node *type_of_value_dcl_;
02753 };
02754
02755
02756
02757 class TAO_PSDL_Export TAO_PSDL_Value_Common_Base : public TAO_PSDL_Node
02758 {
02759 public:
02760
02761 TAO_PSDL_Value_Common_Base (TAO_PSDL_Node *identifier);
02762 virtual ~TAO_PSDL_Value_Common_Base (void);
02763
02764
02765 TAO_PSDL_Node *identifier (void) const;
02766
02767
02768 int accept (TAO_PSDL_Node_Visitor *visitor);
02769
02770 private:
02771
02772
02773 TAO_PSDL_Node *identifier_;
02774 };
02775
02776
02777
02778 class TAO_PSDL_Export TAO_PSDL_Value_Forward_Dcl : public TAO_PSDL_Node
02779 {
02780 public:
02781
02782 TAO_PSDL_Value_Forward_Dcl (TAO_PSDL_Node *value_common_base);
02783 TAO_PSDL_Value_Forward_Dcl (TAO_PSDL_Node *abstract,
02784 TAO_PSDL_Node *value_common_base);
02785 virtual ~TAO_PSDL_Value_Forward_Dcl (void);
02786
02787
02788 TAO_PSDL_Node *abstract (void) const;
02789 TAO_PSDL_Node *value_common_base (void) const;
02790
02791
02792 int accept (TAO_PSDL_Node_Visitor *visitor);
02793
02794 private:
02795
02796
02797 TAO_PSDL_Node *value_common_base_;
02798 TAO_PSDL_Node *abstract_;
02799 };
02800
02801
02802
02803 class TAO_PSDL_Export TAO_PSDL_Value_Box_Dcl : public TAO_PSDL_Node
02804 {
02805 public:
02806
02807 TAO_PSDL_Value_Box_Dcl (TAO_PSDL_Node *value_common_base,
02808 TAO_PSDL_Node *type_spec);
02809 virtual ~TAO_PSDL_Value_Box_Dcl (void);
02810
02811
02812 TAO_PSDL_Node *value_common_base (void) const;
02813 TAO_PSDL_Node *type_spec (void) const;
02814
02815
02816 int accept (TAO_PSDL_Node_Visitor *visitor);
02817
02818 private:
02819
02820
02821 TAO_PSDL_Node *value_common_base_;
02822 TAO_PSDL_Node *type_spec_;
02823 };
02824
02825
02826
02827 class TAO_PSDL_Export TAO_PSDL_Value_Abs_Dcl : public TAO_PSDL_Node
02828 {
02829 public:
02830
02831 TAO_PSDL_Value_Abs_Dcl (TAO_PSDL_Node *value_common_base,
02832 TAO_PSDL_Node *export_variable);
02833
02834 TAO_PSDL_Value_Abs_Dcl (TAO_PSDL_Node *value_common_base,
02835 TAO_PSDL_Node *value_inheritance_spec,
02836 TAO_PSDL_Node *export_variable);
02837
02838 virtual ~TAO_PSDL_Value_Abs_Dcl (void);
02839
02840
02841 TAO_PSDL_Node *value_common_base (void) const;
02842 TAO_PSDL_Node *value_inheritance_spec (void) const;
02843 TAO_PSDL_Node *export_variable (void) const;
02844
02845
02846 int accept (TAO_PSDL_Node_Visitor *visitor);
02847
02848 private:
02849
02850
02851 TAO_PSDL_Node *value_common_base_;
02852 TAO_PSDL_Node *value_inheritance_spec_;
02853 TAO_PSDL_Node *export_variable_;
02854 };
02855
02856
02857
02858 class TAO_PSDL_Export TAO_PSDL_Value_Dcl : public TAO_PSDL_Node
02859 {
02860 public:
02861
02862 TAO_PSDL_Value_Dcl (TAO_PSDL_Node *value_header,
02863 TAO_PSDL_Node *value_element);
02864
02865 virtual ~TAO_PSDL_Value_Dcl (void);
02866
02867
02868 TAO_PSDL_Node *value_header (void) const;
02869 TAO_PSDL_Node *value_element (void) const;
02870
02871
02872 int accept (TAO_PSDL_Node_Visitor *visitor);
02873
02874 private:
02875
02876
02877 TAO_PSDL_Node *value_header_;
02878 TAO_PSDL_Node *value_element_;
02879 };
02880
02881
02882
02883 class TAO_PSDL_Export TAO_PSDL_Value_Header : public TAO_PSDL_Node
02884 {
02885 public:
02886
02887 TAO_PSDL_Value_Header (TAO_PSDL_Node *value_common_base,
02888 TAO_PSDL_Node *value_inheritance_spec);
02889
02890 TAO_PSDL_Value_Header (TAO_PSDL_Node *custom,
02891 TAO_PSDL_Node *value_common_base,
02892 TAO_PSDL_Node *value_inheritance_spec);
02893
02894 virtual ~TAO_PSDL_Value_Header (void);
02895
02896
02897 TAO_PSDL_Node *custom (void) const;
02898 TAO_PSDL_Node *value_common_base (void) const;
02899 TAO_PSDL_Node *value_inheritance_spec (void) const;
02900
02901
02902 int accept (TAO_PSDL_Node_Visitor *visitor);
02903
02904 private:
02905
02906
02907 TAO_PSDL_Node *custom_;
02908 TAO_PSDL_Node *value_common_base_;
02909 TAO_PSDL_Node *value_inheritance_spec_;
02910 };
02911
02912
02913
02914 class TAO_PSDL_Export TAO_PSDL_Value_Inheritance_Spec : public TAO_PSDL_Node
02915 {
02916 public:
02917
02918 TAO_PSDL_Value_Inheritance_Spec (TAO_PSDL_Node *interface_name);
02919
02920
02921
02922
02923
02924
02925 TAO_PSDL_Value_Inheritance_Spec (TAO_PSDL_Node *value_name,
02926 TAO_PSDL_Node *interface_name);
02927
02928
02929
02930
02931
02932
02933
02934 TAO_PSDL_Value_Inheritance_Spec (TAO_PSDL_Node *truncatable,
02935 TAO_PSDL_Node *value_name,
02936 TAO_PSDL_Node *interface_name);
02937
02938 virtual ~TAO_PSDL_Value_Inheritance_Spec (void);
02939
02940
02941 TAO_PSDL_Node *truncatable (void) const;
02942 TAO_PSDL_Node *value_name (void) const;
02943 TAO_PSDL_Node *interface_name (void) const;
02944
02945
02946 int accept (TAO_PSDL_Node_Visitor *visitor);
02947
02948 private:
02949
02950
02951 TAO_PSDL_Node *truncatable_;
02952 TAO_PSDL_Node *value_name_;
02953 TAO_PSDL_Node *interface_name_;
02954 };
02955
02956
02957
02958 class TAO_PSDL_Export TAO_PSDL_Value_Name : public TAO_PSDL_Node
02959 {
02960 public:
02961
02962 TAO_PSDL_Value_Name (TAO_PSDL_Node *scoped_name);
02963
02964 TAO_PSDL_Value_Name (TAO_PSDL_Node *scoped_name,
02965 TAO_PSDL_Node *value_name);
02966
02967 virtual ~TAO_PSDL_Value_Name (void);
02968
02969
02970 TAO_PSDL_Node *scoped_name (void) const;
02971 TAO_PSDL_Node *value_name (void) const;
02972
02973
02974 int accept (TAO_PSDL_Node_Visitor *visitor);
02975
02976 private:
02977
02978
02979 TAO_PSDL_Node *scoped_name_;
02980 TAO_PSDL_Node *value_name_;
02981 };
02982
02983
02984
02985 class TAO_PSDL_Export TAO_PSDL_Value_Element : public TAO_PSDL_Node
02986 {
02987 public:
02988
02989
02990 TAO_PSDL_Value_Element (TAO_PSDL_Node *type_of_element);
02991
02992 virtual ~TAO_PSDL_Value_Element (void);
02993
02994
02995 TAO_PSDL_Node *type_of_element (void) const;
02996
02997
02998 int accept (TAO_PSDL_Node_Visitor *visitor);
02999
03000 private:
03001
03002
03003 TAO_PSDL_Node *type_of_element_;
03004 };
03005
03006
03007
03008 class TAO_PSDL_Export TAO_PSDL_Array_Declarator : public TAO_PSDL_Node
03009 {
03010 public:
03011
03012 TAO_PSDL_Array_Declarator (TAO_PSDL_Node *identifier,
03013 TAO_PSDL_Node *fixed_array_size);
03014
03015 virtual ~TAO_PSDL_Array_Declarator (void);
03016
03017
03018 TAO_PSDL_Node *identifier (void) const;
03019 TAO_PSDL_Node *fixed_array_size (void) const;
03020
03021
03022 int accept (TAO_PSDL_Node_Visitor *visitor);
03023
03024 private:
03025
03026
03027 TAO_PSDL_Node *identifier_;
03028 TAO_PSDL_Node *fixed_array_size_;
03029 };
03030
03031
03032
03033 class TAO_PSDL_Export TAO_PSDL_Fixed_Array_Size : public TAO_PSDL_Node
03034 {
03035 public:
03036
03037 TAO_PSDL_Fixed_Array_Size (TAO_PSDL_Node *positive_int_const);
03038
03039 virtual ~TAO_PSDL_Fixed_Array_Size (void);
03040
03041
03042 TAO_PSDL_Node *positive_int_const (void) const;
03043
03044
03045 int accept (TAO_PSDL_Node_Visitor *visitor);
03046
03047 private:
03048
03049
03050 TAO_PSDL_Node *positive_int_const_;
03051 };
03052
03053
03054
03055 class TAO_PSDL_Export TAO_PSDL_Attr_Dcl : public TAO_PSDL_Node
03056 {
03057 public:
03058
03059 TAO_PSDL_Attr_Dcl (int readonly,
03060 TAO_PSDL_Node *param_type_spec,
03061 TAO_PSDL_Node *simple_declarator);
03062
03063 TAO_PSDL_Attr_Dcl (TAO_PSDL_Node *param_type_spec,
03064 TAO_PSDL_Node *simple_declarator);
03065
03066 virtual ~TAO_PSDL_Attr_Dcl (void);
03067
03068
03069 int readonly (void) const;
03070 TAO_PSDL_Node *param_type_spec (void) const;
03071 TAO_PSDL_Node *simple_declarator (void) const;
03072
03073
03074 int accept (TAO_PSDL_Node_Visitor *visitor);
03075
03076 private:
03077
03078
03079 int readonly_;
03080 TAO_PSDL_Node *param_type_spec_;
03081 TAO_PSDL_Node *simple_declarator_;
03082 };
03083
03084
03085
03086 class TAO_PSDL_Export TAO_PSDL_Enumerator : public TAO_PSDL_Node
03087 {
03088 public:
03089
03090 TAO_PSDL_Enumerator (TAO_PSDL_Node *identifier);
03091
03092 TAO_PSDL_Enumerator (TAO_PSDL_Node *identifier,
03093 TAO_PSDL_Node *enumerator);
03094
03095 virtual ~TAO_PSDL_Enumerator (void);
03096
03097
03098 TAO_PSDL_Node *identifier (void) const;
03099 TAO_PSDL_Node *enumerator (void) const;
03100
03101
03102 int accept (TAO_PSDL_Node_Visitor *visitor);
03103
03104 private:
03105
03106
03107 TAO_PSDL_Node *identifier_;
03108 TAO_PSDL_Node *enumerator_;
03109 };
03110
03111
03112
03113 class TAO_PSDL_Export TAO_PSDL_Literal : public TAO_PSDL_Node
03114 {
03115 public:
03116
03117 TAO_PSDL_Literal (CORBA::Boolean boolean_value);
03118
03119 TAO_PSDL_Literal (int int_value);
03120
03121 TAO_PSDL_Literal (double double_value);
03122
03123 TAO_PSDL_Literal (const char *char_value);
03124
03125 virtual ~TAO_PSDL_Literal (void);
03126
03127
03128 CORBA::Boolean boolean_value (void) const;
03129 int int_value (void) const;
03130 double double_value (void) const;
03131 const char *char_value (void) const;
03132
03133
03134 int accept (TAO_PSDL_Node_Visitor *visitor);
03135
03136 private:
03137
03138
03139 CORBA::Boolean boolean_value_;
03140 int int_value_;
03141 double double_value_;
03142 const char *char_value_;
03143 };
03144
03145
03146
03147 class TAO_PSDL_Export TAO_PSDL_State_Member : public TAO_PSDL_Node
03148 {
03149 public:
03150
03151 TAO_PSDL_State_Member (TAO_PSDL_Node *public_or_private,
03152 TAO_PSDL_Node *type_spec,
03153 TAO_PSDL_Node *declarators);
03154
03155
03156
03157
03158
03159
03160
03161 virtual ~TAO_PSDL_State_Member (void);
03162
03163
03164 TAO_PSDL_Node *public_or_private (void) const;
03165 TAO_PSDL_Node *type_spec (void) const;
03166 TAO_PSDL_Node *declarators (void) const;
03167
03168
03169 int accept (TAO_PSDL_Node_Visitor *visitor);
03170
03171 private:
03172
03173
03174 TAO_PSDL_Node *public_or_private_;
03175 TAO_PSDL_Node *type_spec_;
03176 TAO_PSDL_Node *declarators_;
03177
03178 };
03179
03180
03181
03182 class TAO_PSDL_Export TAO_PSDL_Init_Dcl : public TAO_PSDL_Node
03183 {
03184 public:
03185
03186 TAO_PSDL_Init_Dcl (TAO_PSDL_Node *identifier);
03187
03188 TAO_PSDL_Init_Dcl (TAO_PSDL_Node *identifier,
03189 TAO_PSDL_Node *init_param_decls);
03190
03191 virtual ~TAO_PSDL_Init_Dcl (void);
03192
03193
03194 TAO_PSDL_Node *identifier (void) const;
03195 TAO_PSDL_Node *init_param_decls (void) const;
03196
03197
03198 int accept (TAO_PSDL_Node_Visitor *visitor);
03199
03200 private:
03201
03202
03203 TAO_PSDL_Node *identifier_;
03204 TAO_PSDL_Node *init_param_decls_;
03205 };
03206
03207
03208
03209 class TAO_PSDL_Export TAO_PSDL_Init_Param_Decls : public TAO_PSDL_Node
03210 {
03211 public:
03212
03213 TAO_PSDL_Init_Param_Decls (TAO_PSDL_Node *init_param_decl);
03214
03215 TAO_PSDL_Init_Param_Decls (TAO_PSDL_Node *init_param_decl,
03216 TAO_PSDL_Node *init_param_decls);
03217
03218 virtual ~TAO_PSDL_Init_Param_Decls (void);
03219
03220
03221 TAO_PSDL_Node *init_param_decl (void) const;
03222 TAO_PSDL_Node *init_param_decls (void) const;
03223
03224
03225 int accept (TAO_PSDL_Node_Visitor *visitor);
03226
03227 private:
03228
03229
03230 TAO_PSDL_Node *init_param_decl_;
03231 TAO_PSDL_Node *init_param_decls_;
03232 };
03233
03234
03235
03236 class TAO_PSDL_Export TAO_PSDL_Init_Param_Decl : public TAO_PSDL_Node
03237 {
03238 public:
03239
03240 TAO_PSDL_Init_Param_Decl (TAO_PSDL_Node *init_param_attribute,
03241 TAO_PSDL_Node *param_type_spec,
03242 TAO_PSDL_Node *simple_declarator);
03243
03244 virtual ~TAO_PSDL_Init_Param_Decl (void);
03245
03246
03247 TAO_PSDL_Node *init_param_attribute (void) const;
03248 TAO_PSDL_Node *param_type_spec (void) const;
03249 TAO_PSDL_Node *simple_declarator (void) const;
03250
03251
03252 int accept (TAO_PSDL_Node_Visitor *visitor);
03253
03254 private:
03255
03256
03257 TAO_PSDL_Node *init_param_attribute_;
03258 TAO_PSDL_Node *param_type_spec_;
03259 TAO_PSDL_Node *simple_declarator_;
03260 };
03261
03262
03263
03264 class TAO_PSDL_Export TAO_PSDL_Positive_Int_Const : public TAO_PSDL_Node
03265 {
03266 public:
03267
03268 TAO_PSDL_Positive_Int_Const (TAO_PSDL_Node *const_exp);
03269
03270 virtual ~TAO_PSDL_Positive_Int_Const (void);
03271
03272
03273 TAO_PSDL_Node *const_exp (void) const;
03274
03275
03276 int accept (TAO_PSDL_Node_Visitor *visitor);
03277
03278 private:
03279
03280
03281 TAO_PSDL_Node *const_exp_;
03282 };
03283
03284
03285
03286 class TAO_PSDL_Export TAO_PSDL_Factory_Dcl : public TAO_PSDL_Node
03287 {
03288 public:
03289
03290 TAO_PSDL_Factory_Dcl (TAO_PSDL_Node *identifier,
03291 TAO_PSDL_Node *factory_parameters);
03292
03293 virtual ~TAO_PSDL_Factory_Dcl (void);
03294
03295
03296 TAO_PSDL_Node *identifier (void) const;
03297 TAO_PSDL_Node *factory_parameters (void) const;
03298
03299
03300 int accept (TAO_PSDL_Node_Visitor *visitor);
03301
03302 private:
03303
03304
03305 TAO_PSDL_Node *identifier_;
03306 TAO_PSDL_Node *factory_parameters_;
03307
03308 };
03309
03310
03311
03312 class TAO_PSDL_Export TAO_PSDL_Factory_Parameters : public TAO_PSDL_Node
03313 {
03314 public:
03315
03316 TAO_PSDL_Factory_Parameters ();
03317 TAO_PSDL_Factory_Parameters (TAO_PSDL_Node *simple_declarator);
03318
03319 virtual ~TAO_PSDL_Factory_Parameters (void);
03320
03321
03322 TAO_PSDL_Node *simple_declarator (void) const;
03323
03324
03325 int accept (TAO_PSDL_Node_Visitor *visitor);
03326
03327 private:
03328
03329
03330 TAO_PSDL_Node *simple_declarator_;
03331 };
03332
03333 #endif