1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
|
#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_*/
|