PSDL_Node.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 // PSDL_Node.h,v 1.2 2006/04/19 10:21:13 jwillemsen Exp
00003 //
00004 // ============================================================================
00005 //
00006 // = LIBRARY
00007 //    PSS
00008 //
00009 // = FILENAME
00010 //    PSDL_Node
00011 //
00012 // = DESCRIPTION
00013 //    This class is the base type for all the type of possible nodes
00014 //    in the parse tree.
00015 //
00016 // = AUTHOR
00017 //    Priyanka Gontla <gontla_p@ociweb.com>
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 /* ACE_LACKS_PRAGMA_ONCE */
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   // Constructor and destructor
00046   TAO_PSDL_Node (void);
00047 
00048   virtual ~TAO_PSDL_Node (void);
00049 
00050   // This method is for applying the visitor pattern. When the control
00051   // reaches a particular node, since we donot know the type of the
00052   // node, we invoke the accept method. Each derived classes accept
00053   // method, will invoke the corresponding visitor method which does
00054   // the needful for that particular type of the node.
00055   virtual int accept (TAO_PSDL_Node_Visitor *visitor) = 0;
00056 
00057   // Needed when writing to stubs.
00058   virtual int type_of_node (void) const;
00059 
00060   // Accessors to the identifiers for use while building the ASTs
00061   ACE_CString get_identifier_type (void);
00062   ACE_CString get_identifier_value (void);
00063   void set_identifier (ACE_CString identifier);
00064 
00065   // Set the predefined_type_ to 1 to indicate that the type is a
00066   // predefined type.
00067   void set_predefined_type (void);
00068 
00069   /// Accessor methods.
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   // Array to carry the temporary identifier_type and identifier_value
00078   // before they are added to the related scope. ie,. to the ASTs
00079   ACE_Array_Base <ACE_CString> identifiers_;
00080 
00081   // Index to keep track of the present member of the identifiers_
00082   // array.
00083   CORBA::ULong count_;
00084 
00085   // Check if the type of the identifier is a predefined one.
00086   // The default value is that any identifier_type is a user-defined
00087   // one i.e. if the value is zero, it is a user-defined type. When
00088   // the identifier_type is actually a predefined one, its value is to
00089   // be changed to 1.
00090   CORBA::Boolean predefined_type_;
00091   /// Pointer to psdl_scope_
00092   TAO_PSDL_Scope *psdl_scope_;
00093 
00094   // Pointer to the base visitor class
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   // This class is for psdl_specification s.
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   /// Get the values.
00111   TAO_PSDL_Node *definition (void) const;
00112   TAO_PSDL_Node *specification (void) const;
00113 
00114   /// = The Node methods.
00115   int accept (TAO_PSDL_Node_Visitor *visitor);
00116 
00117 private:
00118   /// The values
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   // For psdl_definition
00129 public:
00130   TAO_PSDL_Definition (TAO_PSDL_Node *definition_type);
00131 
00132   virtual ~TAO_PSDL_Definition (void);
00133 
00134   /// Get the value
00135   TAO_PSDL_Node *definition_type (void) const;
00136 
00137   /// = The Node methods.
00138   int accept (TAO_PSDL_Node_Visitor *visitor);
00139 
00140 private:
00141   /// The values
00142   TAO_PSDL_Node *definition_type_;
00143 };
00144 
00145 // ****************************************************************
00146 
00147 class TAO_PSDL_Export TAO_PSDL_Module : public TAO_PSDL_Node
00148 {
00149   // for psdl_module
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   /// Get the value
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   /// = The Node methods.
00165   int accept (TAO_PSDL_Node_Visitor *visitor);
00166 
00167 private:
00168   /// The values
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   // For abstract_storagetype
00179 public:
00180   TAO_PSDL_Abstract_Storagetype (TAO_PSDL_Node *storagetype_dcl);
00181 
00182   virtual ~TAO_PSDL_Abstract_Storagetype (void);
00183 
00184   /// Get the value
00185   TAO_PSDL_Node *storagetype_dcl (void) const;
00186 
00187   /// = The Node methods.
00188   int accept (TAO_PSDL_Node_Visitor *visitor);
00189 
00190 private:
00191   /// The values
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   /// Get the value
00209   TAO_PSDL_Node *abs_storagetype_header (void) const;
00210   TAO_PSDL_Node *abs_storagetype_body (void) const;
00211 
00212   /// = The Node methods.
00213   int accept (TAO_PSDL_Node_Visitor *visitor);
00214 
00215 private:
00216   /// The values
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   /// Get the value
00232   TAO_PSDL_Node *identifier (void) const;
00233 
00234   /// = The Node methods.
00235   int accept (TAO_PSDL_Node_Visitor *visitor);
00236 
00237 private:
00238   /// The values
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   /// Get the value
00255   TAO_PSDL_Node *identifier (void) const;
00256   TAO_PSDL_Node *abs_storagetype_inh_spec (void) const;
00257 
00258   /// = The Node methods.
00259   int accept (TAO_PSDL_Node_Visitor *visitor);
00260 
00261 private:
00262   /// The values
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   /// Get the value
00280   TAO_PSDL_Node *abs_storagetype_member (void) const;
00281   TAO_PSDL_Node *abs_storagetype_body (void) const;
00282 
00283   /// = The Node methods.
00284   int accept (TAO_PSDL_Node_Visitor *visitor);
00285 
00286 private:
00287   /// The values
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   /// Get the value
00302   TAO_PSDL_Node *declaration (void) const;
00303 
00304   /// = The Node methods.
00305   int accept (TAO_PSDL_Node_Visitor *visitor);
00306 
00307 private:
00308   /// The values
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   /// Get the value
00322   TAO_PSDL_Node *abs_storagetype_name (void) const;
00323 
00324   /// = The Node methods.
00325   int accept (TAO_PSDL_Node_Visitor *visitor);
00326 
00327 private:
00328   /// The values
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   /// Get the value
00344   TAO_PSDL_Node *scoped_name (void) const;
00345   TAO_PSDL_Node *abs_storagetype_name (void) const;
00346 
00347   /// = The Node methods.
00348   int accept (TAO_PSDL_Node_Visitor *visitor);
00349 
00350 private:
00351   /// The values
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   /// Get the value
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   /// = The Node methods.
00377   int accept (TAO_PSDL_Node_Visitor *visitor);
00378 
00379 private:
00380   /// The values
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   /// Get the value
00397   TAO_PSDL_Node *type_spec (void) const;
00398 
00399   /// = The Node methods.
00400   int accept (TAO_PSDL_Node_Visitor *visitor);
00401 
00402 private:
00403   /// The values
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   /// Get the value
00421   TAO_PSDL_Node *key_word (void) const;
00422   TAO_PSDL_Node *abs_storagetype_name (void) const;
00423 
00424   /// = The Node methods.
00425   int accept (TAO_PSDL_Node_Visitor *visitor);
00426 
00427 private:
00428   /// The values
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   /// Get the value
00444   TAO_PSDL_Node *abs_storagehome_dcl (void) const;
00445 
00446   /// = The Node methods.
00447   int accept (TAO_PSDL_Node_Visitor *visitor);
00448 
00449 private:
00450   /// The values
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   /// Get the value
00465   TAO_PSDL_Node *identifier (void) const;
00466 
00467   /// = The Node methods.
00468   int accept (TAO_PSDL_Node_Visitor *visitor);
00469 
00470 private:
00471   /// The values
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   /// Get the value
00489   TAO_PSDL_Node *abs_storagehome_header (void) const;
00490   TAO_PSDL_Node *abs_storagehome_body (void) const;
00491 
00492   /// = The Node methods.
00493   int accept (TAO_PSDL_Node_Visitor *visitor);
00494 
00495 private:
00496   /// The values
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   /// Get the value
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   /// = The Node methods.
00523   int accept (TAO_PSDL_Node_Visitor *visitor);
00524 
00525 private:
00526   /// The values
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   /// Get the value
00548   TAO_PSDL_Node *abs_storagehome_member (void) const;
00549   TAO_PSDL_Node *abs_storagehome_body (void) const;
00550 
00551   /// = The Node methods.
00552   int accept (TAO_PSDL_Node_Visitor *visitor);
00553 
00554 private:
00555   /// The values
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   /// Get the value
00571   TAO_PSDL_Node *declaration_type (void) const;
00572 
00573   /// = The Node methods.
00574   int accept (TAO_PSDL_Node_Visitor *visitor);
00575 
00576 private:
00577   /// The values
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   /// Get the value
00592   TAO_PSDL_Node *abs_storagehome_name (void) const;
00593 
00594   /// = The Node methods.
00595   int accept (TAO_PSDL_Node_Visitor *visitor);
00596 
00597 private:
00598   /// The values
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   /// Get the value
00616   TAO_PSDL_Node *scoped_name (void) const;
00617   TAO_PSDL_Node *abs_storagehome_name (void) const;
00618 
00619   /// = The Node methods.
00620   int accept (TAO_PSDL_Node_Visitor *visitor);
00621 
00622 private:
00623   /// The values
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   /// Get the value
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   /// = The Node methods.
00652   int accept (TAO_PSDL_Node_Visitor *visitor);
00653 
00654 private:
00655   /// The values
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   /// Get the value
00676   TAO_PSDL_Node *identifier (void) const;
00677   TAO_PSDL_Node *simple_declarator (void) const;
00678 
00679   /// = The Node methods.
00680   int accept (TAO_PSDL_Node_Visitor *visitor);
00681 
00682 private:
00683   /// The values
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   /// Get the value
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   /// = The Node methods.
00710   int accept (TAO_PSDL_Node_Visitor *visitor);
00711 
00712 private:
00713   /// The values
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   /// Get the value
00730   TAO_PSDL_Node *catalog_name (void) const;
00731 
00732   /// = The Node methods.
00733   int accept (TAO_PSDL_Node_Visitor *visitor);
00734 
00735 private:
00736   /// The values
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   /// Get the value
00753   TAO_PSDL_Node *scoped_name (void) const;
00754   TAO_PSDL_Node *catalog_name (void) const;
00755 
00756   /// = The Node methods.
00757   int accept (TAO_PSDL_Node_Visitor *visitor);
00758 
00759 private:
00760   /// The values
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   /// Get the value
00779   TAO_PSDL_Node *catalog_member (void) const;
00780   TAO_PSDL_Node *catalog_body (void) const;
00781 
00782   /// = The Node methods.
00783   int accept (TAO_PSDL_Node_Visitor *visitor);
00784 
00785 private:
00786   /// The values
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   /// Get the value
00802   TAO_PSDL_Node *declaration (void) const;
00803 
00804   /// = The Node methods.
00805   int accept (TAO_PSDL_Node_Visitor *visitor);
00806 
00807 private:
00808   /// The values
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   /// Get the value
00824   TAO_PSDL_Node *abs_storagehome_name (void) const;
00825   TAO_PSDL_Node *simple_declarator (void) const;
00826 
00827   /// = The Node methods.
00828   int accept (TAO_PSDL_Node_Visitor *visitor);
00829 
00830 private:
00831   /// The values
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   /// Get the value
00847   TAO_PSDL_Node *declaration (void) const;
00848 
00849   /// = The Node methods.
00850   int accept (TAO_PSDL_Node_Visitor *visitor);
00851 
00852 private:
00853   /// The values
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   /// Get the value
00871   TAO_PSDL_Node *storagetype_header (void) const;
00872   TAO_PSDL_Node *storagetype_body (void) const;
00873 
00874   /// = The Node methods.
00875   int accept (TAO_PSDL_Node_Visitor *visitor);
00876 
00877 private:
00878   /// The values
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   /// Get the value
00894   TAO_PSDL_Node *identifier (void) const;
00895 
00896   /// = The Node methods.
00897   int accept (TAO_PSDL_Node_Visitor *visitor);
00898 
00899 private:
00900   /// The values
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   /// Get the value
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   /// = The Node methods.
00927   int accept (TAO_PSDL_Node_Visitor *visitor);
00928 
00929 private:
00930   /// The values
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   /// Get the value
00952   TAO_PSDL_Node *storagetype_member (void) const;
00953   TAO_PSDL_Node *storagetype_body (void) const;
00954 
00955   /// = The Node methods.
00956   int accept (TAO_PSDL_Node_Visitor *visitor);
00957 
00958 private:
00959   /// The values
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   /// Get the value
00975   TAO_PSDL_Node *declaration (void) const;
00976 
00977   /// = The Node methods.
00978   int accept (TAO_PSDL_Node_Visitor *visitor);
00979 
00980 private:
00981   /// The values
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   /// Get the value
00996   TAO_PSDL_Node *storagetype_name (void) const;
00997 
00998   /// = The Node methods.
00999   int accept (TAO_PSDL_Node_Visitor *visitor);
01000 
01001 private:
01002   /// The values
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   /// Get the value
01017   TAO_PSDL_Node *scoped_name (void) const;
01018 
01019   /// = The Node methods.
01020   int accept (TAO_PSDL_Node_Visitor *visitor);
01021 
01022 private:
01023   /// The values
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   /// Get the value
01038   TAO_PSDL_Node *abstract_storagetype_name (void) const;
01039 
01040   /// = The Node methods.
01041   int accept (TAO_PSDL_Node_Visitor *visitor);
01042 
01043 private:
01044   /// The values
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   /// Get the value
01059   TAO_PSDL_Node *storagetype_name (void) const;
01060 
01061   /// = The Node methods.
01062   int accept (TAO_PSDL_Node_Visitor *visitor);
01063 
01064 private:
01065   /// The values
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   /// Get the value
01080   TAO_PSDL_Node *storagehome_name (void) const;
01081 
01082   /// = The Node methods.
01083   int accept (TAO_PSDL_Node_Visitor *visitor);
01084 
01085 private:
01086   /// The values
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   /// Get the value
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   /// = The Node methods.
01111   int accept (TAO_PSDL_Node_Visitor *visitor);
01112 
01113 private:
01114   /// The values
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   /// Get the value
01131   TAO_PSDL_Node *storagetype (void) const;
01132 
01133   /// = The Node methods.
01134   int accept (TAO_PSDL_Node_Visitor *visitor);
01135 
01136 private:
01137   /// The values
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   /// Get the value
01152   TAO_PSDL_Node *simple_declarator (void) const;
01153 
01154   /// = The Node methods.
01155   int accept (TAO_PSDL_Node_Visitor *visitor);
01156 
01157 private:
01158   /// The values
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   /// Get the value
01176   TAO_PSDL_Node *storagehome_header (void) const;
01177   TAO_PSDL_Node *storagehome_body (void) const;
01178 
01179   /// = The Node methods.
01180   int accept (TAO_PSDL_Node_Visitor *visitor);
01181 
01182 private:
01183   /// The values
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   /// Get the value
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   /// = The Node methods.
01215   int accept (TAO_PSDL_Node_Visitor *visitor);
01216 
01217 private:
01218   /// The values
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   /// Get the value
01241   TAO_PSDL_Node *storagehome_member (void) const;
01242   TAO_PSDL_Node *storagehome_body (void) const;
01243 
01244   /// = The Node methods.
01245   int accept (TAO_PSDL_Node_Visitor *visitor);
01246 
01247 private:
01248   /// The values
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   /// Get the value
01264   TAO_PSDL_Node *key_dcl (void) const;
01265 
01266   /// = The Node methods.
01267   int accept (TAO_PSDL_Node_Visitor *visitor);
01268 
01269 private:
01270   /// The values
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   /// Get the value
01285   TAO_PSDL_Node *storagehome_name (void) const;
01286 
01287   /// = The Node methods.
01288   int accept (TAO_PSDL_Node_Visitor *visitor);
01289 
01290 private:
01291   /// The values
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   /// Get the value
01306   TAO_PSDL_Node *scoped_name (void) const;
01307 
01308   /// = The Node methods.
01309   int accept (TAO_PSDL_Node_Visitor *visitor);
01310 
01311 private:
01312   /// The values
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   /// Get the value
01327   TAO_PSDL_Node *abstract_storagehome_name (void) const;
01328 
01329   /// = The Node methods.
01330   int accept (TAO_PSDL_Node_Visitor *visitor);
01331 
01332 private:
01333   /// The values
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   /// Get the value
01350   TAO_PSDL_Node *identifier (void) const;
01351 
01352   /// = The Node methods.
01353   int accept (TAO_PSDL_Node_Visitor *visitor);
01354 
01355 private:
01356   /// The values
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   /// Get the value
01373   char *value (void) const;
01374 
01375   int value_type (void) const;
01376 
01377   /// = The Node methods.
01378   int accept (TAO_PSDL_Node_Visitor *visitor);
01379 
01380 private:
01381   /// The values
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   /// Get the value
01400   int key_word (void) const;
01401   TAO_PSDL_Node *type_of_type_dcl (void) const;
01402 
01403   /// = The Node methods.
01404   int accept (TAO_PSDL_Node_Visitor *visitor);
01405 
01406 private:
01407   /// The values
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   /// Get the value
01424   TAO_PSDL_Node *type_spec (void) const;
01425   TAO_PSDL_Node *declarators (void) const;
01426 
01427   /// = The Node methods.
01428   int accept (TAO_PSDL_Node_Visitor *visitor);
01429 
01430 private:
01431   /// The values
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   /// Get the value
01447   TAO_PSDL_Node *type_of_type_spec (void) const;
01448 
01449   /// = The Node methods.
01450   int accept (TAO_PSDL_Node_Visitor *visitor);
01451 
01452 private:
01453   /// The values
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   /// Get the value
01468   TAO_PSDL_Node *type_of_simple_type_spec (void) const;
01469 
01470   /// = The Node methods.
01471   int accept (TAO_PSDL_Node_Visitor *visitor);
01472 
01473 private:
01474   /// The values
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   /// Get the value
01489   TAO_PSDL_Node *type_of_base_type_spec (void) const;
01490 
01491   /// = The Node methods.
01492   int accept (TAO_PSDL_Node_Visitor *visitor);
01493 
01494 private:
01495   /// The values
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   /// Get the value
01510   TAO_PSDL_Node *type_of_template_type_spec (void) const;
01511 
01512   /// = The Node methods.
01513   int accept (TAO_PSDL_Node_Visitor *visitor);
01514 
01515 private:
01516   /// The values
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   /// Get the value
01531   TAO_PSDL_Node *type_of_constr_type_spec (void) const;
01532 
01533   /// = The Node methods.
01534   int accept (TAO_PSDL_Node_Visitor *visitor);
01535 
01536 private:
01537   /// The values
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   /// Get the value
01555   TAO_PSDL_Node *declarator (void) const;
01556   TAO_PSDL_Node *set_of_declarators (void) const;
01557 
01558   /// = The Node methods.
01559   int accept (TAO_PSDL_Node_Visitor *visitor);
01560 
01561 private:
01562   /// The values
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   /// Get the value
01578   TAO_PSDL_Node *type_of_declarator (void) const;
01579 
01580   /// = The Node methods.
01581   int accept (TAO_PSDL_Node_Visitor *visitor);
01582 
01583 private:
01584   /// The values
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   /// Get the value
01601   TAO_PSDL_Node *identifier (void) const;
01602   TAO_PSDL_Node *simple_declarator (void) const;
01603 
01604   /// = The Node methods.
01605   int accept (TAO_PSDL_Node_Visitor *visitor);
01606 
01607 private:
01608   /// The values
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   /// Get the value
01627   TAO_PSDL_Node *simple_declarator_list (void) const;
01628   TAO_PSDL_Node *simple_declarator (void) const;
01629 
01630   /// = The Node methods.
01631   int accept (TAO_PSDL_Node_Visitor *visitor);
01632 
01633 private:
01634   /// The values
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   /// Get the value
01650   TAO_PSDL_Node *array_declarator (void) const;
01651 
01652   /// = The Node methods.
01653   int accept (TAO_PSDL_Node_Visitor *visitor);
01654 
01655 private:
01656   /// The values
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   /// Get the value
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   /// = The Node methods.
01702   int accept (TAO_PSDL_Node_Visitor *visitor);
01703 
01704 private:
01705   /// The values
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   /// Get the value
01728   TAO_PSDL_Node *member (void) const;
01729   TAO_PSDL_Node *member_list (void) const;
01730 
01731   /// = The Node methods.
01732   int accept (TAO_PSDL_Node_Visitor *visitor);
01733 
01734 private:
01735   /// The values
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   /// Get the value
01752   TAO_PSDL_Node *type_spec (void) const;
01753   TAO_PSDL_Node *declarators (void) const;
01754 
01755   /// = The Node methods.
01756   int accept (TAO_PSDL_Node_Visitor *visitor);
01757 
01758 private:
01759   /// The values
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   /// Get the value
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   /// = The Node methods.
01782   int accept (TAO_PSDL_Node_Visitor *visitor);
01783 
01784 private:
01785   /// The values
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   /// Get the value
01802   TAO_PSDL_Node *type (void) const;
01803 
01804   /// = The Node methods.
01805   int accept (TAO_PSDL_Node_Visitor *visitor);
01806 
01807 private:
01808   /// The values
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   /// Get the value
01826   TAO_PSDL_Node *switch_case (void) const;
01827   TAO_PSDL_Node *switch_body (void) const;
01828 
01829   /// = The Node methods.
01830   int accept (TAO_PSDL_Node_Visitor *visitor);
01831 
01832 private:
01833   /// The values
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   /// Get the value
01850   TAO_PSDL_Node *case_label (void) const;
01851   TAO_PSDL_Node *element_spec (void) const;
01852 
01853   /// = The Node methods.
01854   int accept (TAO_PSDL_Node_Visitor *visitor);
01855 
01856 private:
01857   /// The values
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   /// Get the value
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   /// = The Node methods.
01885   int accept (TAO_PSDL_Node_Visitor *visitor);
01886 
01887 private:
01888   /// The values
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   /// Get the value
01906   TAO_PSDL_Node *type_spec (void) const;
01907   TAO_PSDL_Node *declarator (void) const;
01908 
01909   /// = The Node methods.
01910   int accept (TAO_PSDL_Node_Visitor *visitor);
01911 
01912 private:
01913   /// The values
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   /// Get the value
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   /// = The Node methods.
01936   int accept (TAO_PSDL_Node_Visitor *visitor);
01937 
01938 private:
01939   /// The values
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   /// Get the value
01956   TAO_PSDL_Node *type (void) const;
01957 
01958   /// = The Node methods.
01959   int accept (TAO_PSDL_Node_Visitor *visitor);
01960 
01961 private:
01962   /// The values
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   /// Get the value
01977   TAO_PSDL_Node *expr (void) const;
01978 
01979   /// = The Node methods.
01980   int accept (TAO_PSDL_Node_Visitor *visitor);
01981 
01982 private:
01983   /// The values
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   /// Get the value
02000   TAO_PSDL_Node *or_expr (void) const;
02001   TAO_PSDL_Node *xor_expr (void) const;
02002 
02003   /// = The Node methods.
02004   int accept (TAO_PSDL_Node_Visitor *visitor);
02005 
02006 private:
02007   /// The values
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   /// Get the value
02025   TAO_PSDL_Node *xor_expr (void) const;
02026   TAO_PSDL_Node *and_expr (void) const;
02027 
02028   /// = The Node methods.
02029   int accept (TAO_PSDL_Node_Visitor *visitor);
02030 
02031 private:
02032   /// The values
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   /// Get the value
02050   TAO_PSDL_Node *and_expr (void) const;
02051   TAO_PSDL_Node *shift_expr (void) const;
02052 
02053   /// = The Node methods.
02054   int accept (TAO_PSDL_Node_Visitor *visitor);
02055 
02056 private:
02057   /// The values
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   /// Get the value
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   /// = The Node methods.
02082   int accept (TAO_PSDL_Node_Visitor *visitor);
02083 
02084 private:
02085   /// The values
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   /// Get the value
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   /// = The Node methods.
02110   int accept (TAO_PSDL_Node_Visitor *visitor);
02111 
02112 private:
02113   /// The values
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   /// Get the value
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   /// = The Node methods.
02142   int accept (TAO_PSDL_Node_Visitor *visitor);
02143 
02144 private:
02145   /// The values
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   /// Get the value
02165   TAO_PSDL_Node *unary_operator (void) const;
02166   TAO_PSDL_Node *primary_expr (void) const;
02167 
02168   /// = The Node methods.
02169   int accept (TAO_PSDL_Node_Visitor *visitor);
02170 
02171 private:
02172   /// The values
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   /// Get the value
02188   TAO_PSDL_Node *type_of_primary_expr (void) const;
02189 
02190   /// = The Node methods.
02191   int accept (TAO_PSDL_Node_Visitor *visitor);
02192 
02193 private:
02194   /// The values
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   /// Get the value
02212   TAO_PSDL_Node *identifier (void) const;
02213   TAO_PSDL_Node *member_list (void) const;
02214 
02215   /// = The Node methods.
02216   int accept (TAO_PSDL_Node_Visitor *visitor);
02217 
02218 private:
02219   /// The values
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    Other kinds of similar constructors.
02250 
02251    TAO_PSDL_Op_Dcl (TAO_PSDL_Node *op_attribute,
02252                     TAO_PSDL_Node *op_type_spec,
02253                     TAO_PSDL_Node *identifier,
02254                     TAO_PSDL_Node * parameter_dcls,
02255                     TAO_PSDL_Node * raises_expr);
02256 
02257   TAO_PSDL_Op_Dcl (TAO_PSDL_Node *op_attribute,
02258                    TAO_PSDL_Node *op_type_spec,
02259                    TAO_PSDL_Node *identifier,
02260                    TAO_PSDL_Node * parameter_dcls,
02261                    TAO_PSDL_Node * context_expr);
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   /// Get the value
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   /// = The Node methods.
02279   int accept (TAO_PSDL_Node_Visitor *visitor);
02280 
02281 private:
02282   /// The values
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   /// Get the value
02304   TAO_PSDL_Node *type_spec (void) const;
02305   int type (void) const;
02306 
02307   /// = The Node methods.
02308   int accept (TAO_PSDL_Node_Visitor *visitor);
02309 
02310 private:
02311   /// The values
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   /// Get the value
02328   TAO_PSDL_Node *param_dcl (void) const;
02329 
02330   /// = The Node methods.
02331   int accept (TAO_PSDL_Node_Visitor *visitor);
02332 
02333 private:
02334   /// The values
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   /// Get the value
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   /// = The Node methods.
02362   int accept (TAO_PSDL_Node_Visitor *visitor);
02363 
02364 private:
02365   /// The values
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   /// Get the value
02386   TAO_PSDL_Node *first_scoped_name (void) const;
02387   TAO_PSDL_Node *second_scoped_name (void) const;
02388 
02389   /// = The Node methods.
02390   int accept (TAO_PSDL_Node_Visitor *visitor);
02391 
02392 private:
02393   /// The values
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   /// Get the value
02409   TAO_PSDL_Node *string_literal (void) const;
02410 
02411   /// = The Node methods.
02412   int accept (TAO_PSDL_Node_Visitor *visitor);
02413 
02414 private:
02415   /// The values
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   /// Get the value
02430   TAO_PSDL_Node *type_of_param (void) const;
02431 
02432 
02433   /// = The Node methods.
02434   int accept (TAO_PSDL_Node_Visitor *visitor);
02435 
02436 private:
02437   /// The values
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   /// Get the value
02453   TAO_PSDL_Node *positive_int_const_one (void) const;
02454   TAO_PSDL_Node *positive_int_const_two (void) const;
02455 
02456   /// = The Node methods.
02457   int accept (TAO_PSDL_Node_Visitor *visitor);
02458 
02459 private:
02460   /// The values
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   /// Get the value
02477   TAO_PSDL_Node * type (void) const;
02478   TAO_PSDL_Node *identifier (void) const;
02479 
02480   /// = The Node methods.
02481   int accept (TAO_PSDL_Node_Visitor *visitor);
02482 
02483 private:
02484   /// The values
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   /// Get the value
02500   TAO_PSDL_Node *type_of_dcl (void) const;
02501 
02502   /// = The Node methods.
02503   int accept (TAO_PSDL_Node_Visitor *visitor);
02504 
02505 private:
02506   /// The values
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   /// Get the value
02524   TAO_PSDL_Node *export_variable (void) const;
02525   TAO_PSDL_Node *interface_body (void) const;
02526 
02527   /// = The Node methods.
02528   int accept (TAO_PSDL_Node_Visitor *visitor);
02529 
02530 private:
02531   /// The values
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   /// Get the value
02550   TAO_PSDL_Node *interface_header (void) const;
02551   TAO_PSDL_Node *interface_body (void) const;
02552 
02553   /// = The Node methods.
02554   int accept (TAO_PSDL_Node_Visitor *visitor);
02555 
02556 private:
02557 
02558   /// The values
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   /// Get the value
02577   int type (void) const;
02578   TAO_PSDL_Node *identifier (void) const;
02579 
02580   /// = The Node methods.
02581   int accept (TAO_PSDL_Node_Visitor *visitor);
02582 
02583 private:
02584 
02585   /// The values
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      Other Possible values.
02607      TAO_PSDL_Interface_Header (TAO_PSDL_Node *identifier,
02608                                 TAO_PSDL_Node *interface_inheritance_spec);
02609   */
02610 
02611   virtual ~TAO_PSDL_Interface_Header (void);
02612 
02613   /// Get the value
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   /// = The Node methods.
02619   int accept (TAO_PSDL_Node_Visitor *visitor);
02620 
02621 private:
02622 
02623   /// The values
02624 
02625   /// the value of type can be either type_ or
02626   /// interface_inheritance_spec_ if interface_inheritance_spec_ is
02627   /// zero. If it is not zero, everything is straight forward.
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   /// Get the value
02647   TAO_PSDL_Node *type_of_export_one (void) const;
02648   TAO_PSDL_Node *type_of_export_two (void) const;
02649 
02650   /// = The Node methods.
02651   int accept (TAO_PSDL_Node_Visitor *visitor);
02652 
02653 private:
02654 
02655   /// The values
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   /// Get the value
02671   TAO_PSDL_Node *interface_name (void) const;
02672 
02673   /// = The Node methods.
02674   int accept (TAO_PSDL_Node_Visitor *visitor);
02675 
02676 private:
02677 
02678   /// The values
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   /// Get the value
02695   TAO_PSDL_Node *scoped_name (void) const;
02696   TAO_PSDL_Node *interface_name (void) const;
02697 
02698   /// = The Node methods.
02699   int accept (TAO_PSDL_Node_Visitor *visitor);
02700 
02701 private:
02702 
02703   /// The values
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   /// Get the value
02721   TAO_PSDL_Node *identifier (void) const;
02722   TAO_PSDL_Node *scoped_name (void) const;
02723 
02724   /// = The Node methods.
02725   int accept (TAO_PSDL_Node_Visitor *visitor);
02726 
02727 private:
02728 
02729   /// The values
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   /// Get the value
02744   TAO_PSDL_Node *type_of_value_dcl (void) const;
02745 
02746   /// = The Node methods.
02747   int accept (TAO_PSDL_Node_Visitor *visitor);
02748 
02749 private:
02750 
02751   /// The values
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   /// Get the value
02765   TAO_PSDL_Node *identifier (void) const;
02766 
02767   /// = The Node methods.
02768   int accept (TAO_PSDL_Node_Visitor *visitor);
02769 
02770 private:
02771 
02772   /// The values
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   /// Get the value
02788   TAO_PSDL_Node *abstract (void) const;
02789   TAO_PSDL_Node *value_common_base (void) const;
02790 
02791   /// = The Node methods.
02792   int accept (TAO_PSDL_Node_Visitor *visitor);
02793 
02794 private:
02795 
02796   /// The values
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   /// Get the value
02812   TAO_PSDL_Node *value_common_base (void) const;
02813   TAO_PSDL_Node *type_spec (void) const;
02814 
02815   /// = The Node methods.
02816   int accept (TAO_PSDL_Node_Visitor *visitor);
02817 
02818 private:
02819 
02820   /// The values
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   /// Get the value
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   /// = The Node methods.
02846   int accept (TAO_PSDL_Node_Visitor *visitor);
02847 
02848 private:
02849 
02850   /// The values
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   /// Get the value
02868   TAO_PSDL_Node *value_header (void) const;
02869   TAO_PSDL_Node *value_element (void) const;
02870 
02871   /// = The Node methods.
02872   int accept (TAO_PSDL_Node_Visitor *visitor);
02873 
02874 private:
02875 
02876   /// The values
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   /// Get the value
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   /// = The Node methods.
02902   int accept (TAO_PSDL_Node_Visitor *visitor);
02903 
02904 private:
02905 
02906   /// The values
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     Other forms
02922     TAO_PSDL_Value_Inheritance_Spec (TAO_PSDL_Node *value_name);
02923   */
02924 
02925   TAO_PSDL_Value_Inheritance_Spec (TAO_PSDL_Node *value_name,
02926                                    TAO_PSDL_Node *interface_name);
02927 
02928   /*
02929    Other forms of similar constuctors
02930    TAO_PSDL_Value_Inheritance_Spec (TAO_PSDL_Node *truncatable,
02931                                     TAO_PSDL_Node *value_name,
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   /// Get the value
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   /// = The Node methods.
02946   int accept (TAO_PSDL_Node_Visitor *visitor);
02947 
02948 private:
02949 
02950   /// The values
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   /// Get the value
02970   TAO_PSDL_Node *scoped_name (void) const;
02971   TAO_PSDL_Node *value_name (void) const;
02972 
02973   /// = The Node methods.
02974   int accept (TAO_PSDL_Node_Visitor *visitor);
02975 
02976 private:
02977 
02978   /// The values
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   /// type_of_element can be export | state_member | init_dcl
02990   TAO_PSDL_Value_Element (TAO_PSDL_Node *type_of_element);
02991 
02992   virtual ~TAO_PSDL_Value_Element (void);
02993 
02994   /// Get the value
02995   TAO_PSDL_Node *type_of_element (void) const;
02996 
02997   /// = The Node methods.
02998   int accept (TAO_PSDL_Node_Visitor *visitor);
02999 
03000 private:
03001 
03002   /// The values
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   /// Get the value
03018   TAO_PSDL_Node *identifier (void) const;
03019   TAO_PSDL_Node *fixed_array_size (void) const;
03020 
03021   /// = The Node methods.
03022   int accept (TAO_PSDL_Node_Visitor *visitor);
03023 
03024 private:
03025 
03026   /// The values
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   /// Get the value
03042   TAO_PSDL_Node *positive_int_const (void) const;
03043 
03044   /// = The Node methods.
03045   int accept (TAO_PSDL_Node_Visitor *visitor);
03046 
03047 private:
03048 
03049   /// The values
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   /// Get the value
03069   int readonly (void) const;
03070   TAO_PSDL_Node *param_type_spec (void) const;
03071   TAO_PSDL_Node *simple_declarator (void) const;
03072 
03073   /// = The Node methods.
03074   int accept (TAO_PSDL_Node_Visitor *visitor);
03075 
03076 private:
03077 
03078   /// The values
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   /// Get the value
03098   TAO_PSDL_Node *identifier (void) const;
03099   TAO_PSDL_Node *enumerator (void) const;
03100 
03101   /// = The Node methods.
03102   int accept (TAO_PSDL_Node_Visitor *visitor);
03103 
03104 private:
03105 
03106   /// The values
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   /// Get the value
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   /// = The Node methods.
03134   int accept (TAO_PSDL_Node_Visitor *visitor);
03135 
03136 private:
03137 
03138   /// The values
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   /* Other forms
03156     TAO_PSDL_State_Member (TAO_PSDL_Node *public_or_private,
03157                            TAO_PSDL_Node *type_spec,
03158                            TAO_PSDL_Node *declarators);
03159   */
03160 
03161   virtual ~TAO_PSDL_State_Member (void);
03162 
03163   /// Get the value
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   /// = The Node methods.
03169   int accept (TAO_PSDL_Node_Visitor *visitor);
03170 
03171 private:
03172 
03173   /// The values
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   /// Get the value
03194   TAO_PSDL_Node *identifier (void) const;
03195   TAO_PSDL_Node *init_param_decls (void) const;
03196 
03197   /// = The Node methods.
03198   int accept (TAO_PSDL_Node_Visitor *visitor);
03199 
03200 private:
03201 
03202   /// The values
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   /// Get the value
03221   TAO_PSDL_Node *init_param_decl (void) const;
03222   TAO_PSDL_Node *init_param_decls (void) const;
03223 
03224   /// = The Node methods.
03225   int accept (TAO_PSDL_Node_Visitor *visitor);
03226 
03227 private:
03228 
03229   /// The values
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   /// Get the value
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   /// = The Node methods.
03252   int accept (TAO_PSDL_Node_Visitor *visitor);
03253 
03254 private:
03255 
03256   /// The values
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   /// Get the value
03273   TAO_PSDL_Node *const_exp (void) const;
03274 
03275   /// = The Node methods.
03276   int accept (TAO_PSDL_Node_Visitor *visitor);
03277 
03278 private:
03279 
03280   /// The values
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   /// Get the value
03296   TAO_PSDL_Node *identifier (void) const;
03297   TAO_PSDL_Node *factory_parameters (void) const;
03298 
03299   /// = The Node methods.
03300   int accept (TAO_PSDL_Node_Visitor *visitor);
03301 
03302 private:
03303 
03304   /// The values
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   /// Get the value
03322   TAO_PSDL_Node *simple_declarator (void) const;
03323 
03324   /// = The Node methods.
03325   int accept (TAO_PSDL_Node_Visitor *visitor);
03326 
03327 private:
03328 
03329   /// The values
03330   TAO_PSDL_Node *simple_declarator_;
03331 };
03332 
03333 #endif /* TAO_PSDL_NODE_H */

Generated on Thu Nov 9 14:07:04 2006 for TAO_PSS by doxygen 1.3.6