You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdevelop/languages/ada/AdaParser.hpp

390 lines
12 KiB

#ifndef INC_AdaParser_hpp_
#define INC_AdaParser_hpp_
#line 29 "ada.g"
#include <antlr/SemanticException.hpp> // antlr wants this
#include "AdaAST.hpp"
#include "preambles.h"
#line 11 "AdaParser.hpp"
#include <antlr/config.hpp>
/* $ANTLR 2.7.7 (20070609): "ada.g" -> "AdaParser.hpp"$ */
#include <antlr/TokenStream.hpp>
#include <antlr/TokenBuffer.hpp>
#include "AdaTokenTypes.hpp"
#include <antlr/LLkParser.hpp>
class CUSTOM_API AdaParser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, public AdaTokenTypes
{
#line 53 "ada.g"
ANTLR_PARSER_PREAMBLE
public:
// Ada support stuff
void push_def_id (const RefAdaAST& defid);
const RefAdaAST& pop_def_id ();
bool end_id_matches_def_id (const RefAdaAST& endid);
bool definable_operator (const char *string); // operator_symbol sans "/="
bool is_operator_symbol (const char *string);
#line 22 "AdaParser.hpp"
public:
void initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory );
protected:
AdaParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf, int k);
public:
AdaParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf);
protected:
AdaParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer, int k);
public:
AdaParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer);
AdaParser(const ANTLR_USE_NAMESPACE(antlr)ParserSharedInputState& state);
int getNumTokens() const
{
return AdaParser::NUM_TOKENS;
}
const char* getTokenName( int type ) const
{
if( type > getNumTokens() ) return 0;
return AdaParser::tokenNames[type];
}
const char* const* getTokenNames() const
{
return AdaParser::tokenNames;
}
public: void compilation_unit();
public: void context_items_opt();
public: void library_item();
public: void subunit();
public: void pragma();
public: void pragma_args_opt();
public: void pragma_arg();
public: void expression();
public: void with_clause();
public: void use_clause();
public: void c_name_list();
public: void compound_name();
public: void subtype_mark();
public: void attribute_id();
public: void private_opt();
public: void lib_pkg_spec_or_body();
public: void subprog_decl_or_rename_or_inst_or_body(
boolean lib_level
);
public: void generic_decl(
boolean lib_level
);
public: void def_id(
boolean lib_level
);
public: void pkg_body_part();
public: void spec_decl_part(
RefAdaAST pkg
);
public: void subprog_decl(
boolean lib_level
);
public: void generic_subp_inst();
public: void formal_part_opt();
public: void renames();
public: void is_separate_or_abstract_or_decl(
RefAdaAST t
);
public: void def_designator(
boolean lib_level
);
public: void function_tail();
public: void generic_inst();
public: void value_s();
public: void parenth_values();
public: void value();
public: void ranged_expr_s();
public: void ranged_expr();
public: void simple_expression();
public: void range();
public: void range_constraint();
public: void range_dots();
public: void range_attrib_ref();
public: void prefix();
public: void parameter_specification();
public: void def_ids_colon();
public: void mode_opt();
public: void init_opt();
public: void defining_identifier_list();
public: void name();
public: RefAdaAST definable_operator_symbol();
public: RefAdaAST is_operator();
public: void parenthesized_primary();
public: void extension_opt();
public: void separate_or_abstract(
RefAdaAST t
);
public: RefAdaAST designator();
public: void func_formal_part_opt();
public: void func_param();
public: void in_access_opt();
public: void pkg_spec_part();
public: void basic_declarative_items_opt();
public: void private_declarative_items_opt();
public: void end_id_opt();
public: void basic_decl_item();
public: void basic_declarative_items();
public: void task_type_or_single_decl(
RefAdaAST tsk
);
public: void prot_type_or_single_decl(
RefAdaAST pro
);
public: void decl_common();
public: void discrim_part_opt();
public: void task_definition_opt();
public: void task_items_opt();
public: void private_task_items_opt();
public: void discrim_part_text();
public: void discriminant_specifications();
public: void known_discrim_part();
public: void empty_discrim_opt();
public: void discrim_part();
public: void discriminant_specification();
public: void access_opt();
public: void entrydecls_repspecs_opt();
public: void entry_declaration();
public: void rep_spec();
public: void discrete_subtype_def_opt();
public: void discrete_subtype_definition();
public: void subtype_ind();
public: void rep_spec_part(
RefAdaAST t
);
public: void align_opt();
public: void comp_loc_s();
public: void protected_definition();
public: void prot_private_opt();
public: void prot_op_decl();
public: void comp_decl();
public: void prot_op_decl_s();
public: void prot_member_decl_s();
public: void component_subtype_def();
public: void type_def(
RefAdaAST t
);
public: void derived_or_private_or_record(
RefAdaAST t, boolean has_discrim
);
public: void local_enum_name();
public: void enumeration_aggregate();
public: void aliased_constant_opt();
public: void array_type_definition(
RefAdaAST t
);
public: void enum_id_s();
public: void range_constraint_opt();
public: void access_type_definition(
RefAdaAST t
);
public: void enumeration_literal_specification();
public: void index_or_discrete_range_s();
public: void index_or_discrete_range();
public: void aliased_opt();
public: void constraint_opt();
public: void digits_constraint();
public: void delta_constraint();
public: void index_constraint();
public: void discriminant_constraint();
public: void discrete_range();
public: void discriminant_association();
public: void selector_names_opt();
public: void association_head();
public: void selector_name();
public: void protected_opt();
public: void constant_all_opt();
public: void abstract_opt();
public: void record_definition(
boolean has_discrim
);
public: void abstract_tagged_limited_opt();
public: void component_list(
boolean has_discrim
);
public: void component_items();
public: void variant_part();
public: void empty_component_items();
public: void discriminant_direct_name();
public: void variant_s();
public: void variant();
public: void choice_s();
public: void choice();
public: void discrete_with_range();
public: void mark_with_constraint();
public: void generic_formal_part_opt();
public: void generic_formal_parameter();
public: void discriminable_type_definition(
RefAdaAST t
);
public: void subprogram_default_opt();
public: void formal_package_actual_part_opt();
public: void body_part();
public: void declarative_part();
public: void block_body();
public: void declarative_item();
public: void body_is();
public: void separate();
public: void prot_op_bodies_opt();
public: void block_body_opt();
public: void handled_stmt_s();
public: void entry_body();
public: void subprog_decl_or_body();
public: void statements();
public: void except_handler_part_opt();
public: void handled_stmts_opt();
public: void statement();
public: void def_label_opt();
public: void null_stmt();
public: void exit_stmt();
public: void return_stmt();
public: void goto_stmt();
public: void delay_stmt();
public: void abort_stmt();
public: void raise_stmt();
public: void requeue_stmt();
public: void accept_stmt();
public: void select_stmt();
public: void if_stmt();
public: void case_stmt();
public: void loop_stmt();
public: void block();
public: void statement_identifier();
public: void id_opt();
public: void call_or_assignment();
public: void cond_clause();
public: void elsifs_opt();
public: void else_opt();
public: void condition();
public: void alternative_s();
public: void case_statement_alternative();
public: void iteration_scheme_opt();
public: void reverse_opt();
public: void id_opt_aux();
public: void declare_opt();
public: void label_name();
public: void entry_body_formal_part();
public: void entry_barrier();
public: void entry_index_spec_opt();
public: void entry_call_stmt();
public: void entry_index_opt();
public: void until_opt();
public: void triggering_alternative();
public: void abortable_part();
public: void selective_accept();
public: void entry_call_alternative();
public: void delay_alternative();
public: void stmts_opt();
public: void guard_opt();
public: void select_alternative();
public: void or_select_opt();
public: void accept_alternative();
public: void exception_handler();
public: void identifier_colon_opt();
public: void except_choice_s();
public: void exception_choice();
public: void operator_call();
public: void operator_call_tail(
RefAdaAST opstr
);
public: void relation();
public: void range_or_mark();
public: void signed_term();
public: void term();
public: void factor();
public: void primary();
public: void name_or_qualified();
public: void allocator();
public: void subprogram_body();
public: void package_body();
public: void task_body();
public: void protected_body();
public:
ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
{
return ANTLR_USE_NAMESPACE(antlr)RefAST(returnAST);
}
protected:
RefAdaAST returnAST;
private:
static const char* tokenNames[];
#ifndef NO_STATIC_CONSTS
static const int NUM_TOKENS = 290;
#else
enum {
NUM_TOKENS = 290
};
#endif
static const unsigned long _tokenSet_0_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
static const unsigned long _tokenSet_1_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
static const unsigned long _tokenSet_2_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
static const unsigned long _tokenSet_3_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
static const unsigned long _tokenSet_4_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
static const unsigned long _tokenSet_5_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
static const unsigned long _tokenSet_6_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
static const unsigned long _tokenSet_7_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_7;
static const unsigned long _tokenSet_8_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_8;
static const unsigned long _tokenSet_9_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_9;
static const unsigned long _tokenSet_10_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_10;
static const unsigned long _tokenSet_11_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_11;
static const unsigned long _tokenSet_12_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_12;
static const unsigned long _tokenSet_13_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_13;
static const unsigned long _tokenSet_14_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_14;
static const unsigned long _tokenSet_15_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_15;
static const unsigned long _tokenSet_16_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_16;
static const unsigned long _tokenSet_17_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_17;
static const unsigned long _tokenSet_18_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_18;
static const unsigned long _tokenSet_19_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_19;
static const unsigned long _tokenSet_20_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_20;
static const unsigned long _tokenSet_21_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_21;
static const unsigned long _tokenSet_22_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_22;
static const unsigned long _tokenSet_23_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_23;
static const unsigned long _tokenSet_24_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_24;
static const unsigned long _tokenSet_25_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_25;
static const unsigned long _tokenSet_26_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_26;
static const unsigned long _tokenSet_27_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_27;
static const unsigned long _tokenSet_28_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_28;
static const unsigned long _tokenSet_29_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_29;
static const unsigned long _tokenSet_30_data_[];
static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_30;
};
#endif /*INC_AdaParser_hpp_*/