blob: aa846cca3880e637c39e1c3d24a8928997b15518 [file] [log] [blame]
/* translation of file(s)
"abs.k"
"main.k"
"parse.k"
"error.k"
"occur.k"
"util.k"
"gen.k"
"gutil.k"
"pat.k"
*/
/* generated by:
* @(#)$Author$
*/
#define KC_TYPES
#include "k.h"
#include <stdio.h>
#include <ctype.h>
#include <string>
#include <sys/types.h>
#include <stdlib.h>
#ifdef _MSC_VER
#pragma warning( disable : 4786 )
#endif
#include <new>
#include <set>
#include <list>
#include <algorithm>
#if !defined(USE_HASHSET) && (defined(__GNUC__) || defined(__ICC) || defined(__ECC)) \
&& !defined(DONT_USE_HASHSET)
# define USE_HASHSET
#endif
#ifdef USE_HASHSET
# if defined(__GNUC__) && __GNUC__>2
# include <ext/hash_set>
# else
# include <hash_set>
# endif
#endif
using namespace std;
namespace kc {
inline bool
ht_less(casestring p1, casestring p2){
return kc_strcmp(p1->name, p2->name)<0;
}
inline bool
ht_less(nocasestring p1, nocasestring p2){
return kc_strcasecmp(p1->name, p2->name)<0;
}
inline bool
ht_less(real p1, real p2){
return p1->value < p2->value;
}
inline bool
ht_less(integer p1, integer p2){
return p1->value < p2->value;
}
inline bool
ht_less(voidptr p1, voidptr p2){
return p1->pointer < p2->pointer;
}
bool
ht_less(abstract_phylum p1, abstract_phylum p2)
{
enum_operators prod_sel=p1->prod_sel();
enum_operators prod_sel2=p2->prod_sel();
if(prod_sel<prod_sel2)
return true;
if(prod_sel>prod_sel2)
return false;
switch(prod_sel) {
case sel_NoCaseStr:
return ht_less(static_cast<nocasestring>(p1),static_cast<nocasestring>(p2));
case sel__Str:
return ht_less(static_cast<casestring>(p1),static_cast<casestring>(p2));
case sel__Real:
return ht_less(static_cast<real>(p1),static_cast<real>(p2));
case sel__Int:
return ht_less(static_cast<integer>(p1),static_cast<integer>(p2));
case sel__VoidPtr:
return ht_less(static_cast<voidptr>(p1),static_cast<voidptr>(p2));
default: {
int i=0;
bool still_unique = kc_storageclass_still_uniq[phylum_info[p1->phylum()].uniq_stored];
abstract_phylum sub1=0;
do {
sub1=p1->subphylum(i);
abstract_phylum sub2=p2->subphylum(i);
if(still_unique) {
if(sub1<sub2)
return true;
if(sub2<sub1)
return false;
}
else {
if(ht_less(sub1, sub2))
return true;
if(ht_less(sub2, sub1))
return false;
}
++i;
} while(sub1);
}
}
return false;
}
template<typename T>
class phylum_less : std::binary_function<T, T, bool>
{
public:
bool operator()(const T& X, const T& Y) const
{ return ht_less(X,Y); }
};
inline void deletefun(c_abstract_phylum t){
delete const_cast<abstract_phylum>(t);
}
#ifdef USE_HASHSET
struct hashitem {
size_t hashvalue;
casestring contents;
hashitem(casestring cs): contents(cs) {
unsigned long h = 0;
kc_char const *s = cs->name;
for ( ; *s; ++s)
h = 5*h + *s;
hashvalue=(size_t)h;
}
};
inline void deletefunhashitem(hashitem t) {
delete t.contents;
}
# ifdef __GNUC__
struct eq_hashitem { bool operator()(hashitem hi1, hashitem hi2) const {
return kc_strcmp(hi1.contents->name, hi2.contents->name) == 0; } };
struct hash_hashitem { size_t operator()(hashitem hi) const {
return hi.hashvalue; } };
# else
struct comp_hashitem {
enum { bucket_size = 4, min_buckets = 8 };
// bucket_size and min_buckets are just guesses
size_t operator()(const hashitem hi) const {
return hi.hashvalue; }
bool operator()(const hashitem hi1, const hashitem hi2) const {
return kc_strcmp(hi1.contents->name, hi2.contents->name) < 0; }
};
# endif // Whether gcc or icc
#endif // Whether hash or not
struct hashtable_level
{
hashtable_level(bool cod = true): clean_on_destruction(cod) { }
void clear(bool free_entries=true) {
if(free_entries)
clear_entries();
_casestring.clear();
_nocasestring.clear();
_integer.clear();
_real.clear();
_voidptr.clear();
_abstract_phylum.clear();
}
void clear_entries() {
#ifdef USE_HASHSET
std::for_each(_casestring.begin(),_casestring.end(),deletefunhashitem);
#else
std::for_each(_casestring.begin(),_casestring.end(),deletefun);
#endif
std::for_each(_nocasestring.begin(),_nocasestring.end(),deletefun);
std::for_each(_integer.begin(),_integer.end(),deletefun);
std::for_each(_real.begin(),_real.end(),deletefun);
std::for_each(_voidptr.begin(),_voidptr.end(),deletefun);
std::for_each(_abstract_phylum.begin(),_abstract_phylum.end(),deletefun);
}
~hashtable_level() {
clear(clean_on_destruction);
}
abstract_phylum check_insert(abstract_phylum t) {
return *_abstract_phylum.insert(t).first;
}
casestring check_insert(casestring t) {
#ifdef USE_HASHSET
return (*_casestring.insert(hashitem(t)).first).contents;
#else
return *_casestring.insert(t).first;
#endif
}
nocasestring check_insert(nocasestring t) {
return *_nocasestring.insert(t).first;
}
integer check_insert(integer t) {
return *_integer.insert(t).first;
}
real check_insert(real t) {
return *_real.insert(t).first;
}
voidptr check_insert(voidptr t) {
return *_voidptr.insert(t).first;
}
private:
bool clean_on_destruction;
#ifdef USE_HASHSET
# ifdef __GNUC__
# if __GNUC__==2 || (__GNUC__==3 && __GNUC_MINOR__==0)
std::hash_set<hashitem, hash_hashitem, eq_hashitem> _casestring;
# else
__gnu_cxx::hash_set<hashitem, hash_hashitem, eq_hashitem> _casestring;
# endif
# else
std::hash_set<hashitem, comp_hashitem> _casestring;
# endif
#else
std::set<casestring, phylum_less<casestring> > _casestring;
#endif
std::set<nocasestring, phylum_less<nocasestring> > _nocasestring;
std::set<integer, phylum_less<integer> > _integer;
std::set<real, phylum_less<real> > _real;
std::set<voidptr, phylum_less<voidptr> > _voidptr;
std::set<abstract_phylum, phylum_less<abstract_phylum> > _abstract_phylum;
};
class hashtable_stack: public std::list<hashtable_level> {
public:
hashtable_stack(): _pos(begin()) { }
void inc_level() { _pos=insert(_pos, hashtable_level()); }
void dec_level() { if(valid() && _pos!=end()) ++_pos; }
void free_level() { if(_pos!=begin()) { erase(begin(),_pos);_pos=begin(); } }
bool valid() const { return !empty(); }
hashtable_level& get_level() { return *_pos; }
template<typename T>
T check_insert(T t) {
return dynamic_cast<T>((*_pos).check_insert(t));
}
private:
iterator _pos;
};
class hashtable_struct_t {
public:
// don't clean _static_level on destruction (program ends)
hashtable_struct_t(): _static_level(false), _to_be_freed(false), _dynamic(false) { }
template <typename T>
T ht_check_insert(T t) {
if(_dynamic && _dynamic_level.valid())
return _dynamic_level.check_insert(t);
else
return dynamic_cast<T>(_static_level.check_insert(t));
}
void ht_static() {_dynamic=false; }
void ht_dynamic() {
_dynamic=true;
if(!_dynamic_level.valid())
_dynamic_level.inc_level();
}
void ht_inc_level() { _dynamic_level.inc_level(); }
void ht_dec_level() { _dynamic_level.dec_level(); }
void ht_free_level() { _dynamic_level.free_level(); }
void ht_clear() { _static_level.clear(); _dynamic_level.clear(); _dynamic=false; }
bool to_be_freed() { return _to_be_freed; }
void set_to_be_freed(bool b=true) { _to_be_freed=b; }
private:
hashtable_level _static_level;
hashtable_stack _dynamic_level;
bool _to_be_freed; /* should be true for dynamic, false for statically allocated structures */
bool _dynamic;
};
impl_nocasestring_NoCaseStr::impl_nocasestring_NoCaseStr(const kc_char* _name) : name(_name) { }
void impl_nocasestring_NoCaseStr::make_own(int length) {
kc_char *newname=new kc_char[length+1];
for (int i=0; i < length && name[i]; ++i)
newname[i] = kc_tolower(name[i]);
newname[length]=0;
name=newname;
}
impl_casestring__Str::impl_casestring__Str(const kc_char* _name) : name(_name) { }
void impl_casestring__Str::make_own(int length) {
kc_char *newname=kc_strncpy(new kc_char[length+1],name,length);
newname[length]=0;
name=newname;
}
abstract_phylum impl_bindingidmark_BindingIdMark::subphylum(int no) const
{
switch(no){
case 0: return uniqID_1;
}
return 0;
}
abstract_phylum impl_bindingidmarks::subphylum(int no) const
{
switch(no){
case 0: return bindingidmark_1;
case 1: return bindingidmarks_1;
}
return 0;
}
abstract_phylum impl_countedphylumdeclaration_CountedPhylumdeclaration::subphylum(int no) const
{
switch(no){
case 0: return uniqID_1;
}
return 0;
}
abstract_phylum impl_countedphylumdeclarations::subphylum(int no) const
{
switch(no){
case 0: return countedphylumdeclaration_1;
case 1: return countedphylumdeclarations_1;
}
return 0;
}
abstract_phylum impl_addedphylumdeclaration_AddedPhylumdeclaration::subphylum(int no) const
{
switch(no){
case 0: return uniqID_1;
}
return 0;
}
abstract_phylum impl_addedphylumdeclarations::subphylum(int no) const
{
switch(no){
case 0: return addedphylumdeclaration_1;
case 1: return addedphylumdeclarations_1;
}
return 0;
}
abstract_phylum impl_problem_Problem6::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return casestring_2;
case 2: return casestring_3;
case 3: return casestring_4;
case 4: return casestring_5;
case 5: return casestring_6;
}
return 0;
}
abstract_phylum impl_problem_Problem5::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return casestring_2;
case 2: return casestring_3;
case 3: return casestring_4;
case 4: return casestring_5;
}
return 0;
}
abstract_phylum impl_problem_Problem4::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return casestring_2;
case 2: return casestring_3;
case 3: return casestring_4;
}
return 0;
}
abstract_phylum impl_problem_Problem3int1::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return casestring_2;
case 2: return casestring_3;
case 3: return integer_1;
case 4: return casestring_4;
}
return 0;
}
abstract_phylum impl_problem_Problem3::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return casestring_2;
case 2: return casestring_3;
}
return 0;
}
abstract_phylum impl_problem_Problem2::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return casestring_2;
}
return 0;
}
abstract_phylum impl_problem_Problem1storageoption1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return storageoption_1;
case 2: return casestring_2;
case 3: return ID_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1INT1ID1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return INT_1;
case 2: return casestring_2;
case 3: return ID_1;
case 4: return casestring_3;
case 5: return ID_2;
}
return 0;
}
abstract_phylum impl_problem_Problem1ID1ID1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return ID_1;
case 2: return casestring_2;
case 3: return ID_2;
case 4: return casestring_3;
case 5: return ID_3;
}
return 0;
}
abstract_phylum impl_problem_Problem1INT1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return INT_1;
case 2: return casestring_2;
case 3: return ID_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1int1::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return integer_1;
case 2: return casestring_2;
}
return 0;
}
abstract_phylum impl_problem_Problem1INT::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return INT_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1t1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return IDtype_1;
case 2: return casestring_2;
case 3: return ID_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1ID1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return ID_1;
case 2: return casestring_2;
case 3: return ID_2;
}
return 0;
}
abstract_phylum impl_problem_Problem1we::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return withexpression_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1tID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1ID::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_problem_Problem1::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_error_Warning::subphylum(int no) const
{
switch(no){
case 0: return fileline_1;
case 1: return problem_1;
}
return 0;
}
abstract_phylum impl_error_NonFatal::subphylum(int no) const
{
switch(no){
case 0: return fileline_1;
case 1: return problem_1;
}
return 0;
}
abstract_phylum impl_error_Fatal::subphylum(int no) const
{
switch(no){
case 0: return fileline_1;
case 1: return problem_1;
}
return 0;
}
abstract_phylum impl_baseclass_list::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return baseclass_list_1;
}
return 0;
}
abstract_phylum impl_baseclass_decl_BaseClassDecl::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return baseclass_list_1;
}
return 0;
}
abstract_phylum impl_baseclass_declarations::subphylum(int no) const
{
switch(no){
case 0: return baseclass_decl_1;
case 1: return baseclass_declarations_1;
}
return 0;
}
abstract_phylum impl_ac_base_init_AcBaseInit::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ac_constant_expression_1;
}
return 0;
}
abstract_phylum impl_ac_base_init_list::subphylum(int no) const
{
switch(no){
case 0: return ac_base_init_1;
case 1: return ac_base_init_list_1;
}
return 0;
}
abstract_phylum impl_ac_opt_base_init_list_AcYesBaseInit::subphylum(int no) const
{
switch(no){
case 0: return ac_base_init_list_1;
}
return 0;
}
abstract_phylum impl_ac_constant_expression_list::subphylum(int no) const
{
switch(no){
case 0: return ac_constant_expression_1;
case 1: return ac_constant_expression_list_1;
}
return 0;
}
abstract_phylum impl_ac_constant_expression_AcConstExpr::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_ac_constant_expression_option_Yesac_constant_expression::subphylum(int no) const
{
switch(no){
case 0: return ac_constant_expression_1;
}
return 0;
}
abstract_phylum impl_ac_direct_abstract_declarator_AcDirAbsdeclFn::subphylum(int no) const
{
switch(no){
case 0: return ac_direct_abstract_declarator_option_1;
case 1: return ac_parameter_type_list_1;
}
return 0;
}
abstract_phylum impl_ac_direct_abstract_declarator_AcDirAbsdeclArray::subphylum(int no) const
{
switch(no){
case 0: return ac_direct_abstract_declarator_option_1;
case 1: return ac_constant_expression_option_1;
}
return 0;
}
abstract_phylum impl_ac_direct_abstract_declarator_AcDirAbsdeclPack::subphylum(int no) const
{
switch(no){
case 0: return ac_abstract_declarator_1;
}
return 0;
}
abstract_phylum impl_ac_direct_abstract_declarator_option_Yesac_direct_abstract_declarator::subphylum(int no) const
{
switch(no){
case 0: return ac_direct_abstract_declarator_1;
}
return 0;
}
abstract_phylum impl_ac_abstract_declarator_AcAbsdeclDirdecl::subphylum(int no) const
{
switch(no){
case 0: return ac_pointer_option_1;
case 1: return ac_direct_abstract_declarator_1;
}
return 0;
}
abstract_phylum impl_ac_abstract_declarator_AcAbsdeclPointer::subphylum(int no) const
{
switch(no){
case 0: return ac_pointer_1;
}
return 0;
}
abstract_phylum impl_ac_identifier_list::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ac_identifier_list_1;
}
return 0;
}
abstract_phylum impl_ac_parameter_declaration_AcParDeclAbsdecl::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_specifiers_1;
case 1: return ac_abstract_declarator_1;
case 2: return ac_constant_expression_option_1;
}
return 0;
}
abstract_phylum impl_ac_parameter_declaration_AcParDeclDecl::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_specifiers_1;
case 1: return ac_declarator_1;
case 2: return ac_constant_expression_option_1;
}
return 0;
}
abstract_phylum impl_ac_parameter_list::subphylum(int no) const
{
switch(no){
case 0: return ac_parameter_declaration_1;
case 1: return ac_parameter_list_1;
}
return 0;
}
abstract_phylum impl_ac_parameter_type_list_AcParList3Dot::subphylum(int no) const
{
switch(no){
case 0: return ac_parameter_list_1;
}
return 0;
}
abstract_phylum impl_ac_parameter_type_list_AcParList::subphylum(int no) const
{
switch(no){
case 0: return ac_parameter_list_1;
}
return 0;
}
abstract_phylum impl_ac_type_qualifier_list::subphylum(int no) const
{
switch(no){
case 0: return ac_type_qualifier_1;
case 1: return ac_type_qualifier_list_1;
}
return 0;
}
abstract_phylum impl_ac_class_qualifier_list::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ac_class_qualifier_list_1;
}
return 0;
}
abstract_phylum impl_ac_class_qualifier_help_list::subphylum(int no) const
{
switch(no){
case 0: return ac_direct_declarator_1;
case 1: return ac_class_qualifier_help_list_1;
}
return 0;
}
abstract_phylum impl_ac_operator_name_AcOperatorName::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_ac_pointer_AcPointerCons::subphylum(int no) const
{
switch(no){
case 0: return ac_type_qualifier_list_1;
case 1: return ac_pointer_1;
}
return 0;
}
abstract_phylum impl_ac_pointer_AcPointerNil::subphylum(int no) const
{
switch(no){
case 0: return ac_type_qualifier_list_1;
}
return 0;
}
abstract_phylum impl_ac_pointer_option_Yespointer::subphylum(int no) const
{
switch(no){
case 0: return ac_pointer_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcOperatorDeclId::subphylum(int no) const
{
switch(no){
case 0: return ac_operator_name_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcConvOperatorDecl::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ID_2;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcMemberDecl::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ID_2;
case 2: return ac_constant_expression_list_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcQualifiedDeclProto::subphylum(int no) const
{
switch(no){
case 0: return ac_class_qualifier_list_1;
case 1: return ac_direct_declarator_1;
case 2: return ac_parameter_type_list_1;
case 3: return ac_type_qualifier_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcDirectDeclProto::subphylum(int no) const
{
switch(no){
case 0: return ac_direct_declarator_1;
case 1: return ac_parameter_type_list_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcDirectDeclArray::subphylum(int no) const
{
switch(no){
case 0: return ac_direct_declarator_1;
case 1: return ac_constant_expression_option_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcDirectDeclPack::subphylum(int no) const
{
switch(no){
case 0: return ac_declarator_1;
}
return 0;
}
abstract_phylum impl_ac_direct_declarator_AcDirectDeclId::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_ac_declarator_AcDeclarator::subphylum(int no) const
{
switch(no){
case 0: return ac_pointer_option_1;
case 1: return ac_ref_option_1;
case 2: return ac_direct_declarator_1;
}
return 0;
}
abstract_phylum impl_ac_init_declarator_AcInitDecl::subphylum(int no) const
{
switch(no){
case 0: return ac_declarator_1;
}
return 0;
}
abstract_phylum impl_ac_init_declarator_list::subphylum(int no) const
{
switch(no){
case 0: return ac_init_declarator_1;
case 1: return ac_init_declarator_list_1;
}
return 0;
}
abstract_phylum impl_ac_type_specifier_AcTypeSpec::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_ac_declaration_specifier_AcDeclSpecTypeQual::subphylum(int no) const
{
switch(no){
case 0: return ac_type_qualifier_1;
}
return 0;
}
abstract_phylum impl_ac_declaration_specifier_AcDeclSpecTypeSpec::subphylum(int no) const
{
switch(no){
case 0: return ac_type_specifier_1;
}
return 0;
}
abstract_phylum impl_ac_declaration_specifier_AcDeclSpecStorageSpec::subphylum(int no) const
{
switch(no){
case 0: return ac_storage_class_specifier_1;
}
return 0;
}
abstract_phylum impl_ac_declaration_specifiers::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_specifier_1;
case 1: return ac_declaration_specifiers_1;
}
return 0;
}
abstract_phylum impl_ac_declaration_list::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_1;
case 1: return ac_declaration_list_1;
}
return 0;
}
abstract_phylum impl_ac_declaration_AcDeclaration::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_specifiers_1;
case 1: return ac_init_declarator_list_1;
}
return 0;
}
abstract_phylum impl_unparsedeclinfo_Unparsedeclinfo::subphylum(int no) const
{
switch(no){
case 0: return patternrepresentation_1;
case 1: return patternrepresentation_2;
case 2: return unparseclause_1;
}
return 0;
}
abstract_phylum impl_unparsedeclsinfo::subphylum(int no) const
{
switch(no){
case 0: return unparsedeclinfo_1;
case 1: return unparsedeclsinfo_1;
}
return 0;
}
abstract_phylum impl_unparseviewinfo_Unparseviewinfo::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return unparsedeclsinfo_1;
}
return 0;
}
abstract_phylum impl_unparseviewsinfo::subphylum(int no) const
{
switch(no){
case 0: return unparseviewinfo_1;
case 1: return unparseviewsinfo_1;
}
return 0;
}
abstract_phylum impl_rewriteviewinfo_Rewriteviewinfo::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return rewriterulesinfo_1;
}
return 0;
}
abstract_phylum impl_rewriteviewsinfo::subphylum(int no) const
{
switch(no){
case 0: return rewriteviewinfo_1;
case 1: return rewriteviewsinfo_1;
}
return 0;
}
abstract_phylum impl_withcaseinfo_Withcaseinfo::subphylum(int no) const
{
switch(no){
case 0: return patternrepresentation_1;
case 1: return patternrepresentation_2;
case 2: return Ctext_1;
}
return 0;
}
abstract_phylum impl_withcasesinfo::subphylum(int no) const
{
switch(no){
case 0: return withcaseinfo_1;
case 1: return withcasesinfo_1;
}
return 0;
}
abstract_phylum impl_rewriteruleinfo_Rewriteruleinfo::subphylum(int no) const
{
switch(no){
case 0: return patternrepresentation_1;
case 1: return patternrepresentation_2;
case 2: return rewriteclause_1;
}
return 0;
}
abstract_phylum impl_rewriterulesinfo::subphylum(int no) const
{
switch(no){
case 0: return rewriteruleinfo_1;
case 1: return rewriterulesinfo_1;
}
return 0;
}
abstract_phylum impl_argsnumbers::subphylum(int no) const
{
switch(no){
case 0: return integer_1;
case 1: return argsnumbers_1;
}
return 0;
}
abstract_phylum impl_paths::subphylum(int no) const
{
switch(no){
case 0: return path_1;
case 1: return paths_1;
}
return 0;
}
abstract_phylum impl_path::subphylum(int no) const
{
switch(no){
case 0: return integer_1;
case 1: return path_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRIntLiteral::subphylum(int no) const
{
switch(no){
case 0: return path_1;
case 1: return INT_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRStringLiteral::subphylum(int no) const
{
switch(no){
case 0: return path_1;
case 1: return CexpressionDQ_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRWildcard::subphylum(int no) const
{
switch(no){
case 0: return path_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRNonLeafBinding::subphylum(int no) const
{
switch(no){
case 0: return path_1;
case 1: return ID_1;
case 2: return patternrepresentation_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRUserPredicate::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PROperPredicate::subphylum(int no) const
{
switch(no){
case 0: return path_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRVarPredicate::subphylum(int no) const
{
switch(no){
case 0: return paths_1;
case 1: return ID_1;
case 2: return patternrepresentation_1;
}
return 0;
}
abstract_phylum impl_elem_patternrepresentation_PRBinding::subphylum(int no) const
{
switch(no){
case 0: return path_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_patternrepresentation::subphylum(int no) const
{
switch(no){
case 0: return elem_patternrepresentation_1;
case 1: return patternrepresentation_1;
}
return 0;
}
abstract_phylum impl_patternrepresentations::subphylum(int no) const
{
switch(no){
case 0: return patternrepresentation_1;
case 1: return patternrepresentations_1;
}
return 0;
}
abstract_phylum impl_variables::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return variables_1;
}
return 0;
}
abstract_phylum impl_phyla::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return phyla_1;
}
return 0;
}
abstract_phylum impl_operators::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return operators_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITLanguageName::subphylum(int no) const
{
switch(no){
case 0: return integer_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITPatternVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return integer_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITUserFunction::subphylum(int no) const
{
switch(no){
case 0: return fnclass_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITUserOperator::subphylum(int no) const
{
switch(no){
case 0: return alternative_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITPredefinedOperator::subphylum(int no) const
{
switch(no){
case 0: return alternative_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITUserPhylum::subphylum(int no) const
{
switch(no){
case 0: return phylumdeclaration_1;
}
return 0;
}
abstract_phylum impl_IDtype_ITPredefinedPhylum::subphylum(int no) const
{
switch(no){
case 0: return phylumdeclaration_1;
}
return 0;
}
abstract_phylum impl_scopetypefileline_ScopeTypeFileLine::subphylum(int no) const
{
switch(no){
case 0: return integer_1;
case 1: return IDtype_1;
case 2: return casestring_1;
case 3: return integer_2;
}
return 0;
}
abstract_phylum impl_scopetypefilelinestack::subphylum(int no) const
{
switch(no){
case 0: return scopetypefileline_1;
case 1: return scopetypefilelinestack_1;
}
return 0;
}
abstract_phylum impl_languagenames::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return languagenames_1;
}
return 0;
}
abstract_phylum impl_languageoption_LanguageList::subphylum(int no) const
{
switch(no){
case 0: return languagenames_1;
}
return 0;
}
abstract_phylum impl_viewnameoption_YesViewname::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_unpattributes::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return unpattributes_1;
}
return 0;
}
abstract_phylum impl_unpsubterm_UnpCastedVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ID_2;
}
return 0;
}
abstract_phylum impl_unpsubterm_UnpDollarvarAttr::subphylum(int no) const
{
switch(no){
case 0: return INT_1;
case 1: return unpattributes_1;
}
return 0;
}
abstract_phylum impl_unpsubterm_UnpSubAttr::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return unpattributes_1;
}
return 0;
}
abstract_phylum impl_unpsubterm_UnpDollarvarTerm::subphylum(int no) const
{
switch(no){
case 0: return INT_1;
}
return 0;
}
abstract_phylum impl_unpsubterm_UnpSubTerm::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_unparseitem_UViewVarDecl::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ID_2;
case 2: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_unparseitem_UnpBody::subphylum(int no) const
{
switch(no){
case 0: return languageoption_1;
case 1: return unparseitems_1;
}
return 0;
}
abstract_phylum impl_unparseitem_UnpCtext::subphylum(int no) const
{
switch(no){
case 0: return languageoption_1;
case 1: return Ctext_1;
}
return 0;
}
abstract_phylum impl_unparseitem_UnpSubexpr::subphylum(int no) const
{
switch(no){
case 0: return languageoption_1;
case 1: return unpsubterm_1;
case 2: return viewnameoption_1;
}
return 0;
}
abstract_phylum impl_unparseitem_UnpStr::subphylum(int no) const
{
switch(no){
case 0: return languageoption_1;
case 1: return CexpressionDQ_1;
case 2: return viewnameoption_1;
}
return 0;
}
abstract_phylum impl_unparseitems::subphylum(int no) const
{
switch(no){
case 0: return unparseitem_1;
case 1: return unparseitems_1;
}
return 0;
}
abstract_phylum impl_viewnames::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return viewnames_1;
}
return 0;
}
abstract_phylum impl_unparseclause_UnparseClause::subphylum(int no) const
{
switch(no){
case 0: return viewnames_1;
case 1: return unparseitems_1;
}
return 0;
}
abstract_phylum impl_unparseclauses::subphylum(int no) const
{
switch(no){
case 0: return unparseclause_1;
case 1: return unparseclauses_1;
}
return 0;
}
abstract_phylum impl_unparsedeclaration_UnparseDeclaration::subphylum(int no) const
{
switch(no){
case 0: return outmostpatterns_1;
case 1: return unparseclauses_1;
}
return 0;
}
abstract_phylum impl_unparsedeclarations::subphylum(int no) const
{
switch(no){
case 0: return unparsedeclaration_1;
case 1: return unparsedeclarations_1;
}
return 0;
}
abstract_phylum impl_withcase_Withcase::subphylum(int no) const
{
switch(no){
case 0: return patternchains_1;
case 1: return Ctext_1;
}
return 0;
}
abstract_phylum impl_withcases::subphylum(int no) const
{
switch(no){
case 0: return withcase_1;
case 1: return withcases_1;
}
return 0;
}
abstract_phylum impl_withexpression_WECexpression::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_withexpression_WEVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_withexpressions::subphylum(int no) const
{
switch(no){
case 0: return withexpression_1;
case 1: return withexpressions_1;
}
return 0;
}
abstract_phylum impl_contextinfo_InForeachContext::subphylum(int no) const
{
switch(no){
case 0: return patternchain_1;
}
return 0;
}
abstract_phylum impl_foreach_after_ForeachAfter::subphylum(int no) const
{
switch(no){
case 0: return patternchain_1;
case 1: return idCexpressions_1;
case 2: return withexpressions_1;
case 3: return Ctext_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextWithexpression::subphylum(int no) const
{
switch(no){
case 0: return withexpressions_1;
case 1: return withcases_1;
case 2: return contextinfo_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextForeachexpression::subphylum(int no) const
{
switch(no){
case 0: return patternchain_1;
case 1: return idCexpressions_1;
case 2: return withexpressions_1;
case 3: return Ctext_1;
case 4: return foreach_after_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextCbody::subphylum(int no) const
{
switch(no){
case 0: return Ctext_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextCexpressionSQ::subphylum(int no) const
{
switch(no){
case 0: return CexpressionSQ_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextCexpressionDQ::subphylum(int no) const
{
switch(no){
case 0: return CexpressionDQ_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextNl::subphylum(int no) const
{
switch(no){
case 0: return integer_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextDollarVar::subphylum(int no) const
{
switch(no){
case 0: return INT_1;
}
return 0;
}
abstract_phylum impl_Ctext_elem_CTextLine::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_Ctext::subphylum(int no) const
{
switch(no){
case 0: return Ctext_elem_1;
case 1: return Ctext_1;
}
return 0;
}
abstract_phylum impl_fnclass_StaticFn::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_fndeclaration_AcMemberDeclaration::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_specifiers_1;
case 1: return ac_declarator_1;
case 2: return ac_constant_expression_option_1;
case 3: return fnclass_1;
}
return 0;
}
abstract_phylum impl_fndeclaration_FnAcDeclaration::subphylum(int no) const
{
switch(no){
case 0: return ac_declaration_specifiers_1;
case 1: return ac_declarator_1;
case 2: return ac_declaration_list_1;
case 3: return ac_opt_base_init_list_1;
case 4: return Ctext_1;
case 5: return ID_1;
case 6: return fnclass_1;
}
return 0;
}
abstract_phylum impl_fndeclarations::subphylum(int no) const
{
switch(no){
case 0: return fndeclaration_1;
case 1: return fndeclarations_1;
}
return 0;
}
abstract_phylum impl_fnfile_FnFile::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_fnfiles::subphylum(int no) const
{
switch(no){
case 0: return fnfile_1;
case 1: return fnfiles_1;
}
return 0;
}
abstract_phylum impl_terms::subphylum(int no) const
{
switch(no){
case 0: return term_1;
case 1: return terms_1;
}
return 0;
}
abstract_phylum impl_term_TIntLiteral::subphylum(int no) const
{
switch(no){
case 0: return INT_1;
}
return 0;
}
abstract_phylum impl_term_TStringLiteral::subphylum(int no) const
{
switch(no){
case 0: return CexpressionDQ_1;
}
return 0;
}
abstract_phylum impl_term_TCTerm::subphylum(int no) const
{
switch(no){
case 0: return CexpressionSQ_1;
}
return 0;
}
abstract_phylum impl_term_TMemberVarDot::subphylum(int no) const
{
switch(no){
case 0: return term_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_term_TMemberVar::subphylum(int no) const
{
switch(no){
case 0: return term_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_term_TMethodDot::subphylum(int no) const
{
switch(no){
case 0: return term_1;
case 1: return ID_1;
case 2: return terms_1;
}
return 0;
}
abstract_phylum impl_term_TMethod::subphylum(int no) const
{
switch(no){
case 0: return term_1;
case 1: return ID_1;
case 2: return terms_1;
}
return 0;
}
abstract_phylum impl_term_TOperator::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return terms_1;
}
return 0;
}
abstract_phylum impl_term_TVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_patterns::subphylum(int no) const
{
switch(no){
case 0: return pattern_1;
case 1: return patterns_1;
}
return 0;
}
abstract_phylum impl_pattern_PIntLiteral::subphylum(int no) const
{
switch(no){
case 0: return INT_1;
}
return 0;
}
abstract_phylum impl_pattern_PStringLiteral::subphylum(int no) const
{
switch(no){
case 0: return CexpressionDQ_1;
}
return 0;
}
abstract_phylum impl_pattern_PNonLeafVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return pattern_1;
}
return 0;
}
abstract_phylum impl_pattern_POperator::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return patterns_1;
}
return 0;
}
abstract_phylum impl_pattern_PVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_outmostpattern_OPDefault::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_outmostpattern_OPWildcard::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_outmostpattern_OPNonLeafVariable::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return outmostpattern_1;
}
return 0;
}
abstract_phylum impl_outmostpattern_OPOperator::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return patterns_1;
case 2: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_outmostpattern_OPOperatorWildcard::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_patternchainitem_PatternchainitemDollarid::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_patternchainitem_PatternchainitemGroup::subphylum(int no) const
{
switch(no){
case 0: return patternchains_1;
}
return 0;
}
abstract_phylum impl_patternchainitem_PatternchainitemOutmost::subphylum(int no) const
{
switch(no){
case 0: return outmostpattern_1;
}
return 0;
}
abstract_phylum impl_outmostpatterns::subphylum(int no) const
{
switch(no){
case 0: return outmostpattern_1;
case 1: return outmostpatterns_1;
}
return 0;
}
abstract_phylum impl_patternchain::subphylum(int no) const
{
switch(no){
case 0: return patternchainitem_1;
case 1: return patternchain_1;
}
return 0;
}
abstract_phylum impl_patternchains::subphylum(int no) const
{
switch(no){
case 0: return patternchain_1;
case 1: return patternchains_1;
}
return 0;
}
abstract_phylum impl_rewriteclause_RewriteClause::subphylum(int no) const
{
switch(no){
case 0: return viewnames_1;
case 1: return term_1;
}
return 0;
}
abstract_phylum impl_rewriteclauses::subphylum(int no) const
{
switch(no){
case 0: return rewriteclause_1;
case 1: return rewriteclauses_1;
}
return 0;
}
abstract_phylum impl_rwdeclaration_RwDeclaration::subphylum(int no) const
{
switch(no){
case 0: return outmostpatterns_1;
case 1: return rewriteclauses_1;
}
return 0;
}
abstract_phylum impl_rwdeclarations::subphylum(int no) const
{
switch(no){
case 0: return rwdeclaration_1;
case 1: return rwdeclarations_1;
}
return 0;
}
abstract_phylum impl_includedeclaration_IncludeDeclaration::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_includedeclarations::subphylum(int no) const
{
switch(no){
case 0: return includedeclaration_1;
case 1: return includedeclarations_1;
}
return 0;
}
abstract_phylum impl_includefile_IncludeFile::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_includefiles::subphylum(int no) const
{
switch(no){
case 0: return includefile_1;
case 1: return includefiles_1;
}
return 0;
}
abstract_phylum impl_Ctexts::subphylum(int no) const
{
switch(no){
case 0: return Ctext_1;
case 1: return Ctexts_1;
}
return 0;
}
abstract_phylum impl_idCexpression_IdCexpression::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_idCexpressions::subphylum(int no) const
{
switch(no){
case 0: return idCexpression_1;
case 1: return idCexpressions_1;
}
return 0;
}
abstract_phylum impl_CexpressionSQ_elem_CExpressionSQPart::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_CexpressionSQ::subphylum(int no) const
{
switch(no){
case 0: return CexpressionSQ_elem_1;
case 1: return CexpressionSQ_1;
}
return 0;
}
abstract_phylum impl_CexpressionDQ_elem_CExpressionDQPart::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_CexpressionDQ::subphylum(int no) const
{
switch(no){
case 0: return CexpressionDQ_elem_1;
case 1: return CexpressionDQ_1;
}
return 0;
}
abstract_phylum impl_Cexpression_elem_CExpressionArray::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_Cexpression_elem_CExpressionPack::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_Cexpression_elem_CExpressionSQ::subphylum(int no) const
{
switch(no){
case 0: return CexpressionSQ_1;
}
return 0;
}
abstract_phylum impl_Cexpression_elem_CExpressionDQ::subphylum(int no) const
{
switch(no){
case 0: return CexpressionDQ_1;
}
return 0;
}
abstract_phylum impl_Cexpression_elem_CExpressionDollarvar::subphylum(int no) const
{
switch(no){
case 0: return INT_1;
}
return 0;
}
abstract_phylum impl_Cexpression_elem_CExpressionPart::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_Cexpression::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_elem_1;
case 1: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_attribute_initialisation_option_Yesattribute_initialisation::subphylum(int no) const
{
switch(no){
case 0: return Cexpression_1;
}
return 0;
}
abstract_phylum impl_attribute_Attribute::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return ID_2;
case 2: return attribute_initialisation_option_1;
}
return 0;
}
abstract_phylum impl_attributes::subphylum(int no) const
{
switch(no){
case 0: return attribute_1;
case 1: return attributes_1;
}
return 0;
}
abstract_phylum impl_Ccode_option_CcodeOption::subphylum(int no) const
{
switch(no){
case 0: return attributes_1;
case 1: return Ctexts_1;
}
return 0;
}
abstract_phylum impl_argument_Argument::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return integer_1;
}
return 0;
}
abstract_phylum impl_arguments::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return arguments_1;
}
return 0;
}
abstract_phylum impl_alternative_Alternative::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return arguments_1;
}
return 0;
}
abstract_phylum impl_alternatives::subphylum(int no) const
{
switch(no){
case 0: return alternative_1;
case 1: return alternatives_1;
}
return 0;
}
abstract_phylum impl_productionblock_PredefinedAlternatives::subphylum(int no) const
{
switch(no){
case 0: return alternatives_1;
}
return 0;
}
abstract_phylum impl_productionblock_NonlistAlternatives::subphylum(int no) const
{
switch(no){
case 0: return alternatives_1;
}
return 0;
}
abstract_phylum impl_productionblock_ListAlternatives::subphylum(int no) const
{
switch(no){
case 0: return alternatives_1;
case 1: return ID_1;
}
return 0;
}
abstract_phylum impl_storageclasses::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return storageclasses_1;
}
return 0;
}
abstract_phylum impl_storageoption_PositiveStorageOption::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_storageoption_NegativeStorageOption::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
}
return 0;
}
abstract_phylum impl_phylumdeclaration_PhylumDeclaration::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return storageoption_1;
case 2: return productionblock_1;
case 3: return Ccode_option_1;
}
return 0;
}
abstract_phylum impl_phylumnames::subphylum(int no) const
{
switch(no){
case 0: return ID_1;
case 1: return phylumnames_1;
}
return 0;
}
abstract_phylum impl_phylumdeclarations::subphylum(int no) const
{
switch(no){
case 0: return phylumdeclaration_1;
case 1: return phylumdeclarations_1;
}
return 0;
}
abstract_phylum impl_phylumdeclarationsroot_PhylumDeclarations::subphylum(int no) const
{
switch(no){
case 0: return phylumdeclarations_1;
}
return 0;
}
abstract_phylum impl_STRING_String::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
abstract_phylum impl_INT_Int::subphylum(int no) const
{
switch(no){
case 0: return integer_1;
}
return 0;
}
abstract_phylum impl_ID_Id::subphylum(int no) const
{
switch(no){
case 0: return uniqID_1;
}
return 0;
}
abstract_phylum impl_uniqID_Str::subphylum(int no) const
{
switch(no){
case 0: return casestring_1;
}
return 0;
}
void impl_bindingidmark_BindingIdMark::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = uniqID_1 = dynamic_cast<uniqID>(val);break;
}
assertNonNull(newval);
}
void impl_bindingidmarks::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = bindingidmark_1 = dynamic_cast<bindingidmark>(val);break;
case 1: newval = bindingidmarks_1 = dynamic_cast<bindingidmarks>(val);break;
}
assertNonNull(newval);
}
void impl_countedphylumdeclaration_CountedPhylumdeclaration::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = uniqID_1 = dynamic_cast<uniqID>(val);break;
}
assertNonNull(newval);
}
void impl_countedphylumdeclarations::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = countedphylumdeclaration_1 = dynamic_cast<countedphylumdeclaration>(val);break;
case 1: newval = countedphylumdeclarations_1 = dynamic_cast<countedphylumdeclarations>(val);break;
}
assertNonNull(newval);
}
void impl_addedphylumdeclaration_AddedPhylumdeclaration::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = uniqID_1 = dynamic_cast<uniqID>(val);break;
}
assertNonNull(newval);
}
void impl_addedphylumdeclarations::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = addedphylumdeclaration_1 = dynamic_cast<addedphylumdeclaration>(val);break;
case 1: newval = addedphylumdeclarations_1 = dynamic_cast<addedphylumdeclarations>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem6::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 2: newval = casestring_3 = dynamic_cast<casestring>(val);break;
case 3: newval = casestring_4 = dynamic_cast<casestring>(val);break;
case 4: newval = casestring_5 = dynamic_cast<casestring>(val);break;
case 5: newval = casestring_6 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem5::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 2: newval = casestring_3 = dynamic_cast<casestring>(val);break;
case 3: newval = casestring_4 = dynamic_cast<casestring>(val);break;
case 4: newval = casestring_5 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem4::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 2: newval = casestring_3 = dynamic_cast<casestring>(val);break;
case 3: newval = casestring_4 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem3int1::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 2: newval = casestring_3 = dynamic_cast<casestring>(val);break;
case 3: newval = integer_1 = dynamic_cast<integer>(val);break;
case 4: newval = casestring_4 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem3::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 2: newval = casestring_3 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem2::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = casestring_2 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1storageoption1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = storageoption_1 = dynamic_cast<storageoption>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 3: newval = ID_1 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1INT1ID1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = INT_1 = dynamic_cast<INT>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 3: newval = ID_1 = dynamic_cast<ID>(val);break;
case 4: newval = casestring_3 = dynamic_cast<casestring>(val);break;
case 5: newval = ID_2 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1ID1ID1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = ID_1 = dynamic_cast<ID>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 3: newval = ID_2 = dynamic_cast<ID>(val);break;
case 4: newval = casestring_3 = dynamic_cast<casestring>(val);break;
case 5: newval = ID_3 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1INT1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = INT_1 = dynamic_cast<INT>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 3: newval = ID_1 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1int1::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = integer_1 = dynamic_cast<integer>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1INT::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = INT_1 = dynamic_cast<INT>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1t1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = IDtype_1 = dynamic_cast<IDtype>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 3: newval = ID_1 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1ID1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = ID_1 = dynamic_cast<ID>(val);break;
case 2: newval = casestring_2 = dynamic_cast<casestring>(val);break;
case 3: newval = ID_2 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1we::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = withexpression_1 = dynamic_cast<withexpression>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1tID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = ID_1 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1ID::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
case 1: newval = ID_1 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_problem_Problem1::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_error_Warning::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = fileline_1 = dynamic_cast<fileline>(val);break;
case 1: newval = problem_1 = dynamic_cast<problem>(val);break;
}
assertNonNull(newval);
}
void impl_error_NonFatal::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = fileline_1 = dynamic_cast<fileline>(val);break;
case 1: newval = problem_1 = dynamic_cast<problem>(val);break;
}
assertNonNull(newval);
}
void impl_error_Fatal::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = fileline_1 = dynamic_cast<fileline>(val);break;
case 1: newval = problem_1 = dynamic_cast<problem>(val);break;
}
assertNonNull(newval);
}
void impl_baseclass_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = baseclass_list_1 = dynamic_cast<baseclass_list>(val);break;
}
assertNonNull(newval);
}
void impl_baseclass_decl_BaseClassDecl::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = baseclass_list_1 = dynamic_cast<baseclass_list>(val);break;
}
assertNonNull(newval);
}
void impl_baseclass_declarations::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = baseclass_decl_1 = dynamic_cast<baseclass_decl>(val);break;
case 1: newval = baseclass_declarations_1 = dynamic_cast<baseclass_declarations>(val);break;
}
assertNonNull(newval);
}
void impl_ac_base_init_AcBaseInit::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = ac_constant_expression_1 = dynamic_cast<ac_constant_expression>(val);break;
}
assertNonNull(newval);
}
void impl_ac_base_init_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_base_init_1 = dynamic_cast<ac_base_init>(val);break;
case 1: newval = ac_base_init_list_1 = dynamic_cast<ac_base_init_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_opt_base_init_list_AcYesBaseInit::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_base_init_list_1 = dynamic_cast<ac_base_init_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_constant_expression_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_constant_expression_1 = dynamic_cast<ac_constant_expression>(val);break;
case 1: newval = ac_constant_expression_list_1 = dynamic_cast<ac_constant_expression_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_constant_expression_AcConstExpr::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = Cexpression_1 = dynamic_cast<Cexpression>(val);break;
}
assertNonNull(newval);
}
void impl_ac_constant_expression_option_Yesac_constant_expression::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_constant_expression_1 = dynamic_cast<ac_constant_expression>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_abstract_declarator_AcDirAbsdeclFn::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_direct_abstract_declarator_option_1 = dynamic_cast<ac_direct_abstract_declarator_option>(val);break;
case 1: newval = ac_parameter_type_list_1 = dynamic_cast<ac_parameter_type_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_abstract_declarator_AcDirAbsdeclArray::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_direct_abstract_declarator_option_1 = dynamic_cast<ac_direct_abstract_declarator_option>(val);break;
case 1: newval = ac_constant_expression_option_1 = dynamic_cast<ac_constant_expression_option>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_abstract_declarator_AcDirAbsdeclPack::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_abstract_declarator_1 = dynamic_cast<ac_abstract_declarator>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_abstract_declarator_option_Yesac_direct_abstract_declarator::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_direct_abstract_declarator_1 = dynamic_cast<ac_direct_abstract_declarator>(val);break;
}
assertNonNull(newval);
}
void impl_ac_abstract_declarator_AcAbsdeclDirdecl::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_pointer_option_1 = dynamic_cast<ac_pointer_option>(val);break;
case 1: newval = ac_direct_abstract_declarator_1 = dynamic_cast<ac_direct_abstract_declarator>(val);break;
}
assertNonNull(newval);
}
void impl_ac_abstract_declarator_AcAbsdeclPointer::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_pointer_1 = dynamic_cast<ac_pointer>(val);break;
}
assertNonNull(newval);
}
void impl_ac_identifier_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = ac_identifier_list_1 = dynamic_cast<ac_identifier_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_parameter_declaration_AcParDeclAbsdecl::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_declaration_specifiers_1 = dynamic_cast<ac_declaration_specifiers>(val);break;
case 1: newval = ac_abstract_declarator_1 = dynamic_cast<ac_abstract_declarator>(val);break;
case 2: newval = ac_constant_expression_option_1 = dynamic_cast<ac_constant_expression_option>(val);break;
}
assertNonNull(newval);
}
void impl_ac_parameter_declaration_AcParDeclDecl::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_declaration_specifiers_1 = dynamic_cast<ac_declaration_specifiers>(val);break;
case 1: newval = ac_declarator_1 = dynamic_cast<ac_declarator>(val);break;
case 2: newval = ac_constant_expression_option_1 = dynamic_cast<ac_constant_expression_option>(val);break;
}
assertNonNull(newval);
}
void impl_ac_parameter_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_parameter_declaration_1 = dynamic_cast<ac_parameter_declaration>(val);break;
case 1: newval = ac_parameter_list_1 = dynamic_cast<ac_parameter_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_parameter_type_list_AcParList3Dot::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_parameter_list_1 = dynamic_cast<ac_parameter_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_parameter_type_list_AcParList::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_parameter_list_1 = dynamic_cast<ac_parameter_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_type_qualifier_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_type_qualifier_1 = dynamic_cast<ac_type_qualifier>(val);break;
case 1: newval = ac_type_qualifier_list_1 = dynamic_cast<ac_type_qualifier_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_class_qualifier_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = ac_class_qualifier_list_1 = dynamic_cast<ac_class_qualifier_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_class_qualifier_help_list::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_direct_declarator_1 = dynamic_cast<ac_direct_declarator>(val);break;
case 1: newval = ac_class_qualifier_help_list_1 = dynamic_cast<ac_class_qualifier_help_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_operator_name_AcOperatorName::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = casestring_1 = dynamic_cast<casestring>(val);break;
}
assertNonNull(newval);
}
void impl_ac_pointer_AcPointerCons::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_type_qualifier_list_1 = dynamic_cast<ac_type_qualifier_list>(val);break;
case 1: newval = ac_pointer_1 = dynamic_cast<ac_pointer>(val);break;
}
assertNonNull(newval);
}
void impl_ac_pointer_AcPointerNil::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_type_qualifier_list_1 = dynamic_cast<ac_type_qualifier_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_pointer_option_Yespointer::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_pointer_1 = dynamic_cast<ac_pointer>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcOperatorDeclId::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_operator_name_1 = dynamic_cast<ac_operator_name>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcConvOperatorDecl::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = ID_2 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcMemberDecl::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
case 1: newval = ID_2 = dynamic_cast<ID>(val);break;
case 2: newval = ac_constant_expression_list_1 = dynamic_cast<ac_constant_expression_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcQualifiedDeclProto::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_class_qualifier_list_1 = dynamic_cast<ac_class_qualifier_list>(val);break;
case 1: newval = ac_direct_declarator_1 = dynamic_cast<ac_direct_declarator>(val);break;
case 2: newval = ac_parameter_type_list_1 = dynamic_cast<ac_parameter_type_list>(val);break;
case 3: newval = ac_type_qualifier_1 = dynamic_cast<ac_type_qualifier>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcDirectDeclProto::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_direct_declarator_1 = dynamic_cast<ac_direct_declarator>(val);break;
case 1: newval = ac_parameter_type_list_1 = dynamic_cast<ac_parameter_type_list>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcDirectDeclArray::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_direct_declarator_1 = dynamic_cast<ac_direct_declarator>(val);break;
case 1: newval = ac_constant_expression_option_1 = dynamic_cast<ac_constant_expression_option>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcDirectDeclPack::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_declarator_1 = dynamic_cast<ac_declarator>(val);break;
}
assertNonNull(newval);
}
void impl_ac_direct_declarator_AcDirectDeclId::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ID_1 = dynamic_cast<ID>(val);break;
}
assertNonNull(newval);
}
void impl_ac_declarator_AcDeclarator::set_subphylum(int no, abstract_phylum val)
{
abstract_phylum newval=0;
switch(no) {
case 0: newval = ac_pointer_option_1 = dynamic_cast<ac_pointer_option>(val);break;
case 1: newval = ac_ref_option_1 = dynamic_cast<ac_ref_option>(val);break;
case 2: newval = ac_direct_declarator_1 = dynamic_cast<ac_direct_declarator>(val);break;
}