summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/include/ast_generator.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/include/ast_generator.h')
-rw-r--r--TAO/TAO_IDL/include/ast_generator.h311
1 files changed, 154 insertions, 157 deletions
diff --git a/TAO/TAO_IDL/include/ast_generator.h b/TAO/TAO_IDL/include/ast_generator.h
index e6ae673407b..a9fd8a7064a 100644
--- a/TAO/TAO_IDL/include/ast_generator.h
+++ b/TAO/TAO_IDL/include/ast_generator.h
@@ -62,196 +62,193 @@ NOTE:
SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
trademarks or registered trademarks of Sun Microsystems, Inc.
- */
+*/
#ifndef _AST_GENERATOR_AST_GENERATOR_HH
#define _AST_GENERATOR_AST_GENERATOR_HH
-// ast_generator.h
-//
-// Defines base class for generators
-
-/*
-** DEPENDENCIES: ast_predefined_type.hh utl_scoped_name.hh utl_strlist.hh
-** ast_module.hh ast_root.hh ast_interface.hh
-** ast_interface_fwd.hh ast_exception.hh ast_structure.hh
-** ast_enum.hh ast_operation.hh ast_type.hh ast_field.hh
-** ast_argument.hh ast_attribute.hh ast_union.hh
-** ast_concrete_type.hh ast_union_branch.hh ast_union_label.hh
-** ast_expression.hh ast_enum_val.hh ast_array.hh
-** ast_sequence.hh ast_string.hh ast_typedef.hh
-**
-** USE: Included from ast.hh
-*/
+// Defines base class for node generators.
class TAO_IDL_FE_Export AST_Generator
{
public:
- // Operations
-
- // Create a node representing a predefined type
- virtual AST_PredefinedType
- *create_predefined_type(AST_PredefinedType::PredefinedType t,
- UTL_ScopedName *n,
- UTL_StrList *p);
-
- // Create a node representing a module
- virtual AST_Module *create_module(UTL_Scope *s,
- UTL_ScopedName *n,
- UTL_StrList *p);
-
- // Create a node representing a module which is the root of an AST
- virtual AST_Root *create_root(UTL_ScopedName *n,
+ // Operations.
+
+ // Create a node representing a predefined type.
+ virtual AST_PredefinedType *create_predefined_type (
+ AST_PredefinedType::PredefinedType t,
+ UTL_ScopedName *n,
+ UTL_StrList *p
+ );
+
+ // Create a node representing a module.
+ virtual AST_Module *create_module (UTL_Scope *s,
+ UTL_ScopedName *n,
UTL_StrList *p);
- // Create a node representing an interface
- virtual AST_Interface *create_interface(UTL_ScopedName *n,
- AST_Interface **ih,
- long nih,
- AST_Interface **ih_flat,
- long nih_flat,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing a forward declaration of an interface
- virtual AST_InterfaceFwd *create_interface_fwd(UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing an valuetype
- virtual AST_Interface *create_valuetype(UTL_ScopedName *n,
- AST_Interface **ih,
- long nih,
- UTL_StrList *p);
-
- // Create a node representing a forward declaration of an valuetype
- virtual AST_InterfaceFwd *create_valuetype_fwd(UTL_ScopedName *n,
- UTL_StrList *p);
-
- // Create a node representing an exception
- virtual AST_Exception *create_exception(UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing a structure
- virtual AST_Structure *create_structure(UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing an enum
- virtual AST_Enum *create_enum(UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing an operation on an interface
- virtual AST_Operation *create_operation(AST_Type *rt,
- AST_Operation::Flags fl,
- UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
+ // Create a node representing a module which is the root of an AST.
+ virtual AST_Root *create_root (UTL_ScopedName *n,
+ UTL_StrList *p);
+
+ // Create a node representing an interface.
+ virtual AST_Interface *create_interface (UTL_ScopedName *n,
+ AST_Interface **ih,
+ long nih,
+ AST_Interface **ih_flat,
+ long nih_flat,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing a forward declaration of an interface.
+ virtual AST_InterfaceFwd *create_interface_fwd (UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing an valuetype.
+ virtual AST_Interface *create_valuetype (UTL_ScopedName *n,
+ AST_Interface **ih,
+ long nih,
+ UTL_StrList *p);
+
+ // Create a node representing a forward declaration of an valuetype.
+ virtual AST_InterfaceFwd *create_valuetype_fwd (UTL_ScopedName *n,
+ UTL_StrList *p);
+
+ // Create a node representing an exception.
+ virtual AST_Exception *create_exception (UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing a structure.
+ virtual AST_Structure *create_structure (UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing an enum.
+ virtual AST_Enum *create_enum (UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing an operation on an interface.
+ virtual AST_Operation *create_operation (AST_Type *rt,
+ AST_Operation::Flags fl,
+ UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
// Create a node representing a field in a structure, exception or
- // union
- virtual AST_Field *create_field(AST_Type *ft,
- UTL_ScopedName *n,
- UTL_StrList *p,
- AST_Field::Visibility vis = AST_Field::vis_NA);
-
- // Create a node representing an argument to an operation
- virtual AST_Argument *create_argument(AST_Argument::Direction d,
+ // union.
+ virtual AST_Field *create_field (AST_Type *ft,
+ UTL_ScopedName *n,
+ UTL_StrList *p,
+ AST_Field::Visibility vis =
+ AST_Field::vis_NA);
+
+ // Create a node representing an argument to an operation.
+ virtual AST_Argument *create_argument (AST_Argument::Direction d,
AST_Type *ft,
UTL_ScopedName *n,
UTL_StrList *p);
- // Create a node representing an attribute
- virtual AST_Attribute *create_attribute(idl_bool ro,
- AST_Type *ft,
- UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing a union
- virtual AST_Union *create_union(AST_ConcreteType *dt,
- UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing one branch in a union
- virtual AST_UnionBranch *create_union_branch(UTL_LabelList *ll,
- AST_Type *ft,
- UTL_ScopedName *n,
- UTL_StrList *p);
-
- // Create a node representing a label on a union branch
+ // Create a node representing an attribute.
+ virtual AST_Attribute *create_attribute (idl_bool ro,
+ AST_Type *ft,
+ UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing a union.
+ virtual AST_Union *create_union (AST_ConcreteType *dt,
+ UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing one branch in a union.
+ virtual AST_UnionBranch *create_union_branch (UTL_LabelList *ll,
+ AST_Type *ft,
+ UTL_ScopedName *n,
+ UTL_StrList *p);
+
+ // Create a node representing a label on a union branch.
virtual AST_UnionLabel *create_union_label(AST_UnionLabel::UnionLabel ul,
AST_Expression *lv);
// Create a node representing a constant
- virtual AST_Constant *create_constant(AST_Expression::ExprType et,
+ virtual AST_Constant *create_constant (AST_Expression::ExprType et,
AST_Expression *ev,
UTL_ScopedName *n,
UTL_StrList *p);
- // Create various kinds of nodes representing expressions
- virtual AST_Expression *create_expr(UTL_ScopedName *n);
- virtual AST_Expression *create_expr(AST_Expression *v,
- AST_Expression::ExprType t);
- virtual AST_Expression *create_expr(AST_Expression::ExprComb c,
- AST_Expression *v1,
- AST_Expression *v2);
- virtual AST_Expression *create_expr(long v);
- virtual AST_Expression *create_expr(long v,
- AST_Expression::ExprType t);
- virtual AST_Expression *create_expr(unsigned long v);
- virtual AST_Expression *create_expr(UTL_String *s);
- virtual AST_Expression *create_expr(char *s);
- virtual AST_Expression *create_expr(char c);
- virtual AST_Expression *create_expr(ACE_OutputCDR::from_wchar wc);
- virtual AST_Expression *create_expr(double d);
-
- // Create a node representing an enumerator
- virtual AST_EnumVal *create_enum_val(unsigned long v,
- UTL_ScopedName *n,
- UTL_StrList *p);
+ // Create various kinds of nodes representing expressions.
- // Create a node representing an array type
- virtual AST_Array *create_array(UTL_ScopedName *n,
- unsigned long ndims,
- UTL_ExprList *dims,
- idl_bool local,
- idl_bool abstract);
+ virtual AST_Expression *create_expr (UTL_ScopedName *n);
+
+ virtual AST_Expression *create_expr (AST_Expression *v,
+ AST_Expression::ExprType t);
- // Create a node representing a sequence type
- virtual AST_Sequence *create_sequence(AST_Expression *v,
+ virtual AST_Expression *create_expr (AST_Expression::ExprComb c,
+ AST_Expression *v1,
+ AST_Expression *v2);
+
+ virtual AST_Expression *create_expr (long v);
+
+ virtual AST_Expression *create_expr (long v,
+ AST_Expression::ExprType t);
+
+ virtual AST_Expression *create_expr (unsigned long v);
+
+ virtual AST_Expression *create_expr (UTL_String *s);
+
+ virtual AST_Expression *create_expr (char *s);
+
+ virtual AST_Expression *create_expr (char c);
+
+ virtual AST_Expression *create_expr (ACE_OutputCDR::from_wchar wc);
+
+ virtual AST_Expression *create_expr (double d);
+
+ // Create a node representing an enumerator.
+ virtual AST_EnumVal *create_enum_val (unsigned long v,
+ UTL_ScopedName *n,
+ UTL_StrList *p);
+
+ // Create a node representing an array type.
+ virtual AST_Array *create_array (UTL_ScopedName *n,
+ unsigned long ndims,
+ UTL_ExprList *dims,
+ idl_bool local,
+ idl_bool abstract);
+
+ // Create a node representing a sequence type.
+ virtual AST_Sequence *create_sequence (AST_Expression *v,
AST_Type *bt,
idl_bool local,
idl_bool abstract);
- // Create a node representing a string type
- virtual AST_String *create_string(AST_Expression *v);
+ // Create a node representing a string type.
+ virtual AST_String *create_string (AST_Expression *v);
- // Create a node representing a wide string type
- virtual AST_String *create_wstring(AST_Expression *v);
+ // Create a node representing a wide string type.
+ virtual AST_String *create_wstring (AST_Expression *v);
- // Create a node representing a type renaming (typedef)
- virtual AST_Typedef *create_typedef(AST_Type *bt,
- UTL_ScopedName *n,
- UTL_StrList *p,
- idl_bool local,
- idl_bool abstract);
-
- // Create a node representing a native
- virtual AST_Native *create_native (UTL_ScopedName *n,
- UTL_StrList *p);
+ // Create a node representing a type renaming (typedef).
+ virtual AST_Typedef*create_typedef (AST_Type *bt,
+ UTL_ScopedName *n,
+ UTL_StrList *p,
+ idl_bool local,
+ idl_bool abstract);
+ // Create a node representing a native.
+ virtual AST_Native *create_native (UTL_ScopedName *n,
+ UTL_StrList *p);
};
#endif // _AST_GENERATOR_AST_GENERATOR_HH