summaryrefslogtreecommitdiff
path: root/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/CCF/CCF/IDL2/Parser.hpp')
-rw-r--r--TAO/CIAO/CCF/CCF/IDL2/Parser.hpp115
1 files changed, 47 insertions, 68 deletions
diff --git a/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp b/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp
index 6cb5497ec9a..aa74109512b 100644
--- a/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp
+++ b/TAO/CIAO/CCF/CCF/IDL2/Parser.hpp
@@ -311,7 +311,6 @@ namespace CCF
KeywordParser OUT;
KeywordParser SINCLUDE;
KeywordParser SUPPORTS;
- KeywordParser TYPEDEF;
KeywordParser TYPEID;
KeywordParser TYPEPREFIX;
@@ -332,6 +331,7 @@ namespace CCF
//
// Language
//
+
typedef
Parsing::Rule
Rule;
@@ -344,6 +344,9 @@ namespace CCF
Rule include_decl;
Rule system_include_decl;
+ Rule type_id;
+ Rule type_prefix;
+
Rule module_decl;
Rule abstract_type_decl;
@@ -364,13 +367,6 @@ namespace CCF
Rule operation_parameter_list;
Rule operation_parameter;
- Rule typedef_;
- Rule typedef_type_spec;
- Rule typedef_declarator_list;
-
- Rule type_id;
- Rule type_prefix;
-
public:
Parser (CompilerElements::Context& context,
Diagnostic::Stream& dout,
@@ -388,34 +384,62 @@ namespace CCF
//
// Semantic actions
//
+
typedef
NoArgAction<SemanticAction::Scope>
ScopeAction;
+ // Include
+ //
+ //
+ OneArgAction<StringLiteralPtr, SemanticAction::Include>
+ act_include_begin;
+
+ NoArgAction<SemanticAction::Include>
+ act_include_end;
- // Attribute
+ // TypeId
//
//
- OneArgAction<IdentifierPtr, SemanticAction::Attribute>
- act_attribute_type;
+ TwoArgAction<IdentifierPtr,
+ StringLiteralPtr,
+ SemanticAction::TypeId>
+ act_type_id_begin;
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Attribute>
- act_attribute_name;
+ NoArgAction<SemanticAction::TypeId>
+ act_type_id_end;
+ // TypePrefix
+ //
+ //
+ TwoArgAction<IdentifierPtr,
+ StringLiteralPtr,
+ SemanticAction::TypePrefix>
+ act_type_prefix_begin;
- // Include
+ NoArgAction<SemanticAction::TypePrefix>
+ act_type_prefix_end;
+
+ // Module
//
//
- OneArgAction<StringLiteralPtr, SemanticAction::Include>
- act_include_begin;
- NoArgAction<SemanticAction::Include>
- act_include_end;
+ OneArgAction<SimpleIdentifierPtr, SemanticAction::Module>
+ act_module_begin;
+
+ ScopeAction
+ act_module_open_scope;
+
+ ScopeAction
+ act_module_close_scope;
+ NoArgAction<SemanticAction::Module>
+ act_module_end;
// Interface
//
//
+
OneArgAction<SimpleIdentifierPtr, SemanticAction::Interface>
act_abstract_interface_begin;
@@ -437,22 +461,14 @@ namespace CCF
NoArgAction<SemanticAction::Interface>
act_interface_end;
-
- // Module
+ // Attribute
//
//
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Module>
- act_module_begin;
-
- ScopeAction
- act_module_open_scope;
-
- ScopeAction
- act_module_close_scope;
-
- NoArgAction<SemanticAction::Module>
- act_module_end;
+ OneArgAction<IdentifierPtr, SemanticAction::Attribute>
+ act_attribute_type;
+ OneArgAction<SimpleIdentifierPtr, SemanticAction::Attribute>
+ act_attribute_name;
// Operation
//
@@ -494,43 +510,6 @@ namespace CCF
NoArgAction<SemanticAction::Operation>
act_operation_end;
-
-
- // Typedef
- //
- //
- OneArgAction<IdentifierPtr, SemanticAction::Typedef>
- act_typedef_begin;
-
- OneArgAction<SimpleIdentifierPtr, SemanticAction::Typedef>
- act_typedef_declarator;
-
- NoArgAction<SemanticAction::Typedef>
- act_typedef_end;
-
-
- // TypeId
- //
- //
- TwoArgAction<IdentifierPtr,
- StringLiteralPtr,
- SemanticAction::TypeId>
- act_type_id_begin;
-
- NoArgAction<SemanticAction::TypeId>
- act_type_id_end;
-
-
- // TypePrefix
- //
- //
- TwoArgAction<IdentifierPtr,
- StringLiteralPtr,
- SemanticAction::TypePrefix>
- act_type_prefix_begin;
-
- NoArgAction<SemanticAction::TypePrefix>
- act_type_prefix_end;
};
}
}