summaryrefslogtreecommitdiffstats
path: root/languages/ada/AdaParser.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'languages/ada/AdaParser.hpp')
-rw-r--r--languages/ada/AdaParser.hpp389
1 files changed, 389 insertions, 0 deletions
diff --git a/languages/ada/AdaParser.hpp b/languages/ada/AdaParser.hpp
new file mode 100644
index 00000000..0074c820
--- /dev/null
+++ b/languages/ada/AdaParser.hpp
@@ -0,0 +1,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_*/