| /* 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$ |
| */ |
| #ifndef KC_TYPES_HEADER |
| #define KC_TYPES_HEADER |
| |
| #define KIMWITUVERSIONMAJOR 2 |
| #define KIMWITUVERSIONMINOR 3 |
| #define KIMWITUVERSIONMICRO 6 |
| |
| #include <cstdlib> |
| #include <cstring> |
| #include <stdio.h> |
| #include <stddef.h> |
| #include <string> |
| |
| namespace kc { |
| |
| #ifndef INTEGER |
| # define INTEGER int |
| #endif |
| #ifndef REAL |
| # define REAL double |
| #endif |
| |
| typedef char kc_cchar_t; |
| typedef unsigned short kc_wchar_t; |
| |
| typedef std::string kc_cstring_t; |
| |
| #ifdef KC_UNICODE |
| #define kc_t(TEXT) L ## TEXT |
| typedef std::wstring kc_wstring_t; |
| typedef kc_wchar_t kc_char; |
| typedef kc_wstring_t kc_string_t; |
| |
| #if defined(_WIN32) && ! defined (__GNUC__) |
| #define kc_strlen wcslen |
| #define kc_strcmp wcscmp |
| #define kc_strcasecmp _wcsicmp |
| #define kc_strcpy wcscpy |
| #define kc_strncpy wcsncpy |
| #define kc_tolower towlower |
| #define kc_print_integer(buf,number) swprintf(buf,kc_t("%d"),number) |
| #define kc_print_real(buf,number) swprintf(buf,kc_t("%g"),number) |
| |
| // needed for printdot and csgio only |
| inline |
| kc_cstring_t kc_to_cstring(const kc_wstring_t& s) { |
| USES_CONVERSION; |
| return W2CA(s.c_str()); |
| } |
| |
| // needed for csgio only |
| inline |
| kc_wstring_t kc_to_wstring(const kc_cstring_t& s) { |
| USES_CONVERSION; |
| return A2CW(s.c_str()); |
| } |
| |
| #else |
| // if you want to use UNICODE on other platforms you have to write the following functions by your own |
| int kc_strlen(const kc_char*); |
| int kc_strcmp(const kc_char*,const kc_char*); |
| int kc_strcasecmp(const kc_char*,const kc_char*); |
| int kc_strcpy(kc_char*,const kc_char*); |
| int kc_strncpy(kc_char*,const kc_char*, int); |
| kc_char kc_tolower(kc_char); |
| int kc_print_integer(kc_char* buffer, INTEGER number ); |
| int kc_print_real(kc_char* buffer, REAL number); |
| |
| // needed for printdot and csgio only |
| kc_cstring_t kc_to_cstring(const kc_wstring_t& ); |
| // needed for csgio only |
| kc_wstring_t kc_to_wstring(const kc_cstring_t& ); |
| |
| #endif |
| |
| #else // !KC_UNICODE |
| |
| #define kc_t(TEXT) TEXT |
| typedef kc_cchar_t kc_char; |
| typedef kc_cstring_t kc_string_t; |
| |
| #define kc_strlen strlen |
| #define kc_strcmp strcmp |
| #if defined(_WIN32) && ! defined (__GNUC__) |
| #define kc_strcasecmp _stricmp |
| #else |
| #define kc_strcasecmp strcasecmp |
| #endif |
| #define kc_strcpy strcpy |
| #define kc_strncpy strncpy |
| #define kc_tolower tolower |
| #define kc_print_integer(buf,number) sprintf(buf,kc_t("%d"),number) |
| #define kc_print_real(buf,number) sprintf(buf,kc_t("%g"),number) |
| #endif |
| class uview_class; |
| typedef uview_class& uview; |
| typedef const uview_class& c_uview; |
| |
| typedef class printer_functor_class& printer_functor; |
| typedef void (*printer_function)(const kc_char*, uview); |
| |
| class rview_class; |
| typedef rview_class& rview; |
| typedef const rview_class& c_rview; |
| |
| } |
| |
| // Some compilers know __attribute__. Right now we test for the GNU compiler |
| // and Intel's icc (for ia32) and ecc (for ia64). |
| #if !defined __GNUC__ && !defined __ICC && !defined __ECC |
| # define __attribute__(x) |
| #endif |
| |
| // Since all definitions are in namespace kc now, there is no need |
| // give them a kc_ prefix. Old code may still rely on the prefix, so these |
| // macros are generated for backwards compatibility |
| #ifdef KC_DEPRECATED |
| #define kc_PhylumInfo phylum_info |
| #define kc_OperatorInfo operator_info |
| #define kc_last_uview last_uview |
| #define kc_uviews uviews |
| #define kc_rviews rviews |
| #define kc_ht_reuse ht_clear |
| #define kc_ht_clear ht_clear |
| #define kc_ht_assign ht_assign |
| #define kc_ht_assigned ht_assigned |
| #define kc_phylum_nocasestring phylum_nocasestring |
| #define kc_tag_nocasestring_NoCaseStr impl_nocasestring_NoCaseStr |
| #define kc_phylum_casestring phylum_casestring |
| #define kc_tag_casestring__Str impl_casestring__Str |
| #define kc_phylum_real phylum_real |
| #define kc_tag_real__Real impl_real__Real |
| #define kc_phylum_integer phylum_integer |
| #define kc_tag_integer__Int impl_integer__Int |
| #define kc_phylum_voidptr phylum_voidptr |
| #define kc_tag_voidptr__VoidPtr impl_voidptr__VoidPtr |
| #define kc_phylum_uniqID phylum_uniqID |
| #define kc_tag_uniqID_Str impl_uniqID_Str |
| #define kc_phylum_ID phylum_ID |
| #define kc_tag_ID_Id impl_ID_Id |
| #define kc_phylum_INT phylum_INT |
| #define kc_tag_INT_Int impl_INT_Int |
| #define kc_phylum_STRING phylum_STRING |
| #define kc_tag_STRING_String impl_STRING_String |
| #define kc_phylum_phylumdeclarationsroot phylum_phylumdeclarationsroot |
| #define kc_tag_phylumdeclarationsroot_PhylumDeclarations impl_phylumdeclarationsroot_PhylumDeclarations |
| #define kc_phylum_phylumdeclarations phylum_phylumdeclarations |
| #define kc_tag_phylumdeclarations_Nilphylumdeclarations impl_phylumdeclarations_Nilphylumdeclarations |
| #define kc_tag_phylumdeclarations_Consphylumdeclarations impl_phylumdeclarations_Consphylumdeclarations |
| #define kc_phylum_phylumnames phylum_phylumnames |
| #define kc_tag_phylumnames_Nilphylumnames impl_phylumnames_Nilphylumnames |
| #define kc_tag_phylumnames_Consphylumnames impl_phylumnames_Consphylumnames |
| #define kc_phylum_phylumdeclaration phylum_phylumdeclaration |
| #define kc_tag_phylumdeclaration_PhylumDeclaration impl_phylumdeclaration_PhylumDeclaration |
| #define kc_phylum_storageoption phylum_storageoption |
| #define kc_tag_storageoption_NoStorageOption impl_storageoption_NoStorageOption |
| #define kc_tag_storageoption_NegativeStorageOption impl_storageoption_NegativeStorageOption |
| #define kc_tag_storageoption_PositiveStorageOption impl_storageoption_PositiveStorageOption |
| #define kc_phylum_storageclasses phylum_storageclasses |
| #define kc_tag_storageclasses_Nilstorageclasses impl_storageclasses_Nilstorageclasses |
| #define kc_tag_storageclasses_Consstorageclasses impl_storageclasses_Consstorageclasses |
| #define kc_phylum_productionblock phylum_productionblock |
| #define kc_tag_productionblock_Emptyproductionblock impl_productionblock_Emptyproductionblock |
| #define kc_tag_productionblock_ListAlternatives impl_productionblock_ListAlternatives |
| #define kc_tag_productionblock_NonlistAlternatives impl_productionblock_NonlistAlternatives |
| #define kc_tag_productionblock_PredefinedAlternatives impl_productionblock_PredefinedAlternatives |
| #define kc_phylum_alternatives phylum_alternatives |
| #define kc_tag_alternatives_Nilalternatives impl_alternatives_Nilalternatives |
| #define kc_tag_alternatives_Consalternatives impl_alternatives_Consalternatives |
| #define kc_phylum_alternative phylum_alternative |
| #define kc_tag_alternative_Alternative impl_alternative_Alternative |
| #define kc_phylum_arguments phylum_arguments |
| #define kc_tag_arguments_Nilarguments impl_arguments_Nilarguments |
| #define kc_tag_arguments_Consarguments impl_arguments_Consarguments |
| #define kc_phylum_argument phylum_argument |
| #define kc_tag_argument_Argument impl_argument_Argument |
| #define kc_phylum_Ccode_option phylum_Ccode_option |
| #define kc_tag_Ccode_option_CcodeOption impl_Ccode_option_CcodeOption |
| #define kc_phylum_attributes phylum_attributes |
| #define kc_tag_attributes_Nilattributes impl_attributes_Nilattributes |
| #define kc_tag_attributes_Consattributes impl_attributes_Consattributes |
| #define kc_phylum_attribute phylum_attribute |
| #define kc_tag_attribute_Attribute impl_attribute_Attribute |
| #define kc_phylum_attribute_initialisation_option phylum_attribute_initialisation_option |
| #define kc_tag_attribute_initialisation_option_Noattribute_initialisation impl_attribute_initialisation_option_Noattribute_initialisation |
| #define kc_tag_attribute_initialisation_option_Yesattribute_initialisation impl_attribute_initialisation_option_Yesattribute_initialisation |
| #define kc_phylum_Cexpression phylum_Cexpression |
| #define kc_tag_Cexpression_NilCexpression impl_Cexpression_NilCexpression |
| #define kc_tag_Cexpression_ConsCexpression impl_Cexpression_ConsCexpression |
| #define kc_phylum_Cexpression_elem phylum_Cexpression_elem |
| #define kc_tag_Cexpression_elem_CExpressionPart impl_Cexpression_elem_CExpressionPart |
| #define kc_tag_Cexpression_elem_CExpressionDollarvar impl_Cexpression_elem_CExpressionDollarvar |
| #define kc_tag_Cexpression_elem_CExpressionNl impl_Cexpression_elem_CExpressionNl |
| #define kc_tag_Cexpression_elem_CExpressionDQ impl_Cexpression_elem_CExpressionDQ |
| #define kc_tag_Cexpression_elem_CExpressionSQ impl_Cexpression_elem_CExpressionSQ |
| #define kc_tag_Cexpression_elem_CExpressionPack impl_Cexpression_elem_CExpressionPack |
| #define kc_tag_Cexpression_elem_CExpressionArray impl_Cexpression_elem_CExpressionArray |
| #define kc_phylum_CexpressionDQ phylum_CexpressionDQ |
| #define kc_tag_CexpressionDQ_NilCexpressionDQ impl_CexpressionDQ_NilCexpressionDQ |
| #define kc_tag_CexpressionDQ_ConsCexpressionDQ impl_CexpressionDQ_ConsCexpressionDQ |
| #define kc_phylum_CexpressionDQ_elem phylum_CexpressionDQ_elem |
| #define kc_tag_CexpressionDQ_elem_CExpressionDQPart impl_CexpressionDQ_elem_CExpressionDQPart |
| #define kc_tag_CexpressionDQ_elem_CExpressionDQNl impl_CexpressionDQ_elem_CExpressionDQNl |
| #define kc_phylum_CexpressionSQ phylum_CexpressionSQ |
| #define kc_tag_CexpressionSQ_NilCexpressionSQ impl_CexpressionSQ_NilCexpressionSQ |
| #define kc_tag_CexpressionSQ_ConsCexpressionSQ impl_CexpressionSQ_ConsCexpressionSQ |
| #define kc_phylum_CexpressionSQ_elem phylum_CexpressionSQ_elem |
| #define kc_tag_CexpressionSQ_elem_CExpressionSQPart impl_CexpressionSQ_elem_CExpressionSQPart |
| #define kc_tag_CexpressionSQ_elem_CExpressionSQNl impl_CexpressionSQ_elem_CExpressionSQNl |
| #define kc_phylum_idCexpressions phylum_idCexpressions |
| #define kc_tag_idCexpressions_NilidCexpressions impl_idCexpressions_NilidCexpressions |
| #define kc_tag_idCexpressions_ConsidCexpressions impl_idCexpressions_ConsidCexpressions |
| #define kc_phylum_idCexpression phylum_idCexpression |
| #define kc_tag_idCexpression_IdCexpression impl_idCexpression_IdCexpression |
| #define kc_phylum_Ctexts phylum_Ctexts |
| #define kc_tag_Ctexts_NilCtexts impl_Ctexts_NilCtexts |
| #define kc_tag_Ctexts_ConsCtexts impl_Ctexts_ConsCtexts |
| #define kc_phylum_includefiles phylum_includefiles |
| #define kc_tag_includefiles_Nilincludefiles impl_includefiles_Nilincludefiles |
| #define kc_tag_includefiles_Consincludefiles impl_includefiles_Consincludefiles |
| #define kc_phylum_includefile phylum_includefile |
| #define kc_tag_includefile_IncludeFile impl_includefile_IncludeFile |
| #define kc_phylum_includedeclarations phylum_includedeclarations |
| #define kc_tag_includedeclarations_Nilincludedeclarations impl_includedeclarations_Nilincludedeclarations |
| #define kc_tag_includedeclarations_Consincludedeclarations impl_includedeclarations_Consincludedeclarations |
| #define kc_phylum_includedeclaration phylum_includedeclaration |
| #define kc_tag_includedeclaration_IncludeDeclaration impl_includedeclaration_IncludeDeclaration |
| #define kc_phylum_rwdeclarations phylum_rwdeclarations |
| #define kc_tag_rwdeclarations_Nilrwdeclarations impl_rwdeclarations_Nilrwdeclarations |
| #define kc_tag_rwdeclarations_Consrwdeclarations impl_rwdeclarations_Consrwdeclarations |
| #define kc_phylum_rwdeclaration phylum_rwdeclaration |
| #define kc_tag_rwdeclaration_RwDeclaration impl_rwdeclaration_RwDeclaration |
| #define kc_phylum_rewriteclauses phylum_rewriteclauses |
| #define kc_tag_rewriteclauses_Nilrewriteclauses impl_rewriteclauses_Nilrewriteclauses |
| #define kc_tag_rewriteclauses_Consrewriteclauses impl_rewriteclauses_Consrewriteclauses |
| #define kc_phylum_rewriteclause phylum_rewriteclause |
| #define kc_tag_rewriteclause_RewriteClause impl_rewriteclause_RewriteClause |
| #define kc_phylum_patternchains phylum_patternchains |
| #define kc_tag_patternchains_Nilpatternchains impl_patternchains_Nilpatternchains |
| #define kc_tag_patternchains_Conspatternchains impl_patternchains_Conspatternchains |
| #define kc_phylum_patternchain phylum_patternchain |
| #define kc_tag_patternchain_Nilpatternchain impl_patternchain_Nilpatternchain |
| #define kc_tag_patternchain_Conspatternchain impl_patternchain_Conspatternchain |
| #define kc_phylum_outmostpatterns phylum_outmostpatterns |
| #define kc_tag_outmostpatterns_Niloutmostpatterns impl_outmostpatterns_Niloutmostpatterns |
| #define kc_tag_outmostpatterns_Consoutmostpatterns impl_outmostpatterns_Consoutmostpatterns |
| #define kc_phylum_patternchainitem phylum_patternchainitem |
| #define kc_tag_patternchainitem_PatternchainitemOutmost impl_patternchainitem_PatternchainitemOutmost |
| #define kc_tag_patternchainitem_PatternchainitemGroup impl_patternchainitem_PatternchainitemGroup |
| #define kc_tag_patternchainitem_PatternchainitemDollarid impl_patternchainitem_PatternchainitemDollarid |
| #define kc_phylum_outmostpattern phylum_outmostpattern |
| #define kc_tag_outmostpattern_OPOperatorWildcard impl_outmostpattern_OPOperatorWildcard |
| #define kc_tag_outmostpattern_OPOperator impl_outmostpattern_OPOperator |
| #define kc_tag_outmostpattern_OPNonLeafVariable impl_outmostpattern_OPNonLeafVariable |
| #define kc_tag_outmostpattern_OPWildcard impl_outmostpattern_OPWildcard |
| #define kc_tag_outmostpattern_OPDefault impl_outmostpattern_OPDefault |
| #define kc_phylum_pattern phylum_pattern |
| #define kc_tag_pattern_PVariable impl_pattern_PVariable |
| #define kc_tag_pattern_POperator impl_pattern_POperator |
| #define kc_tag_pattern_PNonLeafVariable impl_pattern_PNonLeafVariable |
| #define kc_tag_pattern_PWildcard impl_pattern_PWildcard |
| #define kc_tag_pattern_PStringLiteral impl_pattern_PStringLiteral |
| #define kc_tag_pattern_PIntLiteral impl_pattern_PIntLiteral |
| #define kc_phylum_patterns phylum_patterns |
| #define kc_tag_patterns_Nilpatterns impl_patterns_Nilpatterns |
| #define kc_tag_patterns_Conspatterns impl_patterns_Conspatterns |
| #define kc_phylum_term phylum_term |
| #define kc_tag_term_TVariable impl_term_TVariable |
| #define kc_tag_term_TOperator impl_term_TOperator |
| #define kc_tag_term_TMethod impl_term_TMethod |
| #define kc_tag_term_TMethodDot impl_term_TMethodDot |
| #define kc_tag_term_TMemberVar impl_term_TMemberVar |
| #define kc_tag_term_TMemberVarDot impl_term_TMemberVarDot |
| #define kc_tag_term_TCTerm impl_term_TCTerm |
| #define kc_tag_term_TStringLiteral impl_term_TStringLiteral |
| #define kc_tag_term_TIntLiteral impl_term_TIntLiteral |
| #define kc_phylum_terms phylum_terms |
| #define kc_tag_terms_Nilterms impl_terms_Nilterms |
| #define kc_tag_terms_Consterms impl_terms_Consterms |
| #define kc_phylum_fnfiles phylum_fnfiles |
| #define kc_tag_fnfiles_Nilfnfiles impl_fnfiles_Nilfnfiles |
| #define kc_tag_fnfiles_Consfnfiles impl_fnfiles_Consfnfiles |
| #define kc_phylum_fnfile phylum_fnfile |
| #define kc_tag_fnfile_FnFile impl_fnfile_FnFile |
| #define kc_phylum_fndeclarations phylum_fndeclarations |
| #define kc_tag_fndeclarations_Nilfndeclarations impl_fndeclarations_Nilfndeclarations |
| #define kc_tag_fndeclarations_Consfndeclarations impl_fndeclarations_Consfndeclarations |
| #define kc_phylum_fndeclaration phylum_fndeclaration |
| #define kc_tag_fndeclaration_FnAcDeclaration impl_fndeclaration_FnAcDeclaration |
| #define kc_tag_fndeclaration_AcMemberDeclaration impl_fndeclaration_AcMemberDeclaration |
| #define kc_phylum_fnclass phylum_fnclass |
| #define kc_tag_fnclass_GlobalFn impl_fnclass_GlobalFn |
| #define kc_tag_fnclass_StaticFn impl_fnclass_StaticFn |
| #define kc_tag_fnclass_MemberFn impl_fnclass_MemberFn |
| #define kc_tag_fnclass_ConstructorFn impl_fnclass_ConstructorFn |
| #define kc_tag_fnclass_DestructorFn impl_fnclass_DestructorFn |
| #define kc_tag_fnclass_ConvOperatorFn impl_fnclass_ConvOperatorFn |
| #define kc_phylum_Ctext phylum_Ctext |
| #define kc_tag_Ctext_NilCtext impl_Ctext_NilCtext |
| #define kc_tag_Ctext_ConsCtext impl_Ctext_ConsCtext |
| #define kc_phylum_Ctext_elem phylum_Ctext_elem |
| #define kc_tag_Ctext_elem_CTextLine impl_Ctext_elem_CTextLine |
| #define kc_tag_Ctext_elem_CTextDollarVar impl_Ctext_elem_CTextDollarVar |
| #define kc_tag_Ctext_elem_CTextNl impl_Ctext_elem_CTextNl |
| #define kc_tag_Ctext_elem_CTextCexpressionDQ impl_Ctext_elem_CTextCexpressionDQ |
| #define kc_tag_Ctext_elem_CTextCexpressionSQ impl_Ctext_elem_CTextCexpressionSQ |
| #define kc_tag_Ctext_elem_CTextCbody impl_Ctext_elem_CTextCbody |
| #define kc_tag_Ctext_elem_CTextForeachexpression impl_Ctext_elem_CTextForeachexpression |
| #define kc_tag_Ctext_elem_CTextWithexpression impl_Ctext_elem_CTextWithexpression |
| #define kc_phylum_foreach_after phylum_foreach_after |
| #define kc_tag_foreach_after_NoForeachAfter impl_foreach_after_NoForeachAfter |
| #define kc_tag_foreach_after_ForeachAfter impl_foreach_after_ForeachAfter |
| #define kc_phylum_contextinfo phylum_contextinfo |
| #define kc_tag_contextinfo_InForeachContext impl_contextinfo_InForeachContext |
| #define kc_tag_contextinfo_NotInForeachContext impl_contextinfo_NotInForeachContext |
| #define kc_phylum_withexpressions phylum_withexpressions |
| #define kc_tag_withexpressions_Nilwithexpressions impl_withexpressions_Nilwithexpressions |
| #define kc_tag_withexpressions_Conswithexpressions impl_withexpressions_Conswithexpressions |
| #define kc_phylum_withexpression phylum_withexpression |
| #define kc_tag_withexpression_WEVariable impl_withexpression_WEVariable |
| #define kc_tag_withexpression_WECexpression impl_withexpression_WECexpression |
| #define kc_phylum_withcases phylum_withcases |
| #define kc_tag_withcases_Nilwithcases impl_withcases_Nilwithcases |
| #define kc_tag_withcases_Conswithcases impl_withcases_Conswithcases |
| #define kc_phylum_withcase phylum_withcase |
| #define kc_tag_withcase_Withcase impl_withcase_Withcase |
| #define kc_phylum_unparsedeclarations phylum_unparsedeclarations |
| #define kc_tag_unparsedeclarations_Nilunparsedeclarations impl_unparsedeclarations_Nilunparsedeclarations |
| #define kc_tag_unparsedeclarations_Consunparsedeclarations impl_unparsedeclarations_Consunparsedeclarations |
| #define kc_phylum_unparsedeclaration phylum_unparsedeclaration |
| #define kc_tag_unparsedeclaration_UnparseDeclaration impl_unparsedeclaration_UnparseDeclaration |
| #define kc_phylum_unparseclauses phylum_unparseclauses |
| #define kc_tag_unparseclauses_Nilunparseclauses impl_unparseclauses_Nilunparseclauses |
| #define kc_tag_unparseclauses_Consunparseclauses impl_unparseclauses_Consunparseclauses |
| #define kc_phylum_unparseclause phylum_unparseclause |
| #define kc_tag_unparseclause_UnparseClause impl_unparseclause_UnparseClause |
| #define kc_phylum_viewnames phylum_viewnames |
| #define kc_tag_viewnames_Nilviewnames impl_viewnames_Nilviewnames |
| #define kc_tag_viewnames_Consviewnames impl_viewnames_Consviewnames |
| #define kc_phylum_unparseitems phylum_unparseitems |
| #define kc_tag_unparseitems_Nilunparseitems impl_unparseitems_Nilunparseitems |
| #define kc_tag_unparseitems_Consunparseitems impl_unparseitems_Consunparseitems |
| #define kc_phylum_unparseitem phylum_unparseitem |
| #define kc_tag_unparseitem_UnpStr impl_unparseitem_UnpStr |
| #define kc_tag_unparseitem_UnpSubexpr impl_unparseitem_UnpSubexpr |
| #define kc_tag_unparseitem_UnpCtext impl_unparseitem_UnpCtext |
| #define kc_tag_unparseitem_UnpBody impl_unparseitem_UnpBody |
| #define kc_tag_unparseitem_UViewVarDecl impl_unparseitem_UViewVarDecl |
| #define kc_phylum_unpsubterm phylum_unpsubterm |
| #define kc_tag_unpsubterm_UnpSubTerm impl_unpsubterm_UnpSubTerm |
| #define kc_tag_unpsubterm_UnpDollarvarTerm impl_unpsubterm_UnpDollarvarTerm |
| #define kc_tag_unpsubterm_UnpSubAttr impl_unpsubterm_UnpSubAttr |
| #define kc_tag_unpsubterm_UnpDollarvarAttr impl_unpsubterm_UnpDollarvarAttr |
| #define kc_tag_unpsubterm_UnpCastedVariable impl_unpsubterm_UnpCastedVariable |
| #define kc_phylum_unpattributes phylum_unpattributes |
| #define kc_tag_unpattributes_Nilunpattributes impl_unpattributes_Nilunpattributes |
| #define kc_tag_unpattributes_Consunpattributes impl_unpattributes_Consunpattributes |
| #define kc_phylum_viewnameoption phylum_viewnameoption |
| #define kc_tag_viewnameoption_NoViewname impl_viewnameoption_NoViewname |
| #define kc_tag_viewnameoption_YesViewname impl_viewnameoption_YesViewname |
| #define kc_phylum_languageoption phylum_languageoption |
| #define kc_tag_languageoption_NoLanguagename impl_languageoption_NoLanguagename |
| #define kc_tag_languageoption_LanguageList impl_languageoption_LanguageList |
| #define kc_phylum_languagenames phylum_languagenames |
| #define kc_tag_languagenames_Nillanguagenames impl_languagenames_Nillanguagenames |
| #define kc_tag_languagenames_Conslanguagenames impl_languagenames_Conslanguagenames |
| #define kc_phylum_fileline phylum_fileline |
| #define kc_tag_fileline_FileLine impl_fileline_FileLine |
| #define kc_tag_fileline_NoFileLine impl_fileline_NoFileLine |
| #define kc_tag_fileline_PosNoFileLine impl_fileline_PosNoFileLine |
| #define kc_phylum_scopetypefilelinestack phylum_scopetypefilelinestack |
| #define kc_tag_scopetypefilelinestack_Nilscopetypefilelinestack impl_scopetypefilelinestack_Nilscopetypefilelinestack |
| #define kc_tag_scopetypefilelinestack_Consscopetypefilelinestack impl_scopetypefilelinestack_Consscopetypefilelinestack |
| #define kc_phylum_scopetypefileline phylum_scopetypefileline |
| #define kc_tag_scopetypefileline_ScopeTypeFileLine impl_scopetypefileline_ScopeTypeFileLine |
| #define kc_phylum_IDtype phylum_IDtype |
| #define kc_tag_IDtype_ITUnknown impl_IDtype_ITUnknown |
| #define kc_tag_IDtype_ITPredefinedPhylum impl_IDtype_ITPredefinedPhylum |
| #define kc_tag_IDtype_ITUserPhylum impl_IDtype_ITUserPhylum |
| #define kc_tag_IDtype_ITPredefinedOperator impl_IDtype_ITPredefinedOperator |
| #define kc_tag_IDtype_ITUserOperator impl_IDtype_ITUserOperator |
| #define kc_tag_IDtype_ITPredefinedStorageClass impl_IDtype_ITPredefinedStorageClass |
| #define kc_tag_IDtype_ITStorageClass impl_IDtype_ITStorageClass |
| #define kc_tag_IDtype_ITPredefinedUView impl_IDtype_ITPredefinedUView |
| #define kc_tag_IDtype_ITUserUView impl_IDtype_ITUserUView |
| #define kc_tag_IDtype_ITUViewVar impl_IDtype_ITUViewVar |
| #define kc_tag_IDtype_ITPredefinedRView impl_IDtype_ITPredefinedRView |
| #define kc_tag_IDtype_ITUserRView impl_IDtype_ITUserRView |
| #define kc_tag_IDtype_ITUserFunction impl_IDtype_ITUserFunction |
| #define kc_tag_IDtype_ITPatternVariable impl_IDtype_ITPatternVariable |
| #define kc_tag_IDtype_ITLanguageName impl_IDtype_ITLanguageName |
| #define kc_phylum_operators phylum_operators |
| #define kc_tag_operators_Niloperators impl_operators_Niloperators |
| #define kc_tag_operators_Consoperators impl_operators_Consoperators |
| #define kc_phylum_phyla phylum_phyla |
| #define kc_tag_phyla_Nilphyla impl_phyla_Nilphyla |
| #define kc_tag_phyla_Consphyla impl_phyla_Consphyla |
| #define kc_phylum_variables phylum_variables |
| #define kc_tag_variables_Nilvariables impl_variables_Nilvariables |
| #define kc_tag_variables_Consvariables impl_variables_Consvariables |
| #define kc_phylum_dollarvarstatus phylum_dollarvarstatus |
| #define kc_tag_dollarvarstatus_DVAllowed impl_dollarvarstatus_DVAllowed |
| #define kc_tag_dollarvarstatus_DVDisallowed impl_dollarvarstatus_DVDisallowed |
| #define kc_phylum_tribool phylum_tribool |
| #define kc_tag_tribool_Equal impl_tribool_Equal |
| #define kc_tag_tribool_Smaller impl_tribool_Smaller |
| #define kc_tag_tribool_Bigger impl_tribool_Bigger |
| #define kc_phylum_patternrepresentations phylum_patternrepresentations |
| #define kc_tag_patternrepresentations_Nilpatternrepresentations impl_patternrepresentations_Nilpatternrepresentations |
| #define kc_tag_patternrepresentations_Conspatternrepresentations impl_patternrepresentations_Conspatternrepresentations |
| #define kc_phylum_patternrepresentation phylum_patternrepresentation |
| #define kc_tag_patternrepresentation_Nilpatternrepresentation impl_patternrepresentation_Nilpatternrepresentation |
| #define kc_tag_patternrepresentation_Conspatternrepresentation impl_patternrepresentation_Conspatternrepresentation |
| #define kc_phylum_elem_patternrepresentation phylum_elem_patternrepresentation |
| #define kc_tag_elem_patternrepresentation_PRBinding impl_elem_patternrepresentation_PRBinding |
| #define kc_tag_elem_patternrepresentation_PRVarPredicate impl_elem_patternrepresentation_PRVarPredicate |
| #define kc_tag_elem_patternrepresentation_PROperPredicate impl_elem_patternrepresentation_PROperPredicate |
| #define kc_tag_elem_patternrepresentation_PRUserPredicate impl_elem_patternrepresentation_PRUserPredicate |
| #define kc_tag_elem_patternrepresentation_PRNonLeafBinding impl_elem_patternrepresentation_PRNonLeafBinding |
| #define kc_tag_elem_patternrepresentation_PRWildcard impl_elem_patternrepresentation_PRWildcard |
| #define kc_tag_elem_patternrepresentation_PRDefault impl_elem_patternrepresentation_PRDefault |
| #define kc_tag_elem_patternrepresentation_PRStringLiteral impl_elem_patternrepresentation_PRStringLiteral |
| #define kc_tag_elem_patternrepresentation_PRIntLiteral impl_elem_patternrepresentation_PRIntLiteral |
| #define kc_phylum_path phylum_path |
| #define kc_tag_path_Nilpath impl_path_Nilpath |
| #define kc_tag_path_Conspath impl_path_Conspath |
| #define kc_phylum_paths phylum_paths |
| #define kc_tag_paths_Nilpaths impl_paths_Nilpaths |
| #define kc_tag_paths_Conspaths impl_paths_Conspaths |
| #define kc_phylum_argsnumbers phylum_argsnumbers |
| #define kc_tag_argsnumbers_Nilargsnumbers impl_argsnumbers_Nilargsnumbers |
| #define kc_tag_argsnumbers_Consargsnumbers impl_argsnumbers_Consargsnumbers |
| #define kc_phylum_rewriterulesinfo phylum_rewriterulesinfo |
| #define kc_tag_rewriterulesinfo_Nilrewriterulesinfo impl_rewriterulesinfo_Nilrewriterulesinfo |
| #define kc_tag_rewriterulesinfo_Consrewriterulesinfo impl_rewriterulesinfo_Consrewriterulesinfo |
| #define kc_phylum_rewriteruleinfo phylum_rewriteruleinfo |
| #define kc_tag_rewriteruleinfo_Rewriteruleinfo impl_rewriteruleinfo_Rewriteruleinfo |
| #define kc_phylum_withcasesinfo phylum_withcasesinfo |
| #define kc_tag_withcasesinfo_Nilwithcasesinfo impl_withcasesinfo_Nilwithcasesinfo |
| #define kc_tag_withcasesinfo_Conswithcasesinfo impl_withcasesinfo_Conswithcasesinfo |
| #define kc_phylum_withcaseinfo phylum_withcaseinfo |
| #define kc_tag_withcaseinfo_Withcaseinfo impl_withcaseinfo_Withcaseinfo |
| #define kc_phylum_rewriteviewsinfo phylum_rewriteviewsinfo |
| #define kc_tag_rewriteviewsinfo_Nilrewriteviewsinfo impl_rewriteviewsinfo_Nilrewriteviewsinfo |
| #define kc_tag_rewriteviewsinfo_Consrewriteviewsinfo impl_rewriteviewsinfo_Consrewriteviewsinfo |
| #define kc_phylum_rewriteviewinfo phylum_rewriteviewinfo |
| #define kc_tag_rewriteviewinfo_Rewriteviewinfo impl_rewriteviewinfo_Rewriteviewinfo |
| #define kc_phylum_unparseviewsinfo phylum_unparseviewsinfo |
| #define kc_tag_unparseviewsinfo_Nilunparseviewsinfo impl_unparseviewsinfo_Nilunparseviewsinfo |
| #define kc_tag_unparseviewsinfo_Consunparseviewsinfo impl_unparseviewsinfo_Consunparseviewsinfo |
| #define kc_phylum_unparseviewinfo phylum_unparseviewinfo |
| #define kc_tag_unparseviewinfo_Unparseviewinfo impl_unparseviewinfo_Unparseviewinfo |
| #define kc_phylum_unparsedeclsinfo phylum_unparsedeclsinfo |
| #define kc_tag_unparsedeclsinfo_Nilunparsedeclsinfo impl_unparsedeclsinfo_Nilunparsedeclsinfo |
| #define kc_tag_unparsedeclsinfo_Consunparsedeclsinfo impl_unparsedeclsinfo_Consunparsedeclsinfo |
| #define kc_phylum_unparsedeclinfo phylum_unparsedeclinfo |
| #define kc_tag_unparsedeclinfo_Unparsedeclinfo impl_unparsedeclinfo_Unparsedeclinfo |
| #define kc_phylum_ac_declaration phylum_ac_declaration |
| #define kc_tag_ac_declaration_AcDeclaration impl_ac_declaration_AcDeclaration |
| #define kc_phylum_ac_declaration_list phylum_ac_declaration_list |
| #define kc_tag_ac_declaration_list_Nilac_declaration_list impl_ac_declaration_list_Nilac_declaration_list |
| #define kc_tag_ac_declaration_list_Consac_declaration_list impl_ac_declaration_list_Consac_declaration_list |
| #define kc_phylum_ac_declaration_specifiers phylum_ac_declaration_specifiers |
| #define kc_tag_ac_declaration_specifiers_Nilac_declaration_specifiers impl_ac_declaration_specifiers_Nilac_declaration_specifiers |
| #define kc_tag_ac_declaration_specifiers_Consac_declaration_specifiers impl_ac_declaration_specifiers_Consac_declaration_specifiers |
| #define kc_phylum_ac_declaration_specifier phylum_ac_declaration_specifier |
| #define kc_tag_ac_declaration_specifier_AcDeclSpecStorageSpec impl_ac_declaration_specifier_AcDeclSpecStorageSpec |
| #define kc_tag_ac_declaration_specifier_AcDeclSpecTypeSpec impl_ac_declaration_specifier_AcDeclSpecTypeSpec |
| #define kc_tag_ac_declaration_specifier_AcDeclSpecTypeQual impl_ac_declaration_specifier_AcDeclSpecTypeQual |
| #define kc_phylum_ac_storage_class_specifier phylum_ac_storage_class_specifier |
| #define kc_tag_ac_storage_class_specifier_AcAuto impl_ac_storage_class_specifier_AcAuto |
| #define kc_tag_ac_storage_class_specifier_AcRegister impl_ac_storage_class_specifier_AcRegister |
| #define kc_tag_ac_storage_class_specifier_AcStatic impl_ac_storage_class_specifier_AcStatic |
| #define kc_tag_ac_storage_class_specifier_AcExtern impl_ac_storage_class_specifier_AcExtern |
| #define kc_tag_ac_storage_class_specifier_AcTypedef impl_ac_storage_class_specifier_AcTypedef |
| #define kc_tag_ac_storage_class_specifier_AcVirtual impl_ac_storage_class_specifier_AcVirtual |
| #define kc_phylum_ac_type_specifier phylum_ac_type_specifier |
| #define kc_tag_ac_type_specifier_AcTypeSpec impl_ac_type_specifier_AcTypeSpec |
| #define kc_phylum_ac_type_qualifier phylum_ac_type_qualifier |
| #define kc_tag_ac_type_qualifier_AcConst impl_ac_type_qualifier_AcConst |
| #define kc_tag_ac_type_qualifier_AcVolatile impl_ac_type_qualifier_AcVolatile |
| #define kc_tag_ac_type_qualifier_AcUnsigned impl_ac_type_qualifier_AcUnsigned |
| #define kc_tag_ac_type_qualifier_AcNoQualifier impl_ac_type_qualifier_AcNoQualifier |
| #define kc_phylum_ac_init_declarator_list phylum_ac_init_declarator_list |
| #define kc_tag_ac_init_declarator_list_Nilac_init_declarator_list impl_ac_init_declarator_list_Nilac_init_declarator_list |
| #define kc_tag_ac_init_declarator_list_Consac_init_declarator_list impl_ac_init_declarator_list_Consac_init_declarator_list |
| #define kc_phylum_ac_init_declarator phylum_ac_init_declarator |
| #define kc_tag_ac_init_declarator_AcInitDecl impl_ac_init_declarator_AcInitDecl |
| #define kc_phylum_ac_declarator phylum_ac_declarator |
| #define kc_tag_ac_declarator_AcDeclarator impl_ac_declarator_AcDeclarator |
| #define kc_phylum_ac_direct_declarator phylum_ac_direct_declarator |
| #define kc_tag_ac_direct_declarator_AcDirectDeclId impl_ac_direct_declarator_AcDirectDeclId |
| #define kc_tag_ac_direct_declarator_AcDirectDeclPack impl_ac_direct_declarator_AcDirectDeclPack |
| #define kc_tag_ac_direct_declarator_AcDirectDeclArray impl_ac_direct_declarator_AcDirectDeclArray |
| #define kc_tag_ac_direct_declarator_AcDirectDeclProto impl_ac_direct_declarator_AcDirectDeclProto |
| #define kc_tag_ac_direct_declarator_AcQualifiedDeclProto impl_ac_direct_declarator_AcQualifiedDeclProto |
| #define kc_tag_ac_direct_declarator_AcMemberDecl impl_ac_direct_declarator_AcMemberDecl |
| #define kc_tag_ac_direct_declarator_AcConvOperatorDecl impl_ac_direct_declarator_AcConvOperatorDecl |
| #define kc_tag_ac_direct_declarator_AcOperatorDeclId impl_ac_direct_declarator_AcOperatorDeclId |
| #define kc_phylum_ac_pointer_option phylum_ac_pointer_option |
| #define kc_tag_ac_pointer_option_Nopointer impl_ac_pointer_option_Nopointer |
| #define kc_tag_ac_pointer_option_Yespointer impl_ac_pointer_option_Yespointer |
| #define kc_phylum_ac_pointer phylum_ac_pointer |
| #define kc_tag_ac_pointer_AcPointerNil impl_ac_pointer_AcPointerNil |
| #define kc_tag_ac_pointer_AcPointerCons impl_ac_pointer_AcPointerCons |
| #define kc_phylum_ac_ref_option phylum_ac_ref_option |
| #define kc_tag_ac_ref_option_AcNoRef impl_ac_ref_option_AcNoRef |
| #define kc_tag_ac_ref_option_AcRef impl_ac_ref_option_AcRef |
| #define kc_phylum_ac_operator_name phylum_ac_operator_name |
| #define kc_tag_ac_operator_name_AcOperatorName impl_ac_operator_name_AcOperatorName |
| #define kc_phylum_ac_class_qualifier_help_list phylum_ac_class_qualifier_help_list |
| #define kc_tag_ac_class_qualifier_help_list_Nilac_class_qualifier_help_list impl_ac_class_qualifier_help_list_Nilac_class_qualifier_help_list |
| #define kc_tag_ac_class_qualifier_help_list_Consac_class_qualifier_help_list impl_ac_class_qualifier_help_list_Consac_class_qualifier_help_list |
| #define kc_phylum_ac_class_qualifier_list phylum_ac_class_qualifier_list |
| #define kc_tag_ac_class_qualifier_list_Nilac_class_qualifier_list impl_ac_class_qualifier_list_Nilac_class_qualifier_list |
| #define kc_tag_ac_class_qualifier_list_Consac_class_qualifier_list impl_ac_class_qualifier_list_Consac_class_qualifier_list |
| #define kc_phylum_ac_type_qualifier_list phylum_ac_type_qualifier_list |
| #define kc_tag_ac_type_qualifier_list_Nilac_type_qualifier_list impl_ac_type_qualifier_list_Nilac_type_qualifier_list |
| #define kc_tag_ac_type_qualifier_list_Consac_type_qualifier_list impl_ac_type_qualifier_list_Consac_type_qualifier_list |
| #define kc_phylum_ac_parameter_type_list phylum_ac_parameter_type_list |
| #define kc_tag_ac_parameter_type_list_AcParList impl_ac_parameter_type_list_AcParList |
| #define kc_tag_ac_parameter_type_list_AcParList3Dot impl_ac_parameter_type_list_AcParList3Dot |
| #define kc_phylum_ac_parameter_list phylum_ac_parameter_list |
| #define kc_tag_ac_parameter_list_Nilac_parameter_list impl_ac_parameter_list_Nilac_parameter_list |
| #define kc_tag_ac_parameter_list_Consac_parameter_list impl_ac_parameter_list_Consac_parameter_list |
| #define kc_phylum_ac_parameter_declaration phylum_ac_parameter_declaration |
| #define kc_tag_ac_parameter_declaration_AcParDeclDecl impl_ac_parameter_declaration_AcParDeclDecl |
| #define kc_tag_ac_parameter_declaration_AcParDeclAbsdecl impl_ac_parameter_declaration_AcParDeclAbsdecl |
| #define kc_phylum_ac_identifier_list phylum_ac_identifier_list |
| #define kc_tag_ac_identifier_list_Nilac_identifier_list impl_ac_identifier_list_Nilac_identifier_list |
| #define kc_tag_ac_identifier_list_Consac_identifier_list impl_ac_identifier_list_Consac_identifier_list |
| #define kc_phylum_ac_abstract_declarator phylum_ac_abstract_declarator |
| #define kc_tag_ac_abstract_declarator_AcAbsdeclPointer impl_ac_abstract_declarator_AcAbsdeclPointer |
| #define kc_tag_ac_abstract_declarator_AcAbsdeclDirdecl impl_ac_abstract_declarator_AcAbsdeclDirdecl |
| #define kc_phylum_ac_direct_abstract_declarator_option phylum_ac_direct_abstract_declarator_option |
| #define kc_tag_ac_direct_abstract_declarator_option_Noac_direct_abstract_declarator impl_ac_direct_abstract_declarator_option_Noac_direct_abstract_declarator |
| #define kc_tag_ac_direct_abstract_declarator_option_Yesac_direct_abstract_declarator impl_ac_direct_abstract_declarator_option_Yesac_direct_abstract_declarator |
| #define kc_phylum_ac_direct_abstract_declarator phylum_ac_direct_abstract_declarator |
| #define kc_tag_ac_direct_abstract_declarator_AcDirAbsdeclPack impl_ac_direct_abstract_declarator_AcDirAbsdeclPack |
| #define kc_tag_ac_direct_abstract_declarator_AcDirAbsdeclArray impl_ac_direct_abstract_declarator_AcDirAbsdeclArray |
| #define kc_tag_ac_direct_abstract_declarator_AcDirAbsdeclFn impl_ac_direct_abstract_declarator_AcDirAbsdeclFn |
| #define kc_phylum_ac_constant_expression_option phylum_ac_constant_expression_option |
| #define kc_tag_ac_constant_expression_option_Yesac_constant_expression impl_ac_constant_expression_option_Yesac_constant_expression |
| #define kc_tag_ac_constant_expression_option_Noac_constant_expression impl_ac_constant_expression_option_Noac_constant_expression |
| #define kc_phylum_ac_constant_expression phylum_ac_constant_expression |
| #define kc_tag_ac_constant_expression_AcConstExpr impl_ac_constant_expression_AcConstExpr |
| #define kc_phylum_ac_constant_expression_list phylum_ac_constant_expression_list |
| #define kc_tag_ac_constant_expression_list_Nilac_constant_expression_list impl_ac_constant_expression_list_Nilac_constant_expression_list |
| #define kc_tag_ac_constant_expression_list_Consac_constant_expression_list impl_ac_constant_expression_list_Consac_constant_expression_list |
| #define kc_phylum_ac_opt_base_init_list phylum_ac_opt_base_init_list |
| #define kc_tag_ac_opt_base_init_list_AcNoBaseInit impl_ac_opt_base_init_list_AcNoBaseInit |
| #define kc_tag_ac_opt_base_init_list_AcYesBaseInit impl_ac_opt_base_init_list_AcYesBaseInit |
| #define kc_phylum_ac_base_init_list phylum_ac_base_init_list |
| #define kc_tag_ac_base_init_list_Nilac_base_init_list impl_ac_base_init_list_Nilac_base_init_list |
| #define kc_tag_ac_base_init_list_Consac_base_init_list impl_ac_base_init_list_Consac_base_init_list |
| #define kc_phylum_ac_base_init phylum_ac_base_init |
| #define kc_tag_ac_base_init_AcBaseInit impl_ac_base_init_AcBaseInit |
| #define kc_phylum_baseclass_declarations phylum_baseclass_declarations |
| #define kc_tag_baseclass_declarations_Nilbaseclass_declarations impl_baseclass_declarations_Nilbaseclass_declarations |
| #define kc_tag_baseclass_declarations_Consbaseclass_declarations impl_baseclass_declarations_Consbaseclass_declarations |
| #define kc_phylum_baseclass_decl phylum_baseclass_decl |
| #define kc_tag_baseclass_decl_BaseClassDecl impl_baseclass_decl_BaseClassDecl |
| #define kc_phylum_baseclass_list phylum_baseclass_list |
| #define kc_tag_baseclass_list_Nilbaseclass_list impl_baseclass_list_Nilbaseclass_list |
| #define kc_tag_baseclass_list_Consbaseclass_list impl_baseclass_list_Consbaseclass_list |
| #define kc_phylum_error phylum_error |
| #define kc_tag_error_Fatal impl_error_Fatal |
| #define kc_tag_error_NonFatal impl_error_NonFatal |
| #define kc_tag_error_Warning impl_error_Warning |
| #define kc_phylum_problem phylum_problem |
| #define kc_tag_problem_Problem1 impl_problem_Problem1 |
| #define kc_tag_problem_Problem1ID impl_problem_Problem1ID |
| #define kc_tag_problem_Problem1tID impl_problem_Problem1tID |
| #define kc_tag_problem_Problem1we impl_problem_Problem1we |
| #define kc_tag_problem_Problem1ID1ID impl_problem_Problem1ID1ID |
| #define kc_tag_problem_Problem1t1ID impl_problem_Problem1t1ID |
| #define kc_tag_problem_Problem1INT impl_problem_Problem1INT |
| #define kc_tag_problem_Problem1int1 impl_problem_Problem1int1 |
| #define kc_tag_problem_Problem1INT1ID impl_problem_Problem1INT1ID |
| #define kc_tag_problem_Problem1ID1ID1ID impl_problem_Problem1ID1ID1ID |
| #define kc_tag_problem_Problem1INT1ID1ID impl_problem_Problem1INT1ID1ID |
| #define kc_tag_problem_Problem1storageoption1ID impl_problem_Problem1storageoption1ID |
| #define kc_tag_problem_Problem2 impl_problem_Problem2 |
| #define kc_tag_problem_Problem3 impl_problem_Problem3 |
| #define kc_tag_problem_Problem3int1 impl_problem_Problem3int1 |
| #define kc_tag_problem_Problem4 impl_problem_Problem4 |
| #define kc_tag_problem_Problem5 impl_problem_Problem5 |
| #define kc_tag_problem_Problem6 impl_problem_Problem6 |
| #define kc_phylum_addedphylumdeclarations phylum_addedphylumdeclarations |
| #define kc_tag_addedphylumdeclarations_Niladdedphylumdeclarations impl_addedphylumdeclarations_Niladdedphylumdeclarations |
| #define kc_tag_addedphylumdeclarations_Consaddedphylumdeclarations impl_addedphylumdeclarations_Consaddedphylumdeclarations |
| #define kc_phylum_addedphylumdeclaration phylum_addedphylumdeclaration |
| #define kc_tag_addedphylumdeclaration_AddedPhylumdeclaration impl_addedphylumdeclaration_AddedPhylumdeclaration |
| #define kc_phylum_countedphylumdeclarations phylum_countedphylumdeclarations |
| #define kc_tag_countedphylumdeclarations_Nilcountedphylumdeclarations impl_countedphylumdeclarations_Nilcountedphylumdeclarations |
| #define kc_tag_countedphylumdeclarations_Conscountedphylumdeclarations impl_countedphylumdeclarations_Conscountedphylumdeclarations |
| #define kc_phylum_countedphylumdeclaration phylum_countedphylumdeclaration |
| #define kc_tag_countedphylumdeclaration_CountedPhylumdeclaration impl_countedphylumdeclaration_CountedPhylumdeclaration |
| #define kc_phylum_charruns phylum_charruns |
| #define kc_tag_charruns_Newlines impl_charruns_Newlines |
| #define kc_tag_charruns_QuotedNewlines impl_charruns_QuotedNewlines |
| #define kc_tag_charruns_Stars impl_charruns_Stars |
| #define kc_phylum_bindingidmarks phylum_bindingidmarks |
| #define kc_tag_bindingidmarks_Nilbindingidmarks impl_bindingidmarks_Nilbindingidmarks |
| #define kc_tag_bindingidmarks_Consbindingidmarks impl_bindingidmarks_Consbindingidmarks |
| #define kc_phylum_bindingidmark phylum_bindingidmark |
| #define kc_tag_bindingidmark_BindingIdMark impl_bindingidmark_BindingIdMark |
| |
| #endif // KC_DEPRECATED |
| |
| // Some compilers are too stupid to detect that a function will always return |
| // a proper value when it returns one in all branches of an if- or switch- |
| // statement (with final else or default, of course). |
| #if !defined __GNUC__ |
| # define NORETURN throw 0; |
| #else |
| # define NORETURN |
| #endif |
| |
| namespace kc { |
| |
| |
| typedef enum { one_before_first_phylum = 0 , |
| phylum_nocasestring = 1, |
| phylum_casestring = 2, |
| phylum_real = 3, |
| phylum_integer = 4, |
| phylum_voidptr = 5, |
| phylum_uniqID = 6, |
| phylum_ID = 7, |
| phylum_INT = 8, |
| phylum_STRING = 9, |
| phylum_phylumdeclarationsroot = 10, |
| phylum_phylumdeclarations = 11, |
| phylum_phylumnames = 12, |
| phylum_phylumdeclaration = 13, |
| phylum_storageoption = 14, |
| phylum_storageclasses = 15, |
| phylum_productionblock = 16, |
| phylum_alternatives = 17, |
| phylum_alternative = 18, |
| phylum_arguments = 19, |
| phylum_argument = 20, |
| phylum_Ccode_option = 21, |
| phylum_attributes = 22, |
| phylum_attribute = 23, |
| phylum_attribute_initialisation_option = 24, |
| phylum_Cexpression = 25, |
| phylum_Cexpression_elem = 26, |
| phylum_CexpressionDQ = 27, |
| phylum_CexpressionDQ_elem = 28, |
| phylum_CexpressionSQ = 29, |
| phylum_CexpressionSQ_elem = 30, |
| phylum_idCexpressions = 31, |
| phylum_idCexpression = 32, |
| phylum_Ctexts = 33, |
| phylum_includefiles = 34, |
| phylum_includefile = 35, |
| phylum_includedeclarations = 36, |
| phylum_includedeclaration = 37, |
| phylum_rwdeclarations = 38, |
| phylum_rwdeclaration = 39, |
| phylum_rewriteclauses = 40, |
| phylum_rewriteclause = 41, |
| phylum_patternchains = 42, |
| phylum_patternchain = 43, |
| phylum_outmostpatterns = 44, |
| phylum_patternchainitem = 45, |
| phylum_outmostpattern = 46, |
| phylum_pattern = 47, |
| phylum_patterns = 48, |
| phylum_term = 49, |
| phylum_terms = 50, |
| phylum_fnfiles = 51, |
| phylum_fnfile = 52, |
| phylum_fndeclarations = 53, |
| phylum_fndeclaration = 54, |
| phylum_fnclass = 55, |
| phylum_Ctext = 56, |
| phylum_Ctext_elem = 57, |
| phylum_foreach_after = 58, |
| phylum_contextinfo = 59, |
| phylum_withexpressions = 60, |
| phylum_withexpression = 61, |
| phylum_withcases = 62, |
| phylum_withcase = 63, |
| phylum_unparsedeclarations = 64, |
| phylum_unparsedeclaration = 65, |
| phylum_unparseclauses = 66, |
| phylum_unparseclause = 67, |
| phylum_viewnames = 68, |
| phylum_unparseitems = 69, |
| phylum_unparseitem = 70, |
| phylum_unpsubterm = 71, |
| phylum_unpattributes = 72, |
| phylum_viewnameoption = 73, |
| phylum_languageoption = 74, |
| phylum_languagenames = 75, |
| phylum_fileline = 76, |
| phylum_scopetypefilelinestack = 77, |
| phylum_scopetypefileline = 78, |
| phylum_IDtype = 79, |
| phylum_operators = 80, |
| phylum_phyla = 81, |
| phylum_variables = 82, |
| phylum_dollarvarstatus = 83, |
| phylum_tribool = 84, |
| phylum_patternrepresentations = 85, |
| phylum_patternrepresentation = 86, |
| phylum_elem_patternrepresentation = 87, |
| phylum_path = 88, |
| phylum_paths = 89, |
| phylum_argsnumbers = 90, |
| phylum_rewriterulesinfo = 91, |
| phylum_rewriteruleinfo = 92, |
| phylum_withcasesinfo = 93, |
| phylum_withcaseinfo = 94, |
| phylum_rewriteviewsinfo = 95, |
| phylum_rewriteviewinfo = 96, |
| phylum_unparseviewsinfo = 97, |
| phylum_unparseviewinfo = 98, |
| phylum_unparsedeclsinfo = 99, |
| phylum_unparsedeclinfo = 100, |
| phylum_ac_declaration = 101, |
| phylum_ac_declaration_list = 102, |
| phylum_ac_declaration_specifiers = 103, |
| phylum_ac_declaration_specifier = 104, |
| phylum_ac_storage_class_specifier = 105, |
| phylum_ac_type_specifier = 106, |
| phylum_ac_type_qualifier = 107, |
| phylum_ac_init_declarator_list = 108, |
| phylum_ac_init_declarator = 109, |
| phylum_ac_declarator = 110, |
| phylum_ac_direct_declarator = 111, |
| phylum_ac_pointer_option = 112, |
| phylum_ac_pointer = 113, |
| phylum_ac_ref_option = 114, |
| phylum_ac_operator_name = 115, |
| phylum_ac_class_qualifier_help_list = 116, |
| phylum_ac_class_qualifier_list = 117, |
| phylum_ac_type_qualifier_list = 118, |
| phylum_ac_parameter_type_list = 119, |
| phylum_ac_parameter_list = 120, |
| phylum_ac_parameter_declaration = 121, |
| phylum_ac_identifier_list = 122, |
| phylum_ac_abstract_declarator = 123, |
| phylum_ac_direct_abstract_declarator_option = 124, |
| phylum_ac_direct_abstract_declarator = 125, |
| phylum_ac_constant_expression_option = 126, |
| phylum_ac_constant_expression = 127, |
| phylum_ac_constant_expression_list = 128, |
| phylum_ac_opt_base_init_list = 129, |
| phylum_ac_base_init_list = 130, |
| phylum_ac_base_init = 131, |
| phylum_baseclass_declarations = 132, |
| phylum_baseclass_decl = 133, |
| phylum_baseclass_list = 134, |
| phylum_error = 135, |
| phylum_problem = 136, |
| phylum_addedphylumdeclarations = 137, |
| phylum_addedphylumdeclaration = 138, |
| phylum_countedphylumdeclarations = 139, |
| phylum_countedphylumdeclaration = 140, |
| phylum_charruns = 141, |
| phylum_bindingidmarks = 142, |
| phylum_bindingidmark = 143, |
| last_phylum = 144 |
| } enum_phyla; |
| |
| typedef enum { one_before_first_operator = 0 , |
| sel_NoCaseStr = 1, |
| sel__Str = 2, |
| sel__Real = 3, |
| sel__Int = 4, |
| sel__VoidPtr = 5, |
| sel_Str = 6, |
| sel_Id = 7, |
| sel_Int = 8, |
| sel_String = 9, |
| sel_PhylumDeclarations = 10, |
| sel_Nilphylumdeclarations = 11, |
| sel_Consphylumdeclarations = 12, |
| sel_Nilphylumnames = 13, |
| sel_Consphylumnames = 14, |
| sel_PhylumDeclaration = 15, |
| sel_NoStorageOption = 16, |
| sel_NegativeStorageOption = 17, |
| sel_PositiveStorageOption = 18, |
| sel_Nilstorageclasses = 19, |
| sel_Consstorageclasses = 20, |
| sel_Emptyproductionblock = 21, |
| sel_ListAlternatives = 22, |
| sel_NonlistAlternatives = 23, |
| sel_PredefinedAlternatives = 24, |
| sel_Nilalternatives = 25, |
| sel_Consalternatives = 26, |
| sel_Alternative = 27, |
| sel_Nilarguments = 28, |
| sel_Consarguments = 29, |
| sel_Argument = 30, |
| sel_CcodeOption = 31, |
| sel_Nilattributes = 32, |
| sel_Consattributes = 33, |
| sel_Attribute = 34, |
| sel_Noattribute_initialisation = 35, |
| sel_Yesattribute_initialisation = 36, |
| sel_NilCexpression = 37, |
| sel_ConsCexpression = 38, |
| sel_CExpressionPart = 39, |
| sel_CExpressionDollarvar = 40, |
| sel_CExpressionNl = 41, |
| sel_CExpressionDQ = 42, |
| sel_CExpressionSQ = 43, |
| sel_CExpressionPack = 44, |
| sel_CExpressionArray = 45, |
| sel_NilCexpressionDQ = 46, |
| sel_ConsCexpressionDQ = 47, |
| sel_CExpressionDQPart = 48, |
| sel_CExpressionDQNl = 49, |
| sel_NilCexpressionSQ = 50, |
| sel_ConsCexpressionSQ = 51, |
| sel_CExpressionSQPart = 52, |
| sel_CExpressionSQNl = 53, |
| sel_NilidCexpressions = 54, |
| sel_ConsidCexpressions = 55, |
| sel_IdCexpression = 56, |
| sel_NilCtexts = 57, |
| sel_ConsCtexts = 58, |
| sel_Nilincludefiles = 59, |
| sel_Consincludefiles = 60, |
| sel_IncludeFile = 61, |
| sel_Nilincludedeclarations = 62, |
| sel_Consincludedeclarations = 63, |
| sel_IncludeDeclaration = 64, |
| sel_Nilrwdeclarations = 65, |
| sel_Consrwdeclarations = 66, |
| sel_RwDeclaration = 67, |
| sel_Nilrewriteclauses = 68, |
| sel_Consrewriteclauses = 69, |
| sel_RewriteClause = 70, |
| sel_Nilpatternchains = 71, |
| sel_Conspatternchains = 72, |
| sel_Nilpatternchain = 73, |
| sel_Conspatternchain = 74, |
| sel_Niloutmostpatterns = 75, |
| sel_Consoutmostpatterns = 76, |
| sel_PatternchainitemOutmost = 77, |
| sel_PatternchainitemGroup = 78, |
| sel_PatternchainitemDollarid = 79, |
| sel_OPOperatorWildcard = 80, |
| sel_OPOperator = 81, |
| sel_OPNonLeafVariable = 82, |
| sel_OPWildcard = 83, |
| sel_OPDefault = 84, |
| sel_PVariable = 85, |
| sel_POperator = 86, |
| sel_PNonLeafVariable = 87, |
| sel_PWildcard = 88, |
| sel_PStringLiteral = 89, |
| sel_PIntLiteral = 90, |
| sel_Nilpatterns = 91, |
| sel_Conspatterns = 92, |
| sel_TVariable = 93, |
| sel_TOperator = 94, |
| sel_TMethod = 95, |
| sel_TMethodDot = 96, |
| sel_TMemberVar = 97, |
| sel_TMemberVarDot = 98, |
| sel_TCTerm = 99, |
| sel_TStringLiteral = 100, |
| sel_TIntLiteral = 101, |
| sel_Nilterms = 102, |
| sel_Consterms = 103, |
| sel_Nilfnfiles = 104, |
| sel_Consfnfiles = 105, |
| sel_FnFile = 106, |
| sel_Nilfndeclarations = 107, |
| sel_Consfndeclarations = 108, |
| sel_FnAcDeclaration = 109, |
| sel_AcMemberDeclaration = 110, |
| sel_GlobalFn = 111, |
| sel_StaticFn = 112, |
| sel_MemberFn = 113, |
| sel_ConstructorFn = 114, |
| sel_DestructorFn = 115, |
| sel_ConvOperatorFn = 116, |
| sel_NilCtext = 117, |
| sel_ConsCtext = 118, |
| sel_CTextLine = 119, |
| sel_CTextDollarVar = 120, |
| sel_CTextNl = 121, |
| sel_CTextCexpressionDQ = 122, |
| sel_CTextCexpressionSQ = 123, |
| sel_CTextCbody = 124, |
| sel_CTextForeachexpression = 125, |
| sel_CTextWithexpression = 126, |
| sel_NoForeachAfter = 127, |
| sel_ForeachAfter = 128, |
| sel_InForeachContext = 129, |
| sel_NotInForeachContext = 130, |
| sel_Nilwithexpressions = 131, |
| sel_Conswithexpressions = 132, |
| sel_WEVariable = 133, |
| sel_WECexpression = 134, |
| sel_Nilwithcases = 135, |
| sel_Conswithcases = 136, |
| sel_Withcase = 137, |
| sel_Nilunparsedeclarations = 138, |
| sel_Consunparsedeclarations = 139, |
| sel_UnparseDeclaration = 140, |
| sel_Nilunparseclauses = 141, |
| sel_Consunparseclauses = 142, |
| sel_UnparseClause = 143, |
| sel_Nilviewnames = 144, |
| sel_Consviewnames = 145, |
| sel_Nilunparseitems = 146, |
| sel_Consunparseitems = 147, |
| sel_UnpStr = 148, |
| sel_UnpSubexpr = 149, |
| sel_UnpCtext = 150, |
| sel_UnpBody = 151, |
| sel_UViewVarDecl = 152, |
| sel_UnpSubTerm = 153, |
| sel_UnpDollarvarTerm = 154, |
| sel_UnpSubAttr = 155, |
| sel_UnpDollarvarAttr = 156, |
| sel_UnpCastedVariable = 157, |
| sel_Nilunpattributes = 158, |
| sel_Consunpattributes = 159, |
| sel_NoViewname = 160, |
| sel_YesViewname = 161, |
| sel_NoLanguagename = 162, |
| sel_LanguageList = 163, |
| sel_Nillanguagenames = 164, |
| sel_Conslanguagenames = 165, |
| sel_FileLine = 166, |
| sel_NoFileLine = 167, |
| sel_PosNoFileLine = 168, |
| sel_Nilscopetypefilelinestack = 169, |
| sel_Consscopetypefilelinestack = 170, |
| sel_ScopeTypeFileLine = 171, |
| sel_ITUnknown = 172, |
| sel_ITPredefinedPhylum = 173, |
| sel_ITUserPhylum = 174, |
| sel_ITPredefinedOperator = 175, |
| sel_ITUserOperator = 176, |
| sel_ITPredefinedStorageClass = 177, |
| sel_ITStorageClass = 178, |
| sel_ITPredefinedUView = 179, |
| sel_ITUserUView = 180, |
| sel_ITUViewVar = 181, |
| sel_ITPredefinedRView = 182, |
| sel_ITUserRView = 183, |
| sel_ITUserFunction = 184, |
| sel_ITPatternVariable = 185, |
| sel_ITLanguageName = 186, |
| sel_Niloperators = 187, |
| sel_Consoperators = 188, |
| sel_Nilphyla = 189, |
| sel_Consphyla = 190, |
| sel_Nilvariables = 191, |
| sel_Consvariables = 192, |
| sel_DVAllowed = 193, |
| sel_DVDisallowed = 194, |
| sel_Equal = 195, |
| sel_Smaller = 196, |
| sel_Bigger = 197, |
| sel_Nilpatternrepresentations = 198, |
| sel_Conspatternrepresentations = 199, |
| sel_Nilpatternrepresentation = 200, |
| sel_Conspatternrepresentation = 201, |
| sel_PRBinding = 202, |
| sel_PRVarPredicate = 203, |
| sel_PROperPredicate = 204, |
| sel_PRUserPredicate = 205, |
| sel_PRNonLeafBinding = 206, |
| sel_PRWildcard = 207, |
| sel_PRDefault = 208, |
| sel_PRStringLiteral = 209, |
| sel_PRIntLiteral = 210, |
| sel_Nilpath = 211, |
| sel_Conspath = 212, |
| sel_Nilpaths = 213, |
| sel_Conspaths = 214, |
| sel_Nilargsnumbers = 215, |
| sel_Consargsnumbers = 216, |
| sel_Nilrewriterulesinfo = 217, |
| sel_Consrewriterulesinfo = 218, |
| sel_Rewriteruleinfo = 219, |
| sel_Nilwithcasesinfo = 220, |
| sel_Conswithcasesinfo = 221, |
| sel_Withcaseinfo = 222, |
| sel_Nilrewriteviewsinfo = 223, |
| sel_Consrewriteviewsinfo = 224, |
| sel_Rewriteviewinfo = 225, |
| sel_Nilunparseviewsinfo = 226, |
| sel_Consunparseviewsinfo = 227, |
| sel_Unparseviewinfo = 228, |
| sel_Nilunparsedeclsinfo = 229, |
| sel_Consunparsedeclsinfo = 230, |
| sel_Unparsedeclinfo = 231, |
| sel_AcDeclaration = 232, |
| sel_Nilac_declaration_list = 233, |
| sel_Consac_declaration_list = 234, |
| sel_Nilac_declaration_specifiers = 235, |
| sel_Consac_declaration_specifiers = 236, |
| sel_AcDeclSpecStorageSpec = 237, |
| sel_AcDeclSpecTypeSpec = 238, |
| sel_AcDeclSpecTypeQual = 239, |
| sel_AcAuto = 240, |
| sel_AcRegister = 241, |
| sel_AcStatic = 242, |
| sel_AcExtern = 243, |
| sel_AcTypedef = 244, |
| sel_AcVirtual = 245, |
| sel_AcTypeSpec = 246, |
| sel_AcConst = 247, |
| sel_AcVolatile = 248, |
| sel_AcUnsigned = 249, |
| sel_AcNoQualifier = 250, |
| sel_Nilac_init_declarator_list = 251, |
| sel_Consac_init_declarator_list = 252, |
| sel_AcInitDecl = 253, |
| sel_AcDeclarator = 254, |
| sel_AcDirectDeclId = 255, |
| sel_AcDirectDeclPack = 256, |
| sel_AcDirectDeclArray = 257, |
| sel_AcDirectDeclProto = 258, |
| sel_AcQualifiedDeclProto = 259, |
| sel_AcMemberDecl = 260, |
| sel_AcConvOperatorDecl = 261, |
| sel_AcOperatorDeclId = 262, |
| sel_Nopointer = 263, |
| sel_Yespointer = 264, |
| sel_AcPointerNil = 265, |
| sel_AcPointerCons = 266, |
| sel_AcNoRef = 267, |
| sel_AcRef = 268, |
| sel_AcOperatorName = 269, |
| sel_Nilac_class_qualifier_help_list = 270, |
| sel_Consac_class_qualifier_help_list = 271, |
| sel_Nilac_class_qualifier_list = 272, |
| sel_Consac_class_qualifier_list = 273, |
| sel_Nilac_type_qualifier_list = 274, |
| sel_Consac_type_qualifier_list = 275, |
| sel_AcParList = 276, |
| sel_AcParList3Dot = 277, |
| sel_Nilac_parameter_list = 278, |
| sel_Consac_parameter_list = 279, |
| sel_AcParDeclDecl = 280, |
| sel_AcParDeclAbsdecl = 281, |
| sel_Nilac_identifier_list = 282, |
| sel_Consac_identifier_list = 283, |
| sel_AcAbsdeclPointer = 284, |
| sel_AcAbsdeclDirdecl = 285, |
| sel_Noac_direct_abstract_declarator = 286, |
| sel_Yesac_direct_abstract_declarator = 287, |
| sel_AcDirAbsdeclPack = 288, |
| sel_AcDirAbsdeclArray = 289, |
| sel_AcDirAbsdeclFn = 290, |
| sel_Yesac_constant_expression = 291, |
| sel_Noac_constant_expression = 292, |
| sel_AcConstExpr = 293, |
| sel_Nilac_constant_expression_list = 294, |
| sel_Consac_constant_expression_list = 295, |
| sel_AcNoBaseInit = 296, |
| sel_AcYesBaseInit = 297, |
| sel_Nilac_base_init_list = 298, |
| sel_Consac_base_init_list = 299, |
| sel_AcBaseInit = 300, |
| sel_Nilbaseclass_declarations = 301, |
| sel_Consbaseclass_declarations = 302, |
| sel_BaseClassDecl = 303, |
| sel_Nilbaseclass_list = 304, |
| sel_Consbaseclass_list = 305, |
| sel_Fatal = 306, |
| sel_NonFatal = 307, |
| sel_Warning = 308, |
| sel_Problem1 = 309, |
| sel_Problem1ID = 310, |
| sel_Problem1tID = 311, |
| sel_Problem1we = 312, |
| sel_Problem1ID1ID = 313, |
| sel_Problem1t1ID = 314, |
| sel_Problem1INT = 315, |
| sel_Problem1int1 = 316, |
| sel_Problem1INT1ID = 317, |
| sel_Problem1ID1ID1ID = 318, |
| sel_Problem1INT1ID1ID = 319, |
| sel_Problem1storageoption1ID = 320, |
| sel_Problem2 = 321, |
| sel_Problem3 = 322, |
| sel_Problem3int1 = 323, |
| sel_Problem4 = 324, |
| sel_Problem5 = 325, |
| sel_Problem6 = 326, |
| sel_Niladdedphylumdeclarations = 327, |
| sel_Consaddedphylumdeclarations = 328, |
| sel_AddedPhylumdeclaration = 329, |
| sel_Nilcountedphylumdeclarations = 330, |
| sel_Conscountedphylumdeclarations = 331, |
| sel_CountedPhylumdeclaration = 332, |
| sel_Newlines = 333, |
| sel_QuotedNewlines = 334, |
| sel_Stars = 335, |
| sel_Nilbindingidmarks = 336, |
| sel_Consbindingidmarks = 337, |
| sel_BindingIdMark = 338, |
| last_operator = 339 |
| } enum_operators; |
| |
| class impl_abstract_phylum; |
| typedef impl_abstract_phylum * abstract_phylum; |
| typedef const impl_abstract_phylum * c_abstract_phylum; |
| class impl_abstract_list; |
| typedef impl_abstract_list * abstract_list; |
| typedef const impl_abstract_list * c_abstract_list; |
| |
| template <typename P, typename T> |
| P phylum_cast(T* t) { |
| return static_cast<P>(t); |
| } |
| template <typename P, typename T> |
| const P phylum_cast(const T* t) { |
| return static_cast<const P>(t); |
| } |
| class impl_nocasestring_NoCaseStr; |
| class impl_casestring__Str; |
| class impl_real__Real; |
| class impl_integer__Int; |
| class impl_voidptr__VoidPtr; |
| class impl_uniqID; |
| class impl_ID; |
| class impl_INT; |
| class impl_STRING; |
| class impl_phylumdeclarationsroot; |
| class impl_phylumdeclarations; |
| class impl_phylumnames; |
| class impl_phylumdeclaration; |
| class impl_storageoption; |
| class impl_storageclasses; |
| class impl_productionblock; |
| class impl_alternatives; |
| class impl_alternative; |
| class impl_arguments; |
| class impl_argument; |
| class impl_Ccode_option; |
| class impl_attributes; |
| class impl_attribute; |
| class impl_attribute_initialisation_option; |
| class impl_Cexpression; |
| class impl_Cexpression_elem; |
| class impl_CexpressionDQ; |
| class impl_CexpressionDQ_elem; |
| class impl_CexpressionSQ; |
| class impl_CexpressionSQ_elem; |
| class impl_idCexpressions; |
| class impl_idCexpression; |
| class impl_Ctexts; |
| class impl_includefiles; |
| class impl_includefile; |
| class impl_includedeclarations; |
| class impl_includedeclaration; |
| class impl_rwdeclarations; |
| class impl_rwdeclaration; |
| class impl_rewriteclauses; |
| class impl_rewriteclause; |
| class impl_patternchains; |
| class impl_patternchain; |
| class impl_outmostpatterns; |
| class impl_patternchainitem; |
| class impl_outmostpattern; |
| class impl_pattern; |
| class impl_patterns; |
| class impl_term; |
| class impl_terms; |
| class impl_fnfiles; |
| class impl_fnfile; |
| class impl_fndeclarations; |
| class impl_fndeclaration; |
| class impl_fnclass; |
| class impl_Ctext; |
| class impl_Ctext_elem; |
| class impl_foreach_after; |
| class impl_contextinfo; |
| class impl_withexpressions; |
| class impl_withexpression; |
| class impl_withcases; |
| class impl_withcase; |
| class impl_unparsedeclarations; |
| class impl_unparsedeclaration; |
| class impl_unparseclauses; |
| class impl_unparseclause; |
| class impl_viewnames; |
| class impl_unparseitems; |
| class impl_unparseitem; |
| class impl_unpsubterm; |
| class impl_unpattributes; |
| class impl_viewnameoption; |
| class impl_languageoption; |
| class impl_languagenames; |
| class impl_fileline; |
| class impl_scopetypefilelinestack; |
| class impl_scopetypefileline; |
| class impl_IDtype; |
| class impl_operators; |
| class impl_phyla; |
| class impl_variables; |
| class impl_dollarvarstatus; |
| class impl_tribool; |
| class impl_patternrepresentations; |
| class impl_patternrepresentation; |
| class impl_elem_patternrepresentation; |
| class impl_path; |
| class impl_paths; |
| class impl_argsnumbers; |
| class impl_rewriterulesinfo; |
| class impl_rewriteruleinfo; |
| class impl_withcasesinfo; |
| class impl_withcaseinfo; |
| class impl_rewriteviewsinfo; |
| class impl_rewriteviewinfo; |
| class impl_unparseviewsinfo; |
| class impl_unparseviewinfo; |
| class impl_unparsedeclsinfo; |
| class impl_unparsedeclinfo; |
| class impl_ac_declaration; |
| class impl_ac_declaration_list; |
| class impl_ac_declaration_specifiers; |
| class impl_ac_declaration_specifier; |
| class impl_ac_storage_class_specifier; |
| class impl_ac_type_specifier; |
| class impl_ac_type_qualifier; |
| class impl_ac_init_declarator_list; |
| class impl_ac_init_declarator; |
| class impl_ac_declarator; |
| class impl_ac_direct_declarator; |
| class impl_ac_pointer_option; |
| class impl_ac_pointer; |
| class impl_ac_ref_option; |
| class impl_ac_operator_name; |
| class impl_ac_class_qualifier_help_list; |
| class impl_ac_class_qualifier_list; |
| class impl_ac_type_qualifier_list; |
| class impl_ac_parameter_type_list; |
| class impl_ac_parameter_list; |
| class impl_ac_parameter_declaration; |
| class impl_ac_identifier_list; |
| class impl_ac_abstract_declarator; |
| class impl_ac_direct_abstract_declarator_option; |
| class impl_ac_direct_abstract_declarator; |
| class impl_ac_constant_expression_option; |
| class impl_ac_constant_expression; |
| class impl_ac_constant_expression_list; |
| class impl_ac_opt_base_init_list; |
| class impl_ac_base_init_list; |
| class impl_ac_base_init; |
| class impl_baseclass_declarations; |
| class impl_baseclass_decl; |
| class impl_baseclass_list; |
| class impl_error; |
| class impl_problem; |
| class impl_addedphylumdeclarations; |
| class impl_addedphylumdeclaration; |
| class impl_countedphylumdeclarations; |
| class impl_countedphylumdeclaration; |
| class impl_charruns; |
| class impl_bindingidmarks; |
| class impl_bindingidmark; |
| |
| |
| void kc_invalid_operator( const char *kc_func_prefix, enum_phyla kc_phy, int kc_line, |
| const char *kc_file, enum_operators kc_oper ) __attribute__ ((noreturn)); |
| |
| typedef enum_phyla *enum_phyla_list; |
| |
| /* |
| * make sure that the first 'real' storage class _always_ gets a value > 0 |
| * and kc_not_uniq gets a value == 0 |
| * (because then we can use it as a C boolean) |
| */ |
| enum kc_storageclass_t { |
| kc_not_uniq, |
| uniq, |
| last_storageclass |
| }; |
| |
| typedef struct { |
| const char *name; // name of the phylum |
| enum_operators first_operator; // index in operator_info[] |
| enum_operators last_operator; // index in operator_info[] |
| kc_storageclass_t uniq_stored; // storage class |
| } KC_PHYLUM_INFO; |
| |
| typedef struct { |
| const char *name; // name of the operator |
| size_t no_sons; // number of sons |
| bool atomicity; // atomic type or not |
| enum_phyla phylum; // index in phylum_info[] |
| enum_phyla_list subphylum; // indexes in phylum_info[] |
| int no_attrs; // number of attributes |
| enum_phyla_list attribute; // indexes in phylum_info[] |
| size_t size; // size of operator (for statistics) |
| } KC_OPERATOR_INFO; |
| |
| typedef enum_phyla_list KC_UNIQ_INFO; |
| |
| extern KC_OPERATOR_INFO operator_info[]; |
| extern KC_PHYLUM_INFO phylum_info[]; |
| extern KC_UNIQ_INFO kc_UniqInfo[]; |
| |
| #define KC_OP_NAME(op) (operator_info[op].name) |
| #define KC_NO_SONS(prod) (operator_info[prod].no_sons) |
| #define KC_ATOMICITY(prod) (operator_info[prod].atomicity) |
| |
| |
| typedef impl_nocasestring_NoCaseStr *nocasestring; |
| typedef const impl_nocasestring_NoCaseStr *c_nocasestring; |
| typedef impl_casestring__Str *casestring; |
| typedef const impl_casestring__Str *c_casestring; |
| typedef impl_real__Real *real; |
| typedef const impl_real__Real *c_real; |
| typedef impl_integer__Int *integer; |
| typedef const impl_integer__Int *c_integer; |
| typedef impl_voidptr__VoidPtr *voidptr; |
| typedef const impl_voidptr__VoidPtr *c_voidptr; |
| typedef impl_uniqID *uniqID; |
| typedef const impl_uniqID *c_uniqID; |
| typedef impl_ID *ID; |
| typedef const impl_ID *c_ID; |
| typedef impl_INT *INT; |
| typedef const impl_INT *c_INT; |
| typedef impl_STRING *STRING; |
| typedef const impl_STRING *c_STRING; |
| typedef impl_phylumdeclarationsroot *phylumdeclarationsroot; |
| typedef const impl_phylumdeclarationsroot *c_phylumdeclarationsroot; |
| typedef impl_phylumdeclarations *phylumdeclarations; |
| typedef const impl_phylumdeclarations *c_phylumdeclarations; |
| typedef impl_phylumnames *phylumnames; |
| typedef const impl_phylumnames *c_phylumnames; |
| typedef impl_phylumdeclaration *phylumdeclaration; |
| typedef const impl_phylumdeclaration *c_phylumdeclaration; |
| typedef impl_storageoption *storageoption; |
| typedef const impl_storageoption *c_storageoption; |
| typedef impl_storageclasses *storageclasses; |
| typedef const impl_storageclasses *c_storageclasses; |
| typedef impl_productionblock *productionblock; |
| typedef const impl_productionblock *c_productionblock; |
| typedef impl_alternatives *alternatives; |
| typedef const impl_alternatives *c_alternatives; |
| typedef impl_alternative *alternative; |
| typedef const impl_alternative *c_alternative; |
| typedef impl_arguments *arguments; |
| typedef const impl_arguments *c_arguments; |
| typedef impl_argument *argument; |
| typedef const impl_argument *c_argument; |
| typedef impl_Ccode_option *Ccode_option; |
| typedef const impl_Ccode_option *c_Ccode_option; |
| typedef impl_attributes *attributes; |
| typedef const impl_attributes *c_attributes; |
| typedef impl_attribute *attribute; |
| typedef const impl_attribute *c_attribute; |
| typedef impl_attribute_initialisation_option *attribute_initialisation_option; |
| typedef const impl_attribute_initialisation_option *c_attribute_initialisation_option; |
| typedef impl_Cexpression *Cexpression; |
| typedef const impl_Cexpression *c_Cexpression; |
| typedef impl_Cexpression_elem *Cexpression_elem; |
| typedef const impl_Cexpression_elem *c_Cexpression_elem; |
| typedef impl_CexpressionDQ *CexpressionDQ; |
| typedef const impl_CexpressionDQ *c_CexpressionDQ; |
| typedef impl_CexpressionDQ_elem *CexpressionDQ_elem; |
| typedef const impl_CexpressionDQ_elem *c_CexpressionDQ_elem; |
| typedef impl_CexpressionSQ *CexpressionSQ; |
| typedef const impl_CexpressionSQ *c_CexpressionSQ; |
| typedef impl_CexpressionSQ_elem *CexpressionSQ_elem; |
| typedef const impl_CexpressionSQ_elem *c_CexpressionSQ_elem; |
| typedef impl_idCexpressions *idCexpressions; |
| typedef const impl_idCexpressions *c_idCexpressions; |
| typedef impl_idCexpression *idCexpression; |
| typedef const impl_idCexpression *c_idCexpression; |
| typedef impl_Ctexts *Ctexts; |
| typedef const impl_Ctexts *c_Ctexts; |
| typedef impl_includefiles *includefiles; |
| typedef const impl_includefiles *c_includefiles; |
| typedef impl_includefile *includefile; |
| typedef const impl_includefile *c_includefile; |
| typedef impl_includedeclarations *includedeclarations; |
| typedef const impl_includedeclarations *c_includedeclarations; |
| typedef impl_includedeclaration *includedeclaration; |
| typedef const impl_includedeclaration *c_includedeclaration; |
| typedef impl_rwdeclarations *rwdeclarations; |
| typedef const impl_rwdeclarations *c_rwdeclarations; |
| typedef impl_rwdeclaration *rwdeclaration; |
| typedef const impl_rwdeclaration *c_rwdeclaration; |
| typedef impl_rewriteclauses *rewriteclauses; |
| typedef const impl_rewriteclauses *c_rewriteclauses; |
| typedef impl_rewriteclause *rewriteclause; |
| typedef const impl_rewriteclause *c_rewriteclause; |
| typedef impl_patternchains *patternchains; |
| typedef const impl_patternchains *c_patternchains; |
| typedef impl_patternchain *patternchain; |
| typedef const impl_patternchain *c_patternchain; |
| typedef impl_outmostpatterns *outmostpatterns; |
| typedef const impl_outmostpatterns *c_outmostpatterns; |
| typedef impl_patternchainitem *patternchainitem; |
| typedef const impl_patternchainitem *c_patternchainitem; |
| typedef impl_outmostpattern *outmostpattern; |
| typedef const impl_outmostpattern *c_outmostpattern; |
| typedef impl_pattern *pattern; |
| typedef const impl_pattern *c_pattern; |
| typedef impl_patterns *patterns; |
| typedef const impl_patterns *c_patterns; |
| typedef impl_term *term; |
| typedef const impl_term *c_term; |
| typedef impl_terms *terms; |
| typedef const impl_terms *c_terms; |
| typedef impl_fnfiles *fnfiles; |
| typedef const impl_fnfiles *c_fnfiles; |
| typedef impl_fnfile *fnfile; |
| typedef const impl_fnfile *c_fnfile; |
| typedef impl_fndeclarations *fndeclarations; |
| typedef const impl_fndeclarations *c_fndeclarations; |
| typedef impl_fndeclaration *fndeclaration; |
| typedef const impl_fndeclaration *c_fndeclaration; |
| typedef impl_fnclass *fnclass; |
| typedef const impl_fnclass *c_fnclass; |
| typedef impl_Ctext *Ctext; |
| typedef const impl_Ctext *c_Ctext; |
| typedef impl_Ctext_elem *Ctext_elem; |
| typedef const impl_Ctext_elem *c_Ctext_elem; |
| typedef impl_foreach_after *foreach_after; |
| typedef const impl_foreach_after *c_foreach_after; |
| typedef impl_contextinfo *contextinfo; |
| typedef const impl_contextinfo *c_contextinfo; |
| typedef impl_withexpressions *withexpressions; |
| typedef const impl_withexpressions *c_withexpressions; |
| typedef impl_withexpression *withexpression; |
| typedef const impl_withexpression *c_withexpression; |
| typedef impl_withcases *withcases; |
| typedef const impl_withcases *c_withcases; |
| typedef impl_withcase *withcase; |
| typedef const impl_withcase *c_withcase; |
| typedef impl_unparsedeclarations *unparsedeclarations; |
| typedef const impl_unparsedeclarations *c_unparsedeclarations; |
| typedef impl_unparsedeclaration *unparsedeclaration; |
| typedef const impl_unparsedeclaration *c_unparsedeclaration; |
| typedef impl_unparseclauses *unparseclauses; |
| typedef const impl_unparseclauses *c_unparseclauses; |
| typedef impl_unparseclause *unparseclause; |
| typedef const impl_unparseclause *c_unparseclause; |
| typedef impl_viewnames *viewnames; |
| typedef const impl_viewnames *c_viewnames; |
| typedef impl_unparseitems *unparseitems; |
| typedef const impl_unparseitems *c_unparseitems; |
| typedef impl_unparseitem *unparseitem; |
| typedef const impl_unparseitem *c_unparseitem; |
| typedef impl_unpsubterm *unpsubterm; |
| typedef const impl_unpsubterm *c_unpsubterm; |
| typedef impl_unpattributes *unpattributes; |
| typedef const impl_unpattributes *c_unpattributes; |
| typedef impl_viewnameoption *viewnameoption; |
| typedef const impl_viewnameoption *c_viewnameoption; |
| typedef impl_languageoption *languageoption; |
| typedef const impl_languageoption *c_languageoption; |
| typedef impl_languagenames *languagenames; |
| typedef const impl_languagenames *c_languagenames; |
| typedef impl_fileline *fileline; |
| typedef const impl_fileline *c_fileline; |
| typedef impl_scopetypefilelinestack *scopetypefilelinestack; |
| typedef const impl_scopetypefilelinestack *c_scopetypefilelinestack; |
| typedef impl_scopetypefileline *scopetypefileline; |
| typedef const impl_scopetypefileline *c_scopetypefileline; |
| typedef impl_IDtype *IDtype; |
| typedef const impl_IDtype *c_IDtype; |
| typedef impl_operators *operators; |
| typedef const impl_operators *c_operators; |
| typedef impl_phyla *phyla; |
| typedef const impl_phyla *c_phyla; |
| typedef impl_variables *variables; |
| typedef const impl_variables *c_variables; |
| typedef impl_dollarvarstatus *dollarvarstatus; |
| typedef const impl_dollarvarstatus *c_dollarvarstatus; |
| typedef impl_tribool *tribool; |
| typedef const impl_tribool *c_tribool; |
| typedef impl_patternrepresentations *patternrepresentations; |
| typedef const impl_patternrepresentations *c_patternrepresentations; |
| typedef impl_patternrepresentation *patternrepresentation; |
| typedef const impl_patternrepresentation *c_patternrepresentation; |
| typedef impl_elem_patternrepresentation *elem_patternrepresentation; |
| typedef const impl_elem_patternrepresentation *c_elem_patternrepresentation; |
| typedef impl_path *path; |
| typedef const impl_path *c_path; |
| typedef impl_paths *paths; |
| typedef const impl_paths *c_paths; |
| typedef impl_argsnumbers *argsnumbers; |
| typedef const impl_argsnumbers *c_argsnumbers; |
| typedef impl_rewriterulesinfo *rewriterulesinfo; |
| typedef const impl_rewriterulesinfo *c_rewriterulesinfo; |
| typedef impl_rewriteruleinfo *rewriteruleinfo; |
| typedef const impl_rewriteruleinfo *c_rewriteruleinfo; |
| typedef impl_withcasesinfo *withcasesinfo; |
| typedef const impl_withcasesinfo *c_withcasesinfo; |
| typedef impl_withcaseinfo *withcaseinfo; |
| typedef const impl_withcaseinfo *c_withcaseinfo; |
| typedef impl_rewriteviewsinfo *rewriteviewsinfo; |
| typedef const impl_rewriteviewsinfo *c_rewriteviewsinfo; |
| typedef impl_rewriteviewinfo *rewriteviewinfo; |
| typedef const impl_rewriteviewinfo *c_rewriteviewinfo; |
| typedef impl_unparseviewsinfo *unparseviewsinfo; |
| typedef const impl_unparseviewsinfo *c_unparseviewsinfo; |
| typedef impl_unparseviewinfo *unparseviewinfo; |
| typedef const impl_unparseviewinfo *c_unparseviewinfo; |
| typedef impl_unparsedeclsinfo *unparsedeclsinfo; |
| typedef const impl_unparsedeclsinfo *c_unparsedeclsinfo; |
| typedef impl_unparsedeclinfo *unparsedeclinfo; |
| typedef const impl_unparsedeclinfo *c_unparsedeclinfo; |
| typedef impl_ac_declaration *ac_declaration; |
| typedef const impl_ac_declaration *c_ac_declaration; |
| typedef impl_ac_declaration_list *ac_declaration_list; |
| typedef const impl_ac_declaration_list *c_ac_declaration_list; |
| typedef impl_ac_declaration_specifiers *ac_declaration_specifiers; |
| typedef const impl_ac_declaration_specifiers *c_ac_declaration_specifiers; |
| typedef impl_ac_declaration_specifier *ac_declaration_specifier; |
| typedef const impl_ac_declaration_specifier *c_ac_declaration_specifier; |
| typedef impl_ac_storage_class_specifier *ac_storage_class_specifier; |
| typedef const impl_ac_storage_class_specifier *c_ac_storage_class_specifier; |
| typedef impl_ac_type_specifier *ac_type_specifier; |
| typedef const impl_ac_type_specifier *c_ac_type_specifier; |
| typedef impl_ac_type_qualifier *ac_type_qualifier; |
| typedef const impl_ac_type_qualifier *c_ac_type_qualifier; |
| typedef impl_ac_init_declarator_list *ac_init_declarator_list; |
| typedef const impl_ac_init_declarator_list *c_ac_init_declarator_list; |
| typedef impl_ac_init_declarator *ac_init_declarator; |
| typedef const impl_ac_init_declarator *c_ac_init_declarator; |
| typedef impl_ac_declarator *ac_declarator; |
| typedef const impl_ac_declarator *c_ac_declarator; |
| typedef impl_ac_direct_declarator *ac_direct_declarator; |
| typedef const impl_ac_direct_declarator *c_ac_direct_declarator; |
| typedef impl_ac_pointer_option *ac_pointer_option; |
| typedef const impl_ac_pointer_option *c_ac_pointer_option; |
| typedef impl_ac_pointer *ac_pointer; |
| typedef const impl_ac_pointer *c_ac_pointer; |
| typedef impl_ac_ref_option *ac_ref_option; |
| typedef const impl_ac_ref_option *c_ac_ref_option; |
| typedef impl_ac_operator_name *ac_operator_name; |
| typedef const impl_ac_operator_name *c_ac_operator_name; |
| typedef impl_ac_class_qualifier_help_list *ac_class_qualifier_help_list; |
| typedef const impl_ac_class_qualifier_help_list *c_ac_class_qualifier_help_list; |
| typedef impl_ac_class_qualifier_list *ac_class_qualifier_list; |
| typedef const impl_ac_class_qualifier_list *c_ac_class_qualifier_list; |
| typedef impl_ac_type_qualifier_list *ac_type_qualifier_list; |
| typedef const impl_ac_type_qualifier_list *c_ac_type_qualifier_list; |
| typedef impl_ac_parameter_type_list *ac_parameter_type_list; |
| typedef const impl_ac_parameter_type_list *c_ac_parameter_type_list; |
| typedef impl_ac_parameter_list *ac_parameter_list; |
| typedef const impl_ac_parameter_list *c_ac_parameter_list; |
| typedef impl_ac_parameter_declaration *ac_parameter_declaration; |
| typedef const impl_ac_parameter_declaration *c_ac_parameter_declaration; |
| typedef impl_ac_identifier_list *ac_identifier_list; |
| typedef const impl_ac_identifier_list *c_ac_identifier_list; |
| typedef impl_ac_abstract_declarator *ac_abstract_declarator; |
| typedef const impl_ac_abstract_declarator *c_ac_abstract_declarator; |
| typedef impl_ac_direct_abstract_declarator_option *ac_direct_abstract_declarator_option; |
| typedef const impl_ac_direct_abstract_declarator_option *c_ac_direct_abstract_declarator_option; |
| typedef impl_ac_direct_abstract_declarator *ac_direct_abstract_declarator; |
| typedef const impl_ac_direct_abstract_declarator *c_ac_direct_abstract_declarator; |
| typedef impl_ac_constant_expression_option *ac_constant_expression_option; |
| typedef const impl_ac_constant_expression_option *c_ac_constant_expression_option; |
| typedef impl_ac_constant_expression *ac_constant_expression; |
| typedef const impl_ac_constant_expression *c_ac_constant_expression; |
| typedef impl_ac_constant_expression_list *ac_constant_expression_list; |
| typedef const impl_ac_constant_expression_list *c_ac_constant_expression_list; |
| typedef impl_ac_opt_base_init_list *ac_opt_base_init_list; |
| typedef const impl_ac_opt_base_init_list *c_ac_opt_base_init_list; |
| typedef impl_ac_base_init_list *ac_base_init_list; |
| typedef const impl_ac_base_init_list *c_ac_base_init_list; |
| typedef impl_ac_base_init *ac_base_init; |
| typedef const impl_ac_base_init *c_ac_base_init; |
| typedef impl_baseclass_declarations *baseclass_declarations; |
| typedef const impl_baseclass_declarations *c_baseclass_declarations; |
| typedef impl_baseclass_decl *baseclass_decl; |
| typedef const impl_baseclass_decl *c_baseclass_decl; |
| typedef impl_baseclass_list *baseclass_list; |
| typedef const impl_baseclass_list *c_baseclass_list; |
| typedef impl_error *error; |
| typedef const impl_error *c_error; |
| typedef impl_problem *problem; |
| typedef const impl_problem *c_problem; |
| typedef impl_addedphylumdeclarations *addedphylumdeclarations; |
| typedef const impl_addedphylumdeclarations *c_addedphylumdeclarations; |
| typedef impl_addedphylumdeclaration *addedphylumdeclaration; |
| typedef const impl_addedphylumdeclaration *c_addedphylumdeclaration; |
| typedef impl_countedphylumdeclarations *countedphylumdeclarations; |
| typedef const impl_countedphylumdeclarations *c_countedphylumdeclarations; |
| typedef impl_countedphylumdeclaration *countedphylumdeclaration; |
| typedef const impl_countedphylumdeclaration *c_countedphylumdeclaration; |
| typedef impl_charruns *charruns; |
| typedef const impl_charruns *c_charruns; |
| typedef impl_bindingidmarks *bindingidmarks; |
| typedef const impl_bindingidmarks *c_bindingidmarks; |
| typedef impl_bindingidmark *bindingidmark; |
| typedef const impl_bindingidmark *c_bindingidmark; |
| |
| #define KC_NO_OF_OPERATORS 339 |
| |
| |
| } // namespace kc |
| namespace kc { } |
| using namespace kc; |
| /* included stuff */ |
| typedef enum {include_header =0, include_file =1, include_unknown, include_both} include_type; |
| class twoIncludedeclarations { |
| includedeclarations inc1, inc2; |
| public: |
| includedeclarations& operator[](int i) |
| { return (i==0) ? inc1 : inc2; } |
| }; |
| |
| // |
| // The Termprocessor Kimwitu++ |
| // |
| // Copyright (C) 1991 University of Twente, Dept TIOS. |
| // Copyright (C) 1998-2003 Humboldt-University of Berlin, Institute of Informatics |
| // All rights reserved. |
| // |
| // Kimwitu++ is free software; you can redistribute it and/or modify |
| // it under the terms of the GNU General Public License as published by |
| // the Free Software Foundation; either version 2 of the License, or |
| // (at your option) any later version. |
| // |
| // Kimwitu++ is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| // GNU General Public License for more details. |
| // |
| // You should have received a copy of the GNU General Public License |
| // along with Kimwitu++; if not, write to the Free Software |
| // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| // |
| |
| #include "config.h" |
| |
| extern char kimwitu_copyright[] ; // defined above |
| extern casestring g_progname; |
| extern char* pg_line; |
| struct cmdline_options { |
| std::string hfilename; |
| std::string ccfilename; |
| bool quiet; |
| bool verbose; |
| bool no_csgio; |
| bool no_unparse; |
| bool no_rewrite; |
| bool no_printdot; |
| bool no_hashtables; |
| bool operator_cast; |
| bool smart_pointer; |
| bool weak_pointer; |
| char covariant; |
| std::string for_bison; |
| bool for_yxx; |
| bool overwrite; |
| bool linedirec; |
| bool rw_loop; |
| std::string stdafx; |
| std::string dllexports; |
| std::string prefix; |
| std::string suffix; |
| std::string filter; |
| std::string msg_format; |
| std::string dir_line; |
| bool warn_drop_identical_patterns; // actually dropped from generated code (old test) |
| bool warn_equivalent_patterns; // informational only (new test) |
| bool warn_overlapping_patterns; |
| cmdline_options(): hfilename(""), ccfilename(""), |
| quiet(false), verbose(false), no_csgio(false), no_unparse(false), no_rewrite(false), |
| no_printdot(false), no_hashtables(false), operator_cast(false), smart_pointer(false), |
| weak_pointer(false), covariant('y'), for_bison(""), for_yxx(false), overwrite(false), |
| linedirec(true), rw_loop(false), stdafx(""), dllexports(""), prefix(""), suffix("cc"), |
| filter(""), msg_format(""), dir_line(""), |
| warn_drop_identical_patterns(true), |
| warn_equivalent_patterns(true), |
| warn_overlapping_patterns(false) { } |
| }; |
| extern cmdline_options g_options; |
| |
| #define INC_HEADER "HEADER" |
| #define INC_CODE "CODE" |
| #define INC_KC_TYPES_HEADER "KC_TYPES_HEADER" |
| #define INC_KC_TYPES "KC_TYPES" |
| #define INC_KC_REWRITE_HEADER "KC_REWRITE_HEADER" |
| #define INC_KC_REWRITE "KC_REWRITE" |
| #define INC_KC_CSGIO_HEADER "KC_CSGIO_HEADER" |
| #define INC_KC_CSGIO "KC_CSGIO" |
| #define INC_KC_UNPARSE_HEADER "KC_UNPARSE_HEADER" |
| #define INC_KC_UNPARSE "KC_UNPARSE" |
| #define INC_KC_FUNCTIONS_HEADER "KC_FUNCTIONS_%s_HEADER" |
| #define INC_KC_FUNCTIONS "KC_FUNCTIONS_%s" |
| |
| |
| namespace kc { void leave(int); } |
| |
| extern int pg_lineno; /* global line # */ |
| extern int pg_column; /* global column # */ |
| extern int pg_charpos; /* global charpos # */ |
| extern casestring pg_filename; /* global file name */ |
| extern int pg_no_of_arguments; /* no_of_arguments */ |
| extern phylumdeclarations Thephylumdeclarations; /* global phylumdecls */ |
| extern rwdeclarations Therwdeclarations; /* global rw-decls */ |
| extern fndeclarations Thefndeclarations; /* fn-decls for the file being parsed */ |
| extern fnfiles Thefnfiles; /* global fn-decls */ |
| extern includefiles Theincludefiles; /* global incl-decls */ |
| extern unparsedeclarations Theunparsedeclarations; /* global unp-decls */ |
| extern argsnumbers Theargsnumbers; /* global list of argsnumbers */ |
| extern viewnames Theuviewnames; /* global list of u-viewnames */ |
| extern viewnames Therviewnames; /* global list of r-viewnames */ |
| extern storageclasses Thestorageclasses; /* global list of storageclasses */ |
| extern languagenames Thelanguages; /* global list of used languages */ |
| extern baseclass_declarations Thebaseclasses; /* global list of defined baseclasses */ |
| extern bool pg_uviewshavebeendefined; /* global indication */ |
| extern bool pg_rviewshavebeendefined; /* global indication */ |
| extern bool pg_storageclasseshavebeendefined; /* global indication */ |
| extern bool pg_languageshavebeendefined; /* global indication */ |
| |
| #include "error.h" |
| |
| extern viewnameoption ug_viewnameopt; |
| |
| #include "occur.h" |
| |
| extern addedphylumdeclarations pl_addedphylumdeclarations; |
| |
| extern countedphylumdeclarations pl_countedphylumdeclarations; |
| |
| namespace kc { ID f_emptyId(); } |
| |
| namespace kc { void collect_strings(void); } |
| |
| namespace kc { void unparse_string_collection(void); } |
| |
| extern bindingidmarks Thebindingidmarks; |
| |
| /* end included stuff */ |
| |
| |
| namespace kc { |
| |
| #ifndef KC_NO_DEFAULT_IN_WITH |
| # define KC_NO_DEFAULT_IN_WITH "Internal Error: no default action defined in function %s at %s:%d\n" |
| #endif |
| void kc_no_default_in_with (const char*, int, const char*); |
| void kc_returnless_function (const char *, int, const char*); |
| |
| #ifndef NDEBUG |
| # define assertCond(t) do {if (!(t)) kc_assertionFailed(__FILE__,__LINE__);}while(false) |
| # define assertReason(t,s) do {if (!(t)) kc_assertionReasonFailed(__FILE__,__LINE__,s);}while(false) |
| # define assertNonNull(p) do {if (p == 0) kc_assertionNonNullFailed(__FILE__,__LINE__,#p);}while(false) |
| # define assertPhylum(ptr,phy) do { \ |
| assertNonNull(ptr); \ |
| if (ptr->phylum()!=phy) \ |
| kc_assertionOperatorInPhylumFailed(ptr->prod_sel(),#ptr,"->prod_sel()","phy",__FILE__,__LINE__); \ |
| } while(false) |
| #else |
| # define assertCond(t) |
| # define assertReason(t,s) |
| # define assertNonNull(ptr) |
| # define assertPhylum(op,phy) |
| #endif |
| #define assertionFailed(s) kc_assertionReasonFailed(__FILE__,__LINE__,s) |
| |
| void kc_assertionFailed (const char*, int) __attribute__ ((noreturn)); |
| void kc_assertionReasonFailed (const char*, int, const char*) __attribute__ ((noreturn)); |
| void kc_assertionNonNullFailed (const char*, int, const char*) __attribute__ ((noreturn)); |
| void kc_assertionOperatorInPhylumFailed (int, const char*, const char*, const char*, const char*, int) __attribute__ ((noreturn)); |
| |
| casestring mkcasestring( const kc_char *, int length = -1); |
| nocasestring mknocasestring( const kc_char *, int length = -1); |
| integer mkinteger( const INTEGER ); |
| real mkreal( const REAL ); |
| inline casestring _Str( const kc_char * cc) { return mkcasestring(cc); } |
| inline nocasestring NoCaseStr( const kc_char * cc) { return mknocasestring(cc); } |
| inline integer _Int( const INTEGER cc) { return mkinteger(cc); } |
| inline real _Real( const REAL cc) { return mkreal(cc); } |
| class impl_uniqID_Str* Str (casestring); |
| class impl_ID_Id* Id (uniqID); |
| class impl_INT_Int* Int (integer); |
| class impl_STRING_String* String (casestring); |
| class impl_phylumdeclarationsroot_PhylumDeclarations* PhylumDeclarations (phylumdeclarations); |
| phylumdeclarations Nilphylumdeclarations(); |
| phylumdeclarations Consphylumdeclarations(phylumdeclaration,phylumdeclarations); |
| phylumnames Nilphylumnames(); |
| phylumnames Consphylumnames(ID,phylumnames); |
| class impl_phylumdeclaration_PhylumDeclaration* PhylumDeclaration (ID, storageoption, productionblock, Ccode_option); |
| class impl_storageoption_NoStorageOption* NoStorageOption (); |
| class impl_storageoption_NegativeStorageOption* NegativeStorageOption (ID); |
| class impl_storageoption_PositiveStorageOption* PositiveStorageOption (ID); |
| storageclasses Nilstorageclasses(); |
| storageclasses Consstorageclasses(ID,storageclasses); |
| class impl_productionblock_Emptyproductionblock* Emptyproductionblock (); |
| class impl_productionblock_ListAlternatives* ListAlternatives (alternatives, ID); |
| class impl_productionblock_NonlistAlternatives* NonlistAlternatives (alternatives); |
| class impl_productionblock_PredefinedAlternatives* PredefinedAlternatives (alternatives); |
| alternatives Nilalternatives(); |
| alternatives Consalternatives(alternative,alternatives); |
| class impl_alternative_Alternative* Alternative (ID, arguments); |
| arguments Nilarguments(); |
| arguments Consarguments(ID,arguments); |
| class impl_argument_Argument* Argument (ID, integer); |
| class impl_Ccode_option_CcodeOption* CcodeOption (attributes, Ctexts); |
| attributes Nilattributes(); |
| attributes Consattributes(attribute,attributes); |
| class impl_attribute_Attribute* Attribute (ID, ID, attribute_initialisation_option); |
| class impl_attribute_initialisation_option_Noattribute_initialisation* Noattribute_initialisation (); |
| class impl_attribute_initialisation_option_Yesattribute_initialisation* Yesattribute_initialisation (Cexpression); |
| Cexpression NilCexpression(); |
| Cexpression ConsCexpression(Cexpression_elem,Cexpression); |
| class impl_Cexpression_elem_CExpressionPart* CExpressionPart (casestring); |
| class impl_Cexpression_elem_CExpressionDollarvar* CExpressionDollarvar (INT); |
| class impl_Cexpression_elem_CExpressionNl* CExpressionNl (); |
| class impl_Cexpression_elem_CExpressionDQ* CExpressionDQ (CexpressionDQ); |
| class impl_Cexpression_elem_CExpressionSQ* CExpressionSQ (CexpressionSQ); |
| class impl_Cexpression_elem_CExpressionPack* CExpressionPack (Cexpression); |
| class impl_Cexpression_elem_CExpressionArray* CExpressionArray (Cexpression); |
| CexpressionDQ NilCexpressionDQ(); |
| CexpressionDQ ConsCexpressionDQ(CexpressionDQ_elem,CexpressionDQ); |
| class impl_CexpressionDQ_elem_CExpressionDQPart* CExpressionDQPart (casestring); |
| class impl_CexpressionDQ_elem_CExpressionDQNl* CExpressionDQNl (); |
| CexpressionSQ NilCexpressionSQ(); |
| CexpressionSQ ConsCexpressionSQ(CexpressionSQ_elem,CexpressionSQ); |
| class impl_CexpressionSQ_elem_CExpressionSQPart* CExpressionSQPart (casestring); |
| class impl_CexpressionSQ_elem_CExpressionSQNl* CExpressionSQNl (); |
| idCexpressions NilidCexpressions(); |
| idCexpressions ConsidCexpressions(idCexpression,idCexpressions); |
| class impl_idCexpression_IdCexpression* IdCexpression (ID, Cexpression); |
| Ctexts NilCtexts(); |
| Ctexts ConsCtexts(Ctext,Ctexts); |
| includefiles Nilincludefiles(); |
| includefiles Consincludefiles(includefile,includefiles); |
| class impl_includefile_IncludeFile* IncludeFile (casestring); |
| includedeclarations Nilincludedeclarations(); |
| includedeclarations Consincludedeclarations(includedeclaration,includedeclarations); |
| class impl_includedeclaration_IncludeDeclaration* IncludeDeclaration (casestring); |
| rwdeclarations Nilrwdeclarations(); |
| rwdeclarations Consrwdeclarations(rwdeclaration,rwdeclarations); |
| class impl_rwdeclaration_RwDeclaration* RwDeclaration (outmostpatterns, rewriteclauses); |
| rewriteclauses Nilrewriteclauses(); |
| rewriteclauses Consrewriteclauses(rewriteclause,rewriteclauses); |
| class impl_rewriteclause_RewriteClause* RewriteClause (viewnames, term); |
| patternchains Nilpatternchains(); |
| patternchains Conspatternchains(patternchain,patternchains); |
| patternchain Nilpatternchain(); |
| patternchain Conspatternchain(patternchainitem,patternchain); |
| outmostpatterns Niloutmostpatterns(); |
| outmostpatterns Consoutmostpatterns(outmostpattern,outmostpatterns); |
| class impl_patternchainitem_PatternchainitemOutmost* PatternchainitemOutmost (outmostpattern); |
| class impl_patternchainitem_PatternchainitemGroup* PatternchainitemGroup (patternchains); |
| class impl_patternchainitem_PatternchainitemDollarid* PatternchainitemDollarid (ID); |
| class impl_outmostpattern_OPOperatorWildcard* OPOperatorWildcard (ID, Cexpression); |
| class impl_outmostpattern_OPOperator* OPOperator (ID, patterns, Cexpression); |
| class impl_outmostpattern_OPNonLeafVariable* OPNonLeafVariable (ID, outmostpattern); |
| class impl_outmostpattern_OPWildcard* OPWildcard (Cexpression); |
| class impl_outmostpattern_OPDefault* OPDefault (Cexpression); |
| class impl_pattern_PVariable* PVariable (ID); |
| class impl_pattern_POperator* POperator (ID, patterns); |
| class impl_pattern_PNonLeafVariable* PNonLeafVariable (ID, pattern); |
| class impl_pattern_PWildcard* PWildcard (); |
| class impl_pattern_PStringLiteral* PStringLiteral (CexpressionDQ); |
| class impl_pattern_PIntLiteral* PIntLiteral (INT); |
| patterns Nilpatterns(); |
| patterns Conspatterns(pattern,patterns); |
| class impl_term_TVariable* TVariable (ID); |
| class impl_term_TOperator* TOperator (ID, terms); |
| class impl_term_TMethod* TMethod (term, ID, terms); |
| class impl_term_TMethodDot* TMethodDot (term, ID, terms); |
| class impl_term_TMemberVar* TMemberVar (term, ID); |
| class impl_term_TMemberVarDot* TMemberVarDot (term, ID); |
| class impl_term_TCTerm* TCTerm (CexpressionSQ); |
| class impl_term_TStringLiteral* TStringLiteral (CexpressionDQ); |
| class impl_term_TIntLiteral* TIntLiteral (INT); |
| terms Nilterms(); |
| terms Consterms(term,terms); |
| fnfiles Nilfnfiles(); |
| fnfiles Consfnfiles(fnfile,fnfiles); |
| class impl_fnfile_FnFile* FnFile (casestring); |
| fndeclarations Nilfndeclarations(); |
| fndeclarations Consfndeclarations(fndeclaration,fndeclarations); |
| class impl_fndeclaration_FnAcDeclaration* FnAcDeclaration (ac_declaration_specifiers, ac_declarator, ac_declaration_list, ac_opt_base_init_list, Ctext, ID, fnclass); |
| class impl_fndeclaration_AcMemberDeclaration* AcMemberDeclaration (ac_declaration_specifiers, ac_declarator, ac_constant_expression_option, fnclass); |
| class impl_fnclass_GlobalFn* GlobalFn (); |
| class impl_fnclass_StaticFn* StaticFn (casestring); |
| class impl_fnclass_MemberFn* MemberFn (); |
| class impl_fnclass_ConstructorFn* ConstructorFn (); |
| class impl_fnclass_DestructorFn* DestructorFn (); |
| class impl_fnclass_ConvOperatorFn* ConvOperatorFn (); |
| Ctext NilCtext(); |
| Ctext ConsCtext(Ctext_elem,Ctext); |
| class impl_Ctext_elem_CTextLine* CTextLine (casestring); |
| class impl_Ctext_elem_CTextDollarVar* CTextDollarVar (INT); |
| class impl_Ctext_elem_CTextNl* CTextNl (integer); |
| class impl_Ctext_elem_CTextCexpressionDQ* CTextCexpressionDQ (CexpressionDQ); |
| class impl_Ctext_elem_CTextCexpressionSQ* CTextCexpressionSQ (CexpressionSQ); |
| class impl_Ctext_elem_CTextCbody* CTextCbody (Ctext); |
| class impl_Ctext_elem_CTextForeachexpression* CTextForeachexpression (patternchain, idCexpressions, withexpressions, Ctext, foreach_after); |
| class impl_Ctext_elem_CTextWithexpression* CTextWithexpression (withexpressions, withcases, contextinfo); |
| class impl_foreach_after_NoForeachAfter* NoForeachAfter (); |
| class impl_foreach_after_ForeachAfter* ForeachAfter (patternchain, idCexpressions, withexpressions, Ctext); |
| class impl_contextinfo_InForeachContext* InForeachContext (patternchain); |
| class impl_contextinfo_NotInForeachContext* NotInForeachContext (); |
| withexpressions Nilwithexpressions(); |
| withexpressions Conswithexpressions(withexpression,withexpressions); |
| class impl_withexpression_WEVariable* WEVariable (ID); |
| class impl_withexpression_WECexpression* WECexpression (Cexpression); |
| withcases Nilwithcases(); |
| withcases Conswithcases(withcase,withcases); |
| class impl_withcase_Withcase* Withcase (patternchains, Ctext); |
| unparsedeclarations Nilunparsedeclarations(); |
| unparsedeclarations Consunparsedeclarations(unparsedeclaration,unparsedeclarations); |
| class impl_unparsedeclaration_UnparseDeclaration* UnparseDeclaration (outmostpatterns, unparseclauses); |
| unparseclauses Nilunparseclauses(); |
| unparseclauses Consunparseclauses(unparseclause,unparseclauses); |
| class impl_unparseclause_UnparseClause* UnparseClause (viewnames, unparseitems); |
| viewnames Nilviewnames(); |
| viewnames Consviewnames(ID,viewnames); |
| unparseitems Nilunparseitems(); |
| unparseitems Consunparseitems(unparseitem,unparseitems); |
| class impl_unparseitem_UnpStr* UnpStr (languageoption, CexpressionDQ, viewnameoption); |
| class impl_unparseitem_UnpSubexpr* UnpSubexpr (languageoption, unpsubterm, viewnameoption); |
| class impl_unparseitem_UnpCtext* UnpCtext (languageoption, Ctext); |
| class impl_unparseitem_UnpBody* UnpBody (languageoption, unparseitems); |
| class impl_unparseitem_UViewVarDecl* UViewVarDecl (ID, ID, Cexpression); |
| class impl_unpsubterm_UnpSubTerm* UnpSubTerm (ID); |
| class impl_unpsubterm_UnpDollarvarTerm* UnpDollarvarTerm (INT); |
| class impl_unpsubterm_UnpSubAttr* UnpSubAttr (ID, unpattributes); |
| class impl_unpsubterm_UnpDollarvarAttr* UnpDollarvarAttr (INT, unpattributes); |
| class impl_unpsubterm_UnpCastedVariable* UnpCastedVariable (ID, ID); |
| unpattributes Nilunpattributes(); |
| unpattributes Consunpattributes(ID,unpattributes); |
| class impl_viewnameoption_NoViewname* NoViewname (); |
| class impl_viewnameoption_YesViewname* YesViewname (ID); |
| class impl_languageoption_NoLanguagename* NoLanguagename (); |
| class impl_languageoption_LanguageList* LanguageList (languagenames); |
| languagenames Nillanguagenames(); |
| languagenames Conslanguagenames(ID,languagenames); |
| class impl_fileline_FileLine* FileLine (casestring _file=0, int _line=0); |
| class impl_fileline_NoFileLine* NoFileLine (); |
| class impl_fileline_PosNoFileLine* PosNoFileLine (); |
| scopetypefilelinestack Nilscopetypefilelinestack(); |
| scopetypefilelinestack Consscopetypefilelinestack(scopetypefileline,scopetypefilelinestack); |
| class impl_scopetypefileline_ScopeTypeFileLine* ScopeTypeFileLine (integer, IDtype, casestring, integer); |
| class impl_IDtype_ITUnknown* ITUnknown (); |
| class impl_IDtype_ITPredefinedPhylum* ITPredefinedPhylum (phylumdeclaration); |
| class impl_IDtype_ITUserPhylum* ITUserPhylum (phylumdeclaration); |
| class impl_IDtype_ITPredefinedOperator* ITPredefinedOperator (alternative, ID); |
| class impl_IDtype_ITUserOperator* ITUserOperator (alternative, ID); |
| class impl_IDtype_ITPredefinedStorageClass* ITPredefinedStorageClass (); |
| class impl_IDtype_ITStorageClass* ITStorageClass (); |
| class impl_IDtype_ITPredefinedUView* ITPredefinedUView (); |
| class impl_IDtype_ITUserUView* ITUserUView (); |
| class impl_IDtype_ITUViewVar* ITUViewVar (); |
| class impl_IDtype_ITPredefinedRView* ITPredefinedRView (); |
| class impl_IDtype_ITUserRView* ITUserRView (); |
| class impl_IDtype_ITUserFunction* ITUserFunction (fnclass); |
| class impl_IDtype_ITPatternVariable* ITPatternVariable (ID, integer); |
| class impl_IDtype_ITLanguageName* ITLanguageName (integer); |
| operators Niloperators(); |
| operators Consoperators(ID,operators); |
| phyla Nilphyla(); |
| phyla Consphyla(ID,phyla); |
| variables Nilvariables(); |
| variables Consvariables(ID,variables); |
| class impl_dollarvarstatus_DVAllowed* DVAllowed (); |
| class impl_dollarvarstatus_DVDisallowed* DVDisallowed (); |
| class impl_tribool_Equal* Equal (); |
| class impl_tribool_Smaller* Smaller (); |
| class impl_tribool_Bigger* Bigger (); |
| patternrepresentations Nilpatternrepresentations(); |
| patternrepresentations Conspatternrepresentations(patternrepresentation,patternrepresentations); |
| patternrepresentation Nilpatternrepresentation(); |
| patternrepresentation Conspatternrepresentation(elem_patternrepresentation,patternrepresentation); |
| class impl_elem_patternrepresentation_PRBinding* PRBinding (path, ID); |
| class impl_elem_patternrepresentation_PRVarPredicate* PRVarPredicate (paths, ID, patternrepresentation); |
| class impl_elem_patternrepresentation_PROperPredicate* PROperPredicate (path, ID); |
| class impl_elem_patternrepresentation_PRUserPredicate* PRUserPredicate (Cexpression); |
| class impl_elem_patternrepresentation_PRNonLeafBinding* PRNonLeafBinding (path, ID, patternrepresentation); |
| class impl_elem_patternrepresentation_PRWildcard* PRWildcard (path); |
| class impl_elem_patternrepresentation_PRDefault* PRDefault (); |
| class impl_elem_patternrepresentation_PRStringLiteral* PRStringLiteral (path, CexpressionDQ); |
| class impl_elem_patternrepresentation_PRIntLiteral* PRIntLiteral (path, INT); |
| path Nilpath(); |
| path Conspath(integer,path); |
| paths Nilpaths(); |
| paths Conspaths(path,paths); |
| argsnumbers Nilargsnumbers(); |
| argsnumbers Consargsnumbers(integer,argsnumbers); |
| rewriterulesinfo Nilrewriterulesinfo(); |
| rewriterulesinfo Consrewriterulesinfo(rewriteruleinfo,rewriterulesinfo); |
| class impl_rewriteruleinfo_Rewriteruleinfo* Rewriteruleinfo (patternrepresentation, patternrepresentation, rewriteclause); |
| withcasesinfo Nilwithcasesinfo(); |
| withcasesinfo Conswithcasesinfo(withcaseinfo,withcasesinfo); |
| class impl_withcaseinfo_Withcaseinfo* Withcaseinfo (patternrepresentation, patternrepresentation, Ctext); |
| rewriteviewsinfo Nilrewriteviewsinfo(); |
| rewriteviewsinfo Consrewriteviewsinfo(rewriteviewinfo,rewriteviewsinfo); |
| class impl_rewriteviewinfo_Rewriteviewinfo* Rewriteviewinfo (ID, rewriterulesinfo); |
| unparseviewsinfo Nilunparseviewsinfo(); |
| unparseviewsinfo Consunparseviewsinfo(unparseviewinfo,unparseviewsinfo); |
| class impl_unparseviewinfo_Unparseviewinfo* Unparseviewinfo (ID, unparsedeclsinfo); |
| unparsedeclsinfo Nilunparsedeclsinfo(); |
| unparsedeclsinfo Consunparsedeclsinfo(unparsedeclinfo,unparsedeclsinfo); |
| class impl_unparsedeclinfo_Unparsedeclinfo* Unparsedeclinfo (patternrepresentation, patternrepresentation, unparseclause); |
| class impl_ac_declaration_AcDeclaration* AcDeclaration (ac_declaration_specifiers, ac_init_declarator_list); |
| ac_declaration_list Nilac_declaration_list(); |
| ac_declaration_list Consac_declaration_list(ac_declaration,ac_declaration_list); |
| ac_declaration_specifiers Nilac_declaration_specifiers(); |
| ac_declaration_specifiers Consac_declaration_specifiers(ac_declaration_specifier,ac_declaration_specifiers); |
| class impl_ac_declaration_specifier_AcDeclSpecStorageSpec* AcDeclSpecStorageSpec (ac_storage_class_specifier); |
| class impl_ac_declaration_specifier_AcDeclSpecTypeSpec* AcDeclSpecTypeSpec (ac_type_specifier); |
| class impl_ac_declaration_specifier_AcDeclSpecTypeQual* AcDeclSpecTypeQual (ac_type_qualifier); |
| class impl_ac_storage_class_specifier_AcAuto* AcAuto (); |
| class impl_ac_storage_class_specifier_AcRegister* AcRegister (); |
| class impl_ac_storage_class_specifier_AcStatic* AcStatic (); |
| class impl_ac_storage_class_specifier_AcExtern* AcExtern (); |
| class impl_ac_storage_class_specifier_AcTypedef* AcTypedef (); |
| class impl_ac_storage_class_specifier_AcVirtual* AcVirtual (); |
| class impl_ac_type_specifier_AcTypeSpec* AcTypeSpec (ID); |
| class impl_ac_type_qualifier_AcConst* AcConst (); |
| class impl_ac_type_qualifier_AcVolatile* AcVolatile (); |
| class impl_ac_type_qualifier_AcUnsigned* AcUnsigned (); |
| class impl_ac_type_qualifier_AcNoQualifier* AcNoQualifier (); |
| ac_init_declarator_list Nilac_init_declarator_list(); |
| ac_init_declarator_list Consac_init_declarator_list(ac_init_declarator,ac_init_declarator_list); |
| class impl_ac_init_declarator_AcInitDecl* AcInitDecl (ac_declarator); |
| class impl_ac_declarator_AcDeclarator* AcDeclarator (ac_pointer_option, ac_ref_option, ac_direct_declarator); |
| class impl_ac_direct_declarator_AcDirectDeclId* AcDirectDeclId (ID); |
| class impl_ac_direct_declarator_AcDirectDeclPack* AcDirectDeclPack (ac_declarator); |
| class impl_ac_direct_declarator_AcDirectDeclArray* AcDirectDeclArray (ac_direct_declarator, ac_constant_expression_option); |
| class impl_ac_direct_declarator_AcDirectDeclProto* AcDirectDeclProto (ac_direct_declarator, ac_parameter_type_list); |
| class impl_ac_direct_declarator_AcQualifiedDeclProto* AcQualifiedDeclProto (ac_class_qualifier_list, ac_direct_declarator, ac_parameter_type_list, ac_type_qualifier); |
| class impl_ac_direct_declarator_AcMemberDecl* AcMemberDecl (ID, ID, ac_constant_expression_list); |
| class impl_ac_direct_declarator_AcConvOperatorDecl* AcConvOperatorDecl (ID, ID); |
| class impl_ac_direct_declarator_AcOperatorDeclId* AcOperatorDeclId (ac_operator_name); |
| class impl_ac_pointer_option_Nopointer* Nopointer (); |
| class impl_ac_pointer_option_Yespointer* Yespointer (ac_pointer); |
| class impl_ac_pointer_AcPointerNil* AcPointerNil (ac_type_qualifier_list); |
| class impl_ac_pointer_AcPointerCons* AcPointerCons (ac_type_qualifier_list, ac_pointer); |
| class impl_ac_ref_option_AcNoRef* AcNoRef (); |
| class impl_ac_ref_option_AcRef* AcRef (); |
| class impl_ac_operator_name_AcOperatorName* AcOperatorName (casestring); |
| ac_class_qualifier_help_list Nilac_class_qualifier_help_list(); |
| ac_class_qualifier_help_list Consac_class_qualifier_help_list(ac_direct_declarator,ac_class_qualifier_help_list); |
| ac_class_qualifier_list Nilac_class_qualifier_list(); |
| ac_class_qualifier_list Consac_class_qualifier_list(ID,ac_class_qualifier_list); |
| ac_type_qualifier_list Nilac_type_qualifier_list(); |
| ac_type_qualifier_list Consac_type_qualifier_list(ac_type_qualifier,ac_type_qualifier_list); |
| class impl_ac_parameter_type_list_AcParList* AcParList (ac_parameter_list); |
| class impl_ac_parameter_type_list_AcParList3Dot* AcParList3Dot (ac_parameter_list); |
| ac_parameter_list Nilac_parameter_list(); |
| ac_parameter_list Consac_parameter_list(ac_parameter_declaration,ac_parameter_list); |
| class impl_ac_parameter_declaration_AcParDeclDecl* AcParDeclDecl (ac_declaration_specifiers, ac_declarator, ac_constant_expression_option); |
| class impl_ac_parameter_declaration_AcParDeclAbsdecl* AcParDeclAbsdecl (ac_declaration_specifiers, ac_abstract_declarator, ac_constant_expression_option); |
| ac_identifier_list Nilac_identifier_list(); |
| ac_identifier_list Consac_identifier_list(ID,ac_identifier_list); |
| class impl_ac_abstract_declarator_AcAbsdeclPointer* AcAbsdeclPointer (ac_pointer); |
| class impl_ac_abstract_declarator_AcAbsdeclDirdecl* AcAbsdeclDirdecl (ac_pointer_option, ac_direct_abstract_declarator); |
| class impl_ac_direct_abstract_declarator_option_Noac_direct_abstract_declarator* Noac_direct_abstract_declarator (); |
| class impl_ac_direct_abstract_declarator_option_Yesac_direct_abstract_declarator* Yesac_direct_abstract_declarator (ac_direct_abstract_declarator); |
| class impl_ac_direct_abstract_declarator_AcDirAbsdeclPack* AcDirAbsdeclPack (ac_abstract_declarator); |
| class impl_ac_direct_abstract_declarator_AcDirAbsdeclArray* AcDirAbsdeclArray (ac_direct_abstract_declarator_option, ac_constant_expression_option); |
| class impl_ac_direct_abstract_declarator_AcDirAbsdeclFn* AcDirAbsdeclFn (ac_direct_abstract_declarator_option, ac_parameter_type_list); |
| class impl_ac_constant_expression_option_Yesac_constant_expression* Yesac_constant_expression (ac_constant_expression); |
| class impl_ac_constant_expression_option_Noac_constant_expression* Noac_constant_expression (); |
| class impl_ac_constant_expression_AcConstExpr* AcConstExpr (Cexpression); |
| ac_constant_expression_list Nilac_constant_expression_list(); |
| ac_constant_expression_list Consac_constant_expression_list(ac_constant_expression,ac_constant_expression_list); |
| class impl_ac_opt_base_init_list_AcNoBaseInit* AcNoBaseInit (); |
| class impl_ac_opt_base_init_list_AcYesBaseInit* AcYesBaseInit (ac_base_init_list); |
| ac_base_init_list Nilac_base_init_list(); |
| ac_base_init_list Consac_base_init_list(ac_base_init,ac_base_init_list); |
| class impl_ac_base_init_AcBaseInit* AcBaseInit (ID, ac_constant_expression); |
| baseclass_declarations Nilbaseclass_declarations(); |
| baseclass_declarations Consbaseclass_declarations(baseclass_decl,baseclass_declarations); |
| class impl_baseclass_decl_BaseClassDecl* BaseClassDecl (ID, baseclass_list); |
| baseclass_list Nilbaseclass_list(); |
| baseclass_list Consbaseclass_list(ID,baseclass_list); |
| class impl_error_Fatal* Fatal (fileline, problem); |
| class impl_error_NonFatal* NonFatal (fileline, problem); |
| class impl_error_Warning* Warning (fileline, problem); |
| class impl_problem_Problem1* Problem1 (casestring); |
| class impl_problem_Problem1ID* Problem1ID (casestring, ID); |
| class impl_problem_Problem1tID* Problem1tID (casestring, ID); |
| class impl_problem_Problem1we* Problem1we (casestring, withexpression); |
| class impl_problem_Problem1ID1ID* Problem1ID1ID (casestring, ID, casestring, ID); |
| class impl_problem_Problem1t1ID* Problem1t1ID (casestring, IDtype, casestring, ID); |
| class impl_problem_Problem1INT* Problem1INT (casestring, INT); |
| class impl_problem_Problem1int1* Problem1int1 (casestring, integer, casestring); |
| class impl_problem_Problem1INT1ID* Problem1INT1ID (casestring, INT, casestring, ID); |
| class impl_problem_Problem1ID1ID1ID* Problem1ID1ID1ID (casestring, ID, casestring, ID, casestring, ID); |
| class impl_problem_Problem1INT1ID1ID* Problem1INT1ID1ID (casestring, INT, casestring, ID, casestring, ID); |
| class impl_problem_Problem1storageoption1ID* Problem1storageoption1ID (casestring, storageoption, casestring, ID); |
| class impl_problem_Problem2* Problem2 (casestring, casestring); |
| class impl_problem_Problem3* Problem3 (casestring, casestring, casestring); |
| class impl_problem_Problem3int1* Problem3int1 (casestring, casestring, casestring, integer, casestring); |
| class impl_problem_Problem4* Problem4 (casestring, casestring, casestring, casestring); |
| class impl_problem_Problem5* Problem5 (casestring, casestring, casestring, casestring, casestring); |
| class impl_problem_Problem6* Problem6 (casestring, casestring, casestring, casestring, casestring, casestring); |
| addedphylumdeclarations Niladdedphylumdeclarations(); |
| addedphylumdeclarations Consaddedphylumdeclarations(addedphylumdeclaration,addedphylumdeclarations); |
| class impl_addedphylumdeclaration_AddedPhylumdeclaration* AddedPhylumdeclaration (uniqID); |
| countedphylumdeclarations Nilcountedphylumdeclarations(); |
| countedphylumdeclarations Conscountedphylumdeclarations(countedphylumdeclaration,countedphylumdeclarations); |
| class impl_countedphylumdeclaration_CountedPhylumdeclaration* CountedPhylumdeclaration (uniqID); |
| class impl_charruns_Newlines* Newlines (); |
| class impl_charruns_QuotedNewlines* QuotedNewlines (); |
| class impl_charruns_Stars* Stars (); |
| bindingidmarks Nilbindingidmarks(); |
| bindingidmarks Consbindingidmarks(bindingidmark,bindingidmarks); |
| class impl_bindingidmark_BindingIdMark* BindingIdMark (uniqID); |
| |
| //namespace Phylum { |
| |
| class impl_abstract_phylum { |
| public: |
| virtual enum_operators prod_sel() const =0; |
| static const enum_phyla phylum_sel_; |
| enum_phyla phylum() const; |
| const char* phylum_name() const; |
| const char* op_name() const; |
| virtual abstract_phylum subphylum(int) const; |
| virtual void set_subphylum(int, abstract_phylum); |
| void free(bool recursive=true); |
| bool eq(c_abstract_phylum) const; |
| void print(); |
| void fprint(FILE *); |
| abstract_phylum copy(bool kc_copy_attributes) const; |
| void unparse(printer_functor pf, uview uv) |
| { do_unparse(pf, uv); } |
| void unparse(printer_function opf, uview uv); |
| virtual abstract_phylum rewrite(rview v) { return do_rewrite(v); } |
| virtual abstract_phylum do_rewrite(rview) { return this;} |
| // called if a subphylum of an op is rewritten and a new op is created by default rule |
| virtual void rewrite_members(abstract_phylum from) {} |
| virtual void post_create(){} |
| virtual ~impl_abstract_phylum() { } |
| private: |
| virtual void do_unparse(printer_functor, uview) =0; |
| protected: |
| virtual void default_unparse(printer_functor, uview); |
| }; |
| |
| |
| class impl_abstract_list: public impl_abstract_phylum{ |
| private: |
| void fprint_list(FILE *); |
| friend class impl_abstract_phylum; |
| protected: |
| abstract_phylum do_concat(c_abstract_phylum other, enum_operators) const; |
| abstract_phylum do_reverse(c_abstract_phylum tail, enum_operators) const; |
| abstract_phylum do_map(abstract_phylum (*kc_fp)(abstract_phylum), enum_operators); |
| abstract_phylum do_filter(bool (*kc_fp)(abstract_phylum), enum_operators); |
| abstract_list do_append(abstract_phylum, abstract_list); |
| abstract_phylum do_merge(abstract_list,abstract_phylum (*kc_fp)(abstract_phylum,abstract_phylum), enum_operators); |
| abstract_phylum do_reduce(abstract_phylum neutral, abstract_phylum (*kc_fp)(abstract_phylum,abstract_phylum)); |
| public: |
| virtual bool is_nil() const =0; |
| virtual abstract_list reverse() const =0; |
| int length() const; |
| abstract_phylum last() const; |
| // Non-virtual, non-existing... Type must be known exactly anyway because |
| // of the function given as a parameter |
| //virtual abstract_list map( abstract_phylum (*)( abstract_phylum )) =0; |
| //virtual abstract_list filter(bool (*)(abstract_phylum)) =0; |
| void freelist(); |
| }; |
| |
| abstract_phylum kc_create(enum_operators createOp, abstract_phylum=0, abstract_phylum=0, abstract_phylum=0, abstract_phylum=0, abstract_phylum=0, abstract_phylum=0, abstract_phylum=0); |
| abstract_phylum& attributeOf(abstract_phylum kc_p, int no); |
| |
| class impl_nocasestring_NoCaseStr; |
| typedef impl_nocasestring_NoCaseStr impl_nocasestring; |
| class impl_nocasestring_NoCaseStr:public impl_abstract_phylum{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_NoCaseStr; } |
| static const enum_phyla phylum_sel_; |
| private: |
| explicit impl_nocasestring_NoCaseStr(const kc_char*); |
| void make_own(int length); |
| friend nocasestring mknocasestring(const kc_char*, int); |
| public: |
| ~impl_nocasestring_NoCaseStr() { |
| #if defined (_MSC_VER) && _MSC_VER<1300 |
| delete [] (kc_char*)name; |
| #else |
| delete [] name; |
| #endif |
| } |
| |
| nocasestring rewrite( rview ) |
| { return this; } |
| kc_char const* name; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_casestring__Str; |
| typedef impl_casestring__Str impl_casestring; |
| class impl_casestring__Str:public impl_abstract_phylum{ |
| public: |
| enum_operators prod_sel() const |
| { return sel__Str; } |
| static const enum_phyla phylum_sel_; |
| private: |
| explicit impl_casestring__Str(const kc_char*); |
| void make_own(int length); |
| friend casestring mkcasestring(const kc_char*, int); |
| public: |
| ~impl_casestring__Str() { |
| #if defined (_MSC_VER) && _MSC_VER<1300 |
| delete [] (kc_char*)name; |
| #else |
| delete [] name; |
| #endif |
| } |
| |
| casestring rewrite( rview ) |
| { return this; } |
| kc_char const* name; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_real__Real; |
| typedef impl_real__Real impl_real; |
| class impl_real__Real:public impl_abstract_phylum{ |
| public: |
| enum_operators prod_sel() const |
| { return sel__Real; } |
| static const enum_phyla phylum_sel_; |
| explicit impl_real__Real(REAL _value); |
| |
| real rewrite( rview ) |
| { return this; } |
| REAL value; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_integer__Int; |
| typedef impl_integer__Int impl_integer; |
| class impl_integer__Int:public impl_abstract_phylum{ |
| public: |
| enum_operators prod_sel() const |
| { return sel__Int; } |
| static const enum_phyla phylum_sel_; |
| explicit impl_integer__Int(INTEGER _value); |
| |
| integer rewrite( rview ) |
| { return this; } |
| INTEGER value; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_voidptr__VoidPtr; |
| typedef impl_voidptr__VoidPtr impl_voidptr; |
| class impl_voidptr__VoidPtr:public impl_abstract_phylum{ |
| public: |
| enum_operators prod_sel() const |
| { return sel__VoidPtr; } |
| static const enum_phyla phylum_sel_; |
| explicit impl_voidptr__VoidPtr(void* _pointer); |
| |
| voidptr rewrite( rview ) |
| { return this; } |
| void* pointer; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_uniqID: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| IDtype type; |
| int line; |
| casestring file; |
| scopetypefilelinestack scopeinfo; |
| uniqID rewrite(rview) =0; |
| }; |
| class impl_uniqID_Str:public impl_uniqID{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_Str; } |
| explicit impl_uniqID_Str(casestring); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| uniqID rewrite( rview ); |
| impl_casestring* casestring_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_ID: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| IDtype type; |
| casestring named_subphylum; |
| int line; |
| casestring file; |
| ID rewrite(rview) =0; |
| }; |
| class impl_ID_Id:public impl_ID{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_Id; } |
| explicit impl_ID_Id(uniqID); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| ID rewrite( rview ); |
| impl_uniqID* uniqID_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_INT: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| int line; |
| casestring file; |
| INT rewrite(rview) =0; |
| }; |
| class impl_INT_Int:public impl_INT{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_Int; } |
| explicit impl_INT_Int(integer); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| INT rewrite( rview ); |
| impl_integer* integer_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_STRING: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| int line; |
| casestring file; |
| STRING rewrite(rview) =0; |
| }; |
| class impl_STRING_String:public impl_STRING{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_String; } |
| explicit impl_STRING_String(casestring); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| STRING rewrite( rview ); |
| impl_casestring* casestring_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_phylumdeclarationsroot: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| phylumdeclarationsroot rewrite(rview) =0; |
| }; |
| class impl_phylumdeclarationsroot_PhylumDeclarations:public impl_phylumdeclarationsroot{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_PhylumDeclarations; } |
| explicit impl_phylumdeclarationsroot_PhylumDeclarations(phylumdeclarations); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| phylumdeclarationsroot rewrite( rview ); |
| impl_phylumdeclarations* phylumdeclarations_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_phylumdeclarations: public impl_abstract_list{ |
| public: |
| static const enum_phyla phylum_sel_; |
| enum_operators prod_sel() const{ |
| return is_nil() ? sel_Nilphylumdeclarations: sel_Consphylumdeclarations; |
| } |
| explicit impl_phylumdeclarations(phylumdeclaration = 0, phylumdeclarations = 0); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| friend phylumdeclarations concat(c_phylumdeclarations, c_phylumdeclarations); |
| phylumdeclarations reverse() const; |
| phylumdeclarations rewrite(rview); |
| phylumdeclaration last() const; |
| phylumdeclarations append(phylumdeclaration); |
| phylumdeclarations map(phylumdeclaration (*)(phylumdeclaration)); |
| phylumdeclarations filter( bool (*)(phylumdeclaration)); |
| phylumdeclarations merge( phylumdeclarations, phylumdeclaration (*)(phylumdeclaration, phylumdeclaration)); |
| phylumdeclaration reduce( phylumdeclaration, phylumdeclaration (*)(phylumdeclaration, phylumdeclaration)); |
| bool is_nil() const; |
| phylumdeclaration phylumdeclaration_1; |
| phylumdeclarations phylumdeclarations_1; |
| private: |
| impl_phylumdeclarations* nil_rewrite(rview); |
| impl_phylumdeclarations* cons_rewrite(rview); |
| void nil_do_unparse(printer_functor, uview); |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_phylumnames: public impl_abstract_list{ |
| public: |
| static const enum_phyla phylum_sel_; |
| enum_operators prod_sel() const{ |
| return is_nil() ? sel_Nilphylumnames: sel_Consphylumnames; |
| } |
| explicit impl_phylumnames(ID = 0, phylumnames = 0); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| friend phylumnames concat(c_phylumnames, c_phylumnames); |
| phylumnames reverse() const; |
| phylumnames rewrite(rview); |
| ID last() const; |
| phylumnames append(ID); |
| phylumnames map(ID (*)(ID)); |
| phylumnames filter( bool (*)(ID)); |
| phylumnames merge( phylumnames, ID (*)(ID, ID)); |
| ID reduce( ID, ID (*)(ID, ID)); |
| bool is_nil() const; |
| ID ID_1; |
| phylumnames phylumnames_1; |
| private: |
| impl_phylumnames* nil_rewrite(rview); |
| impl_phylumnames* cons_rewrite(rview); |
| void nil_do_unparse(printer_functor, uview); |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_phylumdeclaration: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| int marked; |
| fndeclarations additional_members; |
| baseclass_list base_classes; |
| phylumdeclaration rewrite(rview) =0; |
| }; |
| class impl_phylumdeclaration_PhylumDeclaration:public impl_phylumdeclaration{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_PhylumDeclaration; } |
| explicit impl_phylumdeclaration_PhylumDeclaration(ID, storageoption, productionblock, Ccode_option); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| phylumdeclaration rewrite( rview ); |
| impl_ID* ID_1; |
| impl_storageoption* storageoption_1; |
| impl_productionblock* productionblock_1; |
| impl_Ccode_option* Ccode_option_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_storageoption: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| storageoption rewrite(rview) =0; |
| }; |
| class impl_storageoption_PositiveStorageOption:public impl_storageoption{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_PositiveStorageOption; } |
| explicit impl_storageoption_PositiveStorageOption(ID); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| storageoption rewrite( rview ); |
| impl_ID* ID_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_storageoption_NegativeStorageOption:public impl_storageoption{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_NegativeStorageOption; } |
| explicit impl_storageoption_NegativeStorageOption(ID); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| storageoption rewrite( rview ); |
| impl_ID* ID_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_storageoption_NoStorageOption:public impl_storageoption{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_NoStorageOption; } |
| explicit impl_storageoption_NoStorageOption(); |
| |
| storageoption rewrite( rview ); |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_storageclasses: public impl_abstract_list{ |
| public: |
| static const enum_phyla phylum_sel_; |
| phylumnames phyla; |
| enum_operators prod_sel() const{ |
| return is_nil() ? sel_Nilstorageclasses: sel_Consstorageclasses; |
| } |
| explicit impl_storageclasses(ID = 0, storageclasses = 0); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| friend storageclasses concat(c_storageclasses, c_storageclasses); |
| storageclasses reverse() const; |
| storageclasses rewrite(rview); |
| ID last() const; |
| storageclasses append(ID); |
| storageclasses map(ID (*)(ID)); |
| storageclasses filter( bool (*)(ID)); |
| storageclasses merge( storageclasses, ID (*)(ID, ID)); |
| ID reduce( ID, ID (*)(ID, ID)); |
| bool is_nil() const; |
| ID ID_1; |
| storageclasses storageclasses_1; |
| private: |
| impl_storageclasses* nil_rewrite(rview); |
| impl_storageclasses* cons_rewrite(rview); |
| void nil_do_unparse(printer_functor, uview); |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_productionblock: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| productionblock rewrite(rview) =0; |
| }; |
| class impl_productionblock_PredefinedAlternatives:public impl_productionblock{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_PredefinedAlternatives; } |
| explicit impl_productionblock_PredefinedAlternatives(alternatives); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| productionblock rewrite( rview ); |
| impl_alternatives* alternatives_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_productionblock_NonlistAlternatives:public impl_productionblock{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_NonlistAlternatives; } |
| explicit impl_productionblock_NonlistAlternatives(alternatives); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| productionblock rewrite( rview ); |
| impl_alternatives* alternatives_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_productionblock_ListAlternatives:public impl_productionblock{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_ListAlternatives; } |
| explicit impl_productionblock_ListAlternatives(alternatives, ID); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| productionblock rewrite( rview ); |
| impl_alternatives* alternatives_1; |
| impl_ID* ID_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_productionblock_Emptyproductionblock:public impl_productionblock{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_Emptyproductionblock; } |
| explicit impl_productionblock_Emptyproductionblock(); |
| |
| productionblock rewrite( rview ); |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_alternatives: public impl_abstract_list{ |
| public: |
| static const enum_phyla phylum_sel_; |
| enum_operators prod_sel() const{ |
| return is_nil() ? sel_Nilalternatives: sel_Consalternatives; |
| } |
| explicit impl_alternatives(alternative = 0, alternatives = 0); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| friend alternatives concat(c_alternatives, c_alternatives); |
| alternatives reverse() const; |
| alternatives rewrite(rview); |
| alternative last() const; |
| alternatives append(alternative); |
| alternatives map(alternative (*)(alternative)); |
| alternatives filter( bool (*)(alternative)); |
| alternatives merge( alternatives, alternative (*)(alternative, alternative)); |
| alternative reduce( alternative, alternative (*)(alternative, alternative)); |
| bool is_nil() const; |
| alternative alternative_1; |
| alternatives alternatives_1; |
| private: |
| impl_alternatives* nil_rewrite(rview); |
| impl_alternatives* cons_rewrite(rview); |
| void nil_do_unparse(printer_functor, uview); |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_alternative: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| rewriterulesinfo rewriteinfo; |
| unparsedeclsinfo unparseinfo; |
| fndeclarations additional_members; |
| baseclass_list base_classes; |
| alternative rewrite(rview) =0; |
| }; |
| class impl_alternative_Alternative:public impl_alternative{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_Alternative; } |
| explicit impl_alternative_Alternative(ID, arguments); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| |
| alternative rewrite( rview ); |
| impl_ID* ID_1; |
| impl_arguments* arguments_1; |
| private: |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_arguments: public impl_abstract_list{ |
| public: |
| static const enum_phyla phylum_sel_; |
| int seqnr; |
| enum_operators prod_sel() const{ |
| return is_nil() ? sel_Nilarguments: sel_Consarguments; |
| } |
| explicit impl_arguments(ID = 0, arguments = 0); |
| abstract_phylum subphylum(int) const; |
| void set_subphylum(int, abstract_phylum); |
| friend arguments concat(c_arguments, c_arguments); |
| arguments reverse() const; |
| arguments rewrite(rview); |
| ID last() const; |
| arguments append(ID); |
| arguments map(ID (*)(ID)); |
| arguments filter( bool (*)(ID)); |
| arguments merge( arguments, ID (*)(ID, ID)); |
| ID reduce( ID, ID (*)(ID, ID)); |
| bool is_nil() const; |
| ID ID_1; |
| arguments arguments_1; |
| private: |
| impl_arguments* nil_rewrite(rview); |
| impl_arguments* cons_rewrite(rview); |
| void nil_do_unparse(printer_functor, uview); |
| void do_unparse(printer_functor, uview); |
| }; |
| class impl_argument: public impl_abstract_phylum{ |
| public: |
| static const enum_phyla phylum_sel_; |
| argument rewrite(rview) =0; |
| }; |
| class impl_argument_Argument:public impl_argument{ |
| public: |
| enum_operators prod_sel() const |
| { return sel_Argument; } |
| explicit impl_argument_Argument(ID, integer); |
|