Click here to Skip to main content
15,896,557 members
Articles / Desktop Programming / MFC

Another Enum Viewer

Rate me:
Please Sign up or sign in to vote.
4.50/5 (2 votes)
22 Oct 20015 min read 83.1K   1.3K   19  
An article on the usage and design of another Enum Viewer
/*
 * CPPParser: P a r s e r  H e a d e r 
 *
 * Generated from: cplusplus.g
 *
 * Terence Parr, Russell Quong, Will Cohen, and Hank Dietz: 1989-1995
 * Parr Research Corporation
 * with Purdue University Electrical Engineering
 * with AHPCRC, University of Minnesota
 * ANTLR Version 1.33j
 */

#ifndef CPPParser_h
#define CPPParser_h

#ifdef _MSC_VER
// Disable some warnings that appear commonly in Rogue Wave STL
#pragma warning (disable:4786)    // long debug names
#pragma warning (disable:4146)    // unary minus operator applied to unsigned type
#pragma warning (disable:4018)    // '>' : signed/unsigned mismatch
#endif
#include "CPPCommon.h"
#include "AParser.h"

class CPPParser : public ANTLRParser {
public:
	enum ANTLRConstants { ConstLLK = 1 };
protected:
	static const ANTLRChar * const _token_tbl[];
public:
	static const ANTLRChar* const * GetTokenTable() { return _token_tbl; }
private:

#include "CPPParserMembers.h"

protected:
#define PARSER_PURE_VIRTUAL = 0
#include "CPPParserVirtual.h"
#undef PARSER_PURE_VIRTUAL
	static SetWordType err1[24];
	static SetWordType BUILTIN_TOKCLASS_set[24];
	static SetWordType err3[24];
	static SetWordType err4[24];
	static SetWordType err5[24];
	static SetWordType err6[24];
	static SetWordType err7[24];
	static SetWordType err8[24];
	static SetWordType CONSTANT_TOKCLASS_set[24];
	static SetWordType err10[24];
	static SetWordType setwd1[191];
	static SetWordType err11[24];
	static SetWordType err12[24];
	static SetWordType err13[24];
	static SetWordType err14[24];
	static SetWordType err15[24];
	static SetWordType setwd2[191];
	static SetWordType err16[24];
	static SetWordType err17[24];
	static SetWordType err18[24];
	static SetWordType err19[24];
	static SetWordType err20[24];
	static SetWordType err21[24];
	static SetWordType setwd3[191];
	static SetWordType setwd4[191];
	static SetWordType err22[24];
	static SetWordType err23[24];
	static SetWordType err24[24];
	static SetWordType setwd5[191];
	static SetWordType err25[24];
	static SetWordType err26[24];
	static SetWordType err27[24];
	static SetWordType setwd6[191];
	static SetWordType err28[24];
	static SetWordType err29[24];
	static SetWordType err30[24];
	static SetWordType err31[24];
	static SetWordType err32[24];
	static SetWordType err33[24];
	static SetWordType err34[24];
	static SetWordType err35[24];
	static SetWordType setwd7[191];
	static SetWordType err36[24];
	static SetWordType err37[24];
	static SetWordType err38[24];
	static SetWordType err39[24];
	static SetWordType err40[24];
	static SetWordType ADDITIVE_TOKCLASS_set[24];
	static SetWordType setwd8[191];
	static SetWordType ASSIGN_TOKCLASS_set[24];
	static SetWordType err43[24];
	static SetWordType EQUALITY_TOKCLASS_set[24];
	static SetWordType err45[24];
	static SetWordType err46[24];
	static SetWordType MULTIPLICATIVE_TOKCLASS_set[24];
	static SetWordType err48[24];
	static SetWordType setwd9[191];
	static SetWordType err49[24];
	static SetWordType PM_TOKCLASS_set[24];
	static SetWordType CAST_TOKCLASS_set[24];
	static SetWordType err52[24];
	static SetWordType setwd10[191];
	static SetWordType err53[24];
	static SetWordType err54[24];
	static SetWordType RELATIONAL_TOKCLASS_set[24];
	static SetWordType SHIFT_TOKCLASS_set[24];
	static SetWordType UNARYOP_TOKCLASS_set[24];
	static SetWordType setwd11[191];
	static SetWordType err58[24];
	static SetWordType err59[24];
	static SetWordType err60[24];
	static SetWordType CURLY_TOKCLASS_set[24];
	static SetWordType err62[24];
	static SetWordType RCURLY_EOF_TOKCLASS_set[24];
	static SetWordType err64[24];
	static SetWordType setwd12[191];
	static SetWordType err65[24];
	static SetWordType OPTOR_SIMPLE_TOKCLASS_set[24];
	static SetWordType err67[24];
	static SetWordType err68[24];
	static SetWordType setwd13[191];
	static SetWordType err69[24];
	static SetWordType err70[24];
	static SetWordType err71[24];
	static SetWordType err72[24];
	static SetWordType err73[24];
	static SetWordType err74[24];
	static SetWordType err75[24];
	static SetWordType setwd14[191];
	static SetWordType err76[24];
	static SetWordType setwd15[191];
	static SetWordType err77[24];
	static SetWordType err78[24];
	static SetWordType err79[24];
	static SetWordType CURLY_SEMICOLON_TOKCLASS_set[24];
	static SetWordType err81[24];
	static SetWordType setwd16[191];
	static SetWordType err82[24];
	static SetWordType err83[24];
	static SetWordType err84[24];
	static SetWordType err85[24];
	static SetWordType err86[24];
	static SetWordType err87[24];
	static SetWordType err88[24];
	static SetWordType setwd17[191];
	static SetWordType err89[24];
	static SetWordType err90[24];
	static SetWordType err91[24];
	static SetWordType err92[24];
	static SetWordType err93[24];
	static SetWordType setwd18[191];
	static SetWordType err94[24];
	static SetWordType err95[24];
	static SetWordType err96[24];
	static SetWordType err97[24];
	static SetWordType err98[24];
	static SetWordType setwd19[191];
	static SetWordType err99[24];
	static SetWordType err100[24];
	static SetWordType err101[24];
	static SetWordType setwd20[191];
private:
	void zzdflthandlers( int _signal, int *_retsignal );

public:

struct _rv5 {
	CPPTypeRefI classType;
	CPPConst::TypeSpecifier ts  ;
};

struct _rv6 {
	CPPTypeRefI classType;
	CPPConst::TypeSpecifier ts  ;
};

struct _rv9 {
	
   JLStr declName;
	
   StrListRefI argNameList;
	
   CPPScopeRefI declScope;
	
   CPPScopeRefI argScope;
	
   CPPTypeRefI outputType;
	
   bool usedInnerTemplateParms 
 ;
};

struct _rv18 {
	CPPConst::StorageClass sc;
	CPPConst::DeclModifier dm  ;
};

struct _rv19 {
	CPPTypeRefI type;
	CPPConst::StorageClass scout;
	CPPConst::DeclModifier dmout  ;
};

struct _rv20 {
	CPPConst::CVQualifier cvout;
	CPPConst::StorageClass scout;
	CPPConst::DeclModifier dmout  ;
};

struct _rv21 {
	CPPTypeRefI type;
	CPPConst::StorageClass scout;
	CPPConst::DeclModifier dmout  ;
};

struct _rv22 {
	
   JLStr declName;
	
   StrListRefI argNameList;
	
   CPPScopeRefI declScope;
	
   CPPScopeRefI argScope;
	
   CPPTypeRefI outputType;
	
   bool usedInnerTemplateParms
 ;
};

struct _rv23 {
	
   JLStr declName;
	
   StrListRefI argNameList;
	
   CPPScopeRefI declScope;
	
   CPPScopeRefI argScope;
	
   CPPTypeRefI outputType;
	
   bool usedInnerTemplateParms
 ;
};

struct _rv27 {
	JLStr declName;
	CPPTypeRefI outputType  ;
};

struct _rv32 {
	StrListRefI argNameList;
	CPPScopeRefI argScope;
	CPPTypeRefI outputType  ;
};

struct _rv33 {
	StrListRefI argNameList;
	CPPScopeRefI argScope;
	CPPTypeRefI outputType  ;
};

struct _rv57 {
	CPPTypeRefI cppType;
	CPPExprRefI exprArraySize  ;
};

struct _rv69 {
	JLStr argName;
	CPPTypeRefI outputType  ;
};

struct _rv70 {
	StrListRefI argNameList;
	CPPTypeRefI outputType  ;
};

struct _rv71 {
	StrListRefI argNameList;
	CPPTypeRefI outputType  ;
};

struct _rv72 {
	StrListRefI argNameList;
	CPPTypeRefI outputType  ;
};

struct _rv74 {
	JLStr name;
	bool usedInnerTemplateParms  ;
};

struct _rv77 {
	CPPTypeRefI classType;
	bool usedInnerTemplateParms  ;
};

struct _rv94 {
	TemplateArgumentRefI argRef;
	bool usedInnerTemplateParms  ;
};

struct _rv95 {
	TemplateArgumentListRefI argList;
	bool usedInnerTemplateParms  ;
};

struct _rv102 {
	JLStr specializationName;
	CPPTypeRefI specializationType;
	bool usedInnerTemplateParms  ;
};
	CPPParser(ANTLRTokenBuffer *input);
	  CPPConst::AccessSpecifier    access_specifier(void);
	void base_clause(  CPPTypeRefI classType  );
	void base_specifier(  CPPTypeRefI classType  );
	 CPPConst::TypeSpecifier   builtin_type_specifier(void);
	struct _rv5 class_specifier(void);
	struct _rv6 class_specifier_simple(void);
	  CPPConst::CallingConvention    compiler_specific_calling_convention(void);
	  ANTLRTokenPtr    constant(void);
	struct _rv9 ctor_declarator(void);
	void ctor_initializer(void);
	void ctor_member_init(void);
	 CPPConst::CVQualifier   cv_qualifier(void);
	 CPPConst::CVQualifier   cv_qualifier_seq(void);
	void declaration_external(void);
	void declaration_external_or_member(  bool memberDecl  );
	void declaration_member(void);
	  CPPConst::DeclModifier    declaration_modifier(void);
	struct _rv18 declaration_sc_or_dm_seq(void);
	struct _rv19 declaration_specifiers(  CPPConst::StorageClass scin, CPPConst::DeclModifier dmin  );
	struct _rv20 declaration_specifiers_qualifier(  CPPConst::CVQualifier cvin, CPPConst::StorageClass scin, CPPConst::DeclModifier dmin  );
	struct _rv21 declaration_specifiers_simple(  CPPConst::StorageClass scin, CPPConst::DeclModifier dmin  );
	struct _rv22 declarator(  CPPTypeRefI inputType, CPPConst::CallingConvention cc  );
	struct _rv23 declarator_direct(  CPPTypeRefI inputType, CPPConst::CallingConvention cc  );
	void declarator_function_or_init_list(  
   CPPTypeRefI declSpecType, 
   CPPConst::StorageClass sc, 
   CPPConst::DeclModifier dm,
   bool memberDecl
 );
	void declarator_init(  CPPTypeRefI inputType, CPPConst::StorageClass sc, CPPConst::DeclModifier dm   );
	void declarator_init_list(  CPPTypeRefI declSpecType, CPPConst::StorageClass sc, CPPConst::DeclModifier dm   );
	struct _rv27 declarator_opt_abstract(  CPPTypeRefI inputType  );
	  CPPTypeRefI    declarator_ptr(  CPPTypeRefI inputType  );
	  CPPTypeRefI    declarator_ptr_to_member(  CPPTypeRefI inputType  );
	  CPPTypeRefI    declarator_suffix_array(  CPPTypeRefI inputType  );
	  CPPTypeRefI    declarator_suffix_bitfield(  CPPTypeRefI inputType  );
	struct _rv32 declarator_suffix_function(  CPPTypeRefI inputType, CPPConst::CallingConvention cc  );
	struct _rv33 declarator_suffixes(  CPPTypeRefI inputType, CPPConst::CallingConvention cc  );
	  CPPTypeRefI    enum_specifier(void);
	  CPPTypeRefI    enum_specifier_simple(void);
	  CPPExprRefI    enumerator(  CPPTypeRefI enumType, CPPExprRefI exprIn  );
	void enumerator_list(  CPPTypeRefI enumType  );
	  CPPExprRefI    expression(void);
	  CPPExprRefI    expression_list(void);
	  CPPExprRefI    expr_additive(void);
	  CPPExprRefI    expr_and(void);
	  CPPExprRefI    expr_assignment(void);
	  CPPExprRefI    expr_cast(void);
	  CPPExprRefI    expr_conditional(void);
	  CPPExprRefI    expr_constant(void);
	  CPPExprRefI    expr_delete(  bool global  );
	  CPPExprRefI    expr_equality(void);
	  CPPExprRefI    expr_exclusive_or(void);
	  CPPExprRefI    expr_id(  CPPExprRefI objectExpr  );
	  CPPExprRefI    expr_inclusive_or(void);
	  CPPExprRefI    expr_literal(void);
	  CPPExprRefI    expr_logical_and(void);
	  CPPExprRefI    expr_logical_or(void);
	  CPPExprRefI    expr_multiplicative(void);
	  CPPExprRefI    expr_new(  bool global  );
	  CPPExprRefI    expr_new_initializer(void);
	struct _rv57 expr_new_type_id(void);
	  CPPExprRefI    expr_pm(void);
	  CPPExprRefI    expr_postfix(void);
	  CPPExprRefI    expr_primary(void);
	  CPPExprRefI    expr_relational(void);
	  CPPExprRefI    expr_shift(void);
	  CPPExprRefI    expr_unary(void);
	void generic_block(void);
	  CPPExprRefI    initializer(void);
	void linkage_specification(void);
	  CPPTypeRefI    optor_conversion(void);
	  JLStr    optor_simple(void);
	struct _rv69 parameter_declaration(  CPPTypeRefI inputType  );
	struct _rv70 parameter_declaration_list(  CPPTypeRefI inputType  );
	struct _rv71 parameter_list(  CPPTypeRefI inputType  );
	struct _rv72 parameter_list_opt(  CPPTypeRefI inputType  );
	void pragma_line(void);
	struct _rv74 qualified_id(  bool allowType, bool allowCtor, bool allowAnyDtor  );
	  CPPTypeRefI    qualified_type(void);
	  bool    scope_override(void);
	struct _rv77 scope_segment(  CPPScopeState scopeState, bool isTemplate, bool isVerified  );
	  bool    scope_segment_list(  CPPScopeState scopeState, bool isVerified  );
	  CPPTypeRefI    simple_type_specifier(void);
	void statement(void);
	void statement_asm(void);
	void statement_catch(void);
	void statement_compound(void);
	void statement_declaration(void);
	void statement_exception_declaration(void);
	void statement_iteration(void);
	void statement_jump(void);
	void statement_labeled(void);
	void statement_list(void);
	void statement_selection(void);
	void statement_throw(void);
	void statement_try_block(void);
	 CPPConst::StorageClass   storage_class_specifier(void);
	struct _rv94 template_argument(void);
	struct _rv95 template_argument_list(void);
	void template_declaration(  CPPScopeRefI preTemplateScope, bool memberDecl  );
	void template_declaration_class(  
   CPPScopeRefI preTemplateScope, 
   TemplateParameterListRefI templateParameters,
   bool memberDecl,
   CPPScopeState templateScopeState
 );
	void template_declaration_function_or_data(  
   CPPScopeRefI preTemplateScope, 
   TemplateParameterListRefI templateParameters,
   bool memberDecl,
   CPPScopeState templateScopeState,
   CPPScopeRefI templateParameterScope
 );
	  TemplateParameterListRefI    template_head(void);
	  TemplateParameterRefI    template_parameter(  short parameterIdx  );
	  TemplateParameterListRefI    template_parameter_list(void);
	struct _rv102 template_specialization(  const JLStr& name, CPPScopeState scopeState, const ANTLRTokenPtr& errTok   );
	void template_specialization_reparse(void);
	void translation_unit(void);
	  CPPTypeRefI    type_name(void);
	static SetWordType EXTERNAL_SYNC_TOKCLASS_set[24];
	static SetWordType EXTERNAL_SYNC2_TOKCLASS_set[24];
	static SetWordType MEMBER_SYNC_TOKCLASS_set[24];
	static SetWordType STATEMENT_SYNC_TOKCLASS_set[24];
	static SetWordType DECLSPEC_DECLARATOR_AMBIG_TOKCLASS_set[24];
};

#endif /* CPPParser_h */

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions