summaryrefslogtreecommitdiffstats
path: root/languages/ada/AdaTreeParserSuper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'languages/ada/AdaTreeParserSuper.cpp')
-rw-r--r--languages/ada/AdaTreeParserSuper.cpp9050
1 files changed, 9050 insertions, 0 deletions
diff --git a/languages/ada/AdaTreeParserSuper.cpp b/languages/ada/AdaTreeParserSuper.cpp
new file mode 100644
index 00000000..be5f0623
--- /dev/null
+++ b/languages/ada/AdaTreeParserSuper.cpp
@@ -0,0 +1,9050 @@
+/* $ANTLR 2.7.7 (20070609): "ada.tree.g" -> "AdaTreeParserSuper.cpp"$ */
+#include "AdaTreeParserSuper.hpp"
+#include <antlr/Token.hpp>
+#include <antlr/AST.hpp>
+#include <antlr/NoViableAltException.hpp>
+#include <antlr/MismatchedTokenException.hpp>
+#include <antlr/SemanticException.hpp>
+#include <antlr/BitSet.hpp>
+#line 1 "ada.tree.g"
+#line 11 "AdaTreeParserSuper.cpp"
+AdaTreeParserSuper::AdaTreeParserSuper()
+ : ANTLR_USE_NAMESPACE(antlr)TreeParser() {
+}
+
+void AdaTreeParserSuper::compilation_unit(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST compilation_unit_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ context_items_opt(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case LIBRARY_ITEM:
+ {
+ library_item(_t);
+ _t = _retTree;
+ break;
+ }
+ case SUBUNIT:
+ {
+ subunit(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == PRAGMA)) {
+ pragma(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop4;
+ }
+
+ }
+ _loop4:;
+ } // ( ... )*
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::context_items_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST context_items_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t12 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp1_AST_in = _t;
+ match(_t,CONTEXT_CLAUSE);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case WITH_CLAUSE:
+ {
+ with_clause(_t);
+ _t = _retTree;
+ break;
+ }
+ case USE_CLAUSE:
+ case USE_TYPE_CLAUSE:
+ {
+ use_clause(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop14;
+ }
+ }
+ }
+ _loop14:;
+ } // ( ... )*
+ _t = __t12;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::library_item(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST library_item_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t32 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp2_AST_in = _t;
+ match(_t,LIBRARY_ITEM);
+ _t = _t->getFirstChild();
+ modifiers(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ABSTRACT_FUNCTION_DECLARATION:
+ case ABSTRACT_PROCEDURE_DECLARATION:
+ case FUNCTION_BODY:
+ case FUNCTION_BODY_STUB:
+ case FUNCTION_DECLARATION:
+ case FUNCTION_RENAMING_DECLARATION:
+ case GENERIC_FUNCTION_INSTANTIATION:
+ case GENERIC_PROCEDURE_INSTANTIATION:
+ case PROCEDURE_BODY:
+ case PROCEDURE_BODY_STUB:
+ case PROCEDURE_DECLARATION:
+ case PROCEDURE_RENAMING_DECLARATION:
+ {
+ subprog_decl_or_rename_or_inst_or_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case PACKAGE_BODY:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t34 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp3_AST_in = _t;
+ match(_t,PACKAGE_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ pkg_body_part(_t);
+ _t = _retTree;
+ _t = __t34;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_PACKAGE_INSTANTIATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t35 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp4_AST_in = _t;
+ match(_t,GENERIC_PACKAGE_INSTANTIATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ generic_inst(_t);
+ _t = _retTree;
+ _t = __t35;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PACKAGE_SPECIFICATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t36 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp5_AST_in = _t;
+ match(_t,PACKAGE_SPECIFICATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ pkg_spec_part(_t);
+ _t = _retTree;
+ _t = __t36;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PACKAGE_RENAMING_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t37 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp6_AST_in = _t;
+ match(_t,PACKAGE_RENAMING_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t37;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_PACKAGE_DECLARATION:
+ case GENERIC_FUNCTION_DECLARATION:
+ case GENERIC_FUNCTION_RENAMING:
+ case GENERIC_PACKAGE_RENAMING:
+ case GENERIC_PROCEDURE_DECLARATION:
+ case GENERIC_PROCEDURE_RENAMING:
+ {
+ generic_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t32;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subunit(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subunit_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t514 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp7_AST_in = _t;
+ match(_t,SUBUNIT);
+ _t = _t->getFirstChild();
+ compound_name(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case FUNCTION_BODY:
+ case PROCEDURE_BODY:
+ {
+ subprogram_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case PACKAGE_BODY:
+ {
+ package_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case TASK_BODY:
+ {
+ task_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case PROTECTED_BODY:
+ {
+ protected_body(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t514;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::pragma(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST pragma_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t6 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp8_AST_in = _t;
+ match(_t,PRAGMA);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp9_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_0.member(_t->getType()))) {
+ pragma_arg(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop8;
+ }
+
+ }
+ _loop8:;
+ } // ( ... )*
+ _t = __t6;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::pragma_arg(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST pragma_arg_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case RIGHT_SHAFT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t10 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp10_AST_in = _t;
+ match(_t,RIGHT_SHAFT);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp11_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ expression(_t);
+ _t = _retTree;
+ _t = __t10;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::expression(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST expression_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case AND:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t472 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp12_AST_in = _t;
+ match(_t,AND);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ relation(_t);
+ _t = _retTree;
+ _t = __t472;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case AND_THEN:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t473 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp13_AST_in = _t;
+ match(_t,AND_THEN);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ relation(_t);
+ _t = _retTree;
+ _t = __t473;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OR:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t474 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp14_AST_in = _t;
+ match(_t,OR);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ relation(_t);
+ _t = _retTree;
+ _t = __t474;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OR_ELSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t475 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp15_AST_in = _t;
+ match(_t,OR_ELSE);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ relation(_t);
+ _t = _retTree;
+ _t = __t475;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case XOR:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t476 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp16_AST_in = _t;
+ match(_t,XOR);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ relation(_t);
+ _t = _retTree;
+ _t = __t476;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case NOT_IN:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ relation(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::with_clause(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST with_clause_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t16 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp17_AST_in = _t;
+ match(_t,WITH_CLAUSE);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt18=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == IDENTIFIER || _t->getType() == DOT)) {
+ compound_name(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt18>=1 ) { goto _loop18; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt18++;
+ }
+ _loop18:;
+ } // ( ... )+
+ _t = __t16;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::use_clause(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST use_clause_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case USE_TYPE_CLAUSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t22 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp18_AST_in = _t;
+ match(_t,USE_TYPE_CLAUSE);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt24=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == IDENTIFIER || _t->getType() == DOT || _t->getType() == TIC)) {
+ subtype_mark(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt24>=1 ) { goto _loop24; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt24++;
+ }
+ _loop24:;
+ } // ( ... )+
+ _t = __t22;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case USE_CLAUSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t25 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp19_AST_in = _t;
+ match(_t,USE_CLAUSE);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt27=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == IDENTIFIER || _t->getType() == DOT)) {
+ compound_name(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt27>=1 ) { goto _loop27; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt27++;
+ }
+ _loop27:;
+ } // ( ... )+
+ _t = __t25;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::compound_name(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST compound_name_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp20_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t20 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp21_AST_in = _t;
+ match(_t,DOT);
+ _t = _t->getFirstChild();
+ compound_name(_t);
+ _t = _retTree;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp22_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ _t = __t20;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subtype_mark(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subtype_mark_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ {
+ compound_name(_t);
+ _t = _retTree;
+ break;
+ }
+ case TIC:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t29 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp23_AST_in = _t;
+ match(_t,TIC);
+ _t = _t->getFirstChild();
+ compound_name(_t);
+ _t = _retTree;
+ attribute_id(_t);
+ _t = _retTree;
+ _t = __t29;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::attribute_id(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST attribute_id_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case RANGE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp24_AST_in = _t;
+ match(_t,RANGE);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DIGITS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp25_AST_in = _t;
+ match(_t,DIGITS);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DELTA:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp26_AST_in = _t;
+ match(_t,DELTA);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ACCESS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp27_AST_in = _t;
+ match(_t,ACCESS);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp28_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::modifiers(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST modifiers_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t39 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp29_AST_in = _t;
+ match(_t,MODIFIERS);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ABSTRACT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp30_AST_in = _t;
+ match(_t,ABSTRACT);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ACCESS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp31_AST_in = _t;
+ match(_t,ACCESS);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ALIASED:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp32_AST_in = _t;
+ match(_t,ALIASED);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ALL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp33_AST_in = _t;
+ match(_t,ALL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CONSTANT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp34_AST_in = _t;
+ match(_t,CONSTANT);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IN:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp35_AST_in = _t;
+ match(_t,IN);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case LIMITED:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp36_AST_in = _t;
+ match(_t,LIMITED);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OUT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp37_AST_in = _t;
+ match(_t,OUT);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PRIVATE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp38_AST_in = _t;
+ match(_t,PRIVATE);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PROTECTED:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp39_AST_in = _t;
+ match(_t,PROTECTED);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case REVERSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp40_AST_in = _t;
+ match(_t,REVERSE);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case TAGGED:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp41_AST_in = _t;
+ match(_t,TAGGED);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ goto _loop41;
+ }
+ }
+ }
+ _loop41:;
+ } // ( ... )*
+ _t = __t39;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subprog_decl_or_rename_or_inst_or_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subprog_decl_or_rename_or_inst_or_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ABSTRACT_FUNCTION_DECLARATION:
+ case ABSTRACT_PROCEDURE_DECLARATION:
+ case FUNCTION_BODY_STUB:
+ case FUNCTION_DECLARATION:
+ case FUNCTION_RENAMING_DECLARATION:
+ case GENERIC_FUNCTION_INSTANTIATION:
+ case GENERIC_PROCEDURE_INSTANTIATION:
+ case PROCEDURE_BODY_STUB:
+ case PROCEDURE_DECLARATION:
+ case PROCEDURE_RENAMING_DECLARATION:
+ {
+ subprog_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case PROCEDURE_BODY:
+ {
+ procedure_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case FUNCTION_BODY:
+ {
+ function_body(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::def_id(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST def_id_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ compound_name(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::pkg_body_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST pkg_body_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ declarative_part(_t);
+ _t = _retTree;
+ block_body_opt(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::generic_inst(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST generic_inst_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ compound_name(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case VALUES:
+ {
+ value_s(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::pkg_spec_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST pkg_spec_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ basic_declarative_items_opt(_t);
+ _t = _retTree;
+ private_declarative_items_opt(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::renames(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST renames_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case CHARACTER_STRING:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp42_AST_in = _t;
+ match(_t,CHARACTER_STRING);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OPERATOR_SYMBOL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp43_AST_in = _t;
+ match(_t,OPERATOR_SYMBOL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case INDEXED_COMPONENT:
+ {
+ name(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::generic_decl(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST generic_decl_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case GENERIC_PACKAGE_RENAMING:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t277 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp44_AST_in = _t;
+ match(_t,GENERIC_PACKAGE_RENAMING);
+ _t = _t->getFirstChild();
+ generic_formal_part_opt(_t);
+ _t = _retTree;
+ def_id(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t277;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_PACKAGE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t278 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp45_AST_in = _t;
+ match(_t,GENERIC_PACKAGE_DECLARATION);
+ _t = _t->getFirstChild();
+ generic_formal_part_opt(_t);
+ _t = _retTree;
+ def_id(_t);
+ _t = _retTree;
+ pkg_spec_part(_t);
+ _t = _retTree;
+ _t = __t278;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_PROCEDURE_RENAMING:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t279 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp46_AST_in = _t;
+ match(_t,GENERIC_PROCEDURE_RENAMING);
+ _t = _t->getFirstChild();
+ generic_formal_part_opt(_t);
+ _t = _retTree;
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t279;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t280 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp47_AST_in = _t;
+ match(_t,GENERIC_PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ generic_formal_part_opt(_t);
+ _t = _retTree;
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t280;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_FUNCTION_RENAMING:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t281 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp48_AST_in = _t;
+ match(_t,GENERIC_FUNCTION_RENAMING);
+ _t = _t->getFirstChild();
+ generic_formal_part_opt(_t);
+ _t = _retTree;
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t281;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t282 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp49_AST_in = _t;
+ match(_t,GENERIC_FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ generic_formal_part_opt(_t);
+ _t = _retTree;
+ def_id(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t282;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::id_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST id_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t43 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp50_AST_in = _t;
+ match(_t,ID_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case OPERATOR_SYMBOL:
+ {
+ def_designator(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t43;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::def_designator(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST def_designator_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ {
+ compound_name(_t);
+ _t = _retTree;
+ break;
+ }
+ case OPERATOR_SYMBOL:
+ {
+ definable_operator_symbol(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::end_id_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST end_id_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t46 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp51_AST_in = _t;
+ match(_t,END);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case OPERATOR_SYMBOL:
+ {
+ def_designator(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t46;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subprog_decl(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subprog_decl_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case GENERIC_PROCEDURE_INSTANTIATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t49 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp52_AST_in = _t;
+ match(_t,GENERIC_PROCEDURE_INSTANTIATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ generic_inst(_t);
+ _t = _retTree;
+ _t = __t49;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PROCEDURE_RENAMING_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t50 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp53_AST_in = _t;
+ match(_t,PROCEDURE_RENAMING_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t50;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t51 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp54_AST_in = _t;
+ match(_t,PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t51;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PROCEDURE_BODY_STUB:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t52 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp55_AST_in = _t;
+ match(_t,PROCEDURE_BODY_STUB);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t52;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ABSTRACT_PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t53 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp56_AST_in = _t;
+ match(_t,ABSTRACT_PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t53;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_FUNCTION_INSTANTIATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t54 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST_in = _t;
+ match(_t,GENERIC_FUNCTION_INSTANTIATION);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ generic_inst(_t);
+ _t = _retTree;
+ _t = __t54;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FUNCTION_RENAMING_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t55 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST_in = _t;
+ match(_t,FUNCTION_RENAMING_DECLARATION);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t55;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t56 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST_in = _t;
+ match(_t,FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t56;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FUNCTION_BODY_STUB:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t57 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST_in = _t;
+ match(_t,FUNCTION_BODY_STUB);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t57;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ABSTRACT_FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t58 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST_in = _t;
+ match(_t,ABSTRACT_FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t58;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::formal_part_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST formal_part_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t84 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST_in = _t;
+ match(_t,FORMAL_PART_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == PARAMETER_SPECIFICATION)) {
+ parameter_specification(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop86;
+ }
+
+ }
+ _loop86:;
+ } // ( ... )*
+ _t = __t84;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::function_tail(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST function_tail_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ formal_part_opt(_t);
+ _t = _retTree;
+ subtype_mark(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::value_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST value_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t468 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST_in = _t;
+ match(_t,VALUES);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt470=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_1.member(_t->getType()))) {
+ value(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt470>=1 ) { goto _loop470; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt470++;
+ }
+ _loop470:;
+ } // ( ... )+
+ _t = __t468;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::value(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST value_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case OTHERS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t63 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST_in = _t;
+ match(_t,OTHERS);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ _t = __t63;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case RIGHT_SHAFT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t64 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST_in = _t;
+ match(_t,RIGHT_SHAFT);
+ _t = _t->getFirstChild();
+ ranged_expr_s(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t64;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case RANGE:
+ case PIPE:
+ case DOT_DOT:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ ranged_expr_s(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::ranged_expr_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST ranged_expr_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PIPE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t66 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST_in = _t;
+ match(_t,PIPE);
+ _t = _t->getFirstChild();
+ ranged_expr_s(_t);
+ _t = _retTree;
+ ranged_expr(_t);
+ _t = _retTree;
+ _t = __t66;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case RANGE:
+ case DOT_DOT:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ ranged_expr(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::ranged_expr(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST ranged_expr_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t68 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST_in = _t;
+ match(_t,DOT_DOT);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t68;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case RANGE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t69 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST_in = _t;
+ match(_t,RANGE);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ range(_t);
+ _t = _retTree;
+ _t = __t69;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::simple_expression(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST simple_expression_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PLUS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t488 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST_in = _t;
+ match(_t,PLUS);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ signed_term(_t);
+ _t = _retTree;
+ _t = __t488;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case MINUS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t489 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST_in = _t;
+ match(_t,MINUS);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ signed_term(_t);
+ _t = _retTree;
+ _t = __t489;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CONCAT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t490 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST_in = _t;
+ match(_t,CONCAT);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ signed_term(_t);
+ _t = _retTree;
+ _t = __t490;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case NOT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ signed_term(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::range(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST range_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ {
+ range_dots(_t);
+ _t = _retTree;
+ break;
+ }
+ case RANGE_ATTRIBUTE_REFERENCE:
+ {
+ range_attrib_ref(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::range_constraint(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST range_constraint_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t71 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST_in = _t;
+ match(_t,RANGE_CONSTRAINT);
+ _t = _t->getFirstChild();
+ range(_t);
+ _t = _retTree;
+ _t = __t71;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::range_dots(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST range_dots_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t75 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST_in = _t;
+ match(_t,DOT_DOT);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t75;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::range_attrib_ref(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST range_attrib_ref_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t77 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST_in = _t;
+ match(_t,RANGE_ATTRIBUTE_REFERENCE);
+ _t = _t->getFirstChild();
+ prefix(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t77;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prefix(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prefix_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t80 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST_in = _t;
+ match(_t,DOT);
+ _t = _t->getFirstChild();
+ prefix(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ALL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST_in = _t;
+ match(_t,ALL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp78_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t80;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case INDEXED_COMPONENT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t82 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST_in = _t;
+ match(_t,INDEXED_COMPONENT);
+ _t = _t->getFirstChild();
+ prefix(_t);
+ _t = _retTree;
+ value_s(_t);
+ _t = _retTree;
+ _t = __t82;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::parameter_specification(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST parameter_specification_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t88 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST_in = _t;
+ match(_t,PARAMETER_SPECIFICATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ subtype_mark(_t);
+ _t = _retTree;
+ init_opt(_t);
+ _t = _retTree;
+ _t = __t88;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::defining_identifier_list(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST defining_identifier_list_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t90 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST_in = _t;
+ match(_t,DEFINING_IDENTIFIER_LIST);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt92=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == IDENTIFIER)) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp82_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ }
+ else {
+ if ( _cnt92>=1 ) { goto _loop92; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt92++;
+ }
+ _loop92:;
+ } // ( ... )+
+ _t = __t90;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::init_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST init_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t136 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp83_AST_in = _t;
+ match(_t,INIT_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t136;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::name(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST name_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t95 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST_in = _t;
+ match(_t,DOT);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ALL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST_in = _t;
+ match(_t,ALL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp87_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CHARACTER_LITERAL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp88_AST_in = _t;
+ match(_t,CHARACTER_LITERAL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OPERATOR_SYMBOL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST_in = _t;
+ match(_t,OPERATOR_SYMBOL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t95;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case INDEXED_COMPONENT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t97 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp90_AST_in = _t;
+ match(_t,INDEXED_COMPONENT);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ value_s(_t);
+ _t = _retTree;
+ _t = __t97;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case TIC:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t98 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp91_AST_in = _t;
+ match(_t,TIC);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ attribute_id(_t);
+ _t = _retTree;
+ _t = __t98;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::definable_operator_symbol(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST definable_operator_symbol_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST_in = _t;
+ match(_t,OPERATOR_SYMBOL);
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::parenthesized_primary(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST parenthesized_primary_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t101 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST_in = _t;
+ match(_t,PARENTHESIZED_PRIMARY);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case NuLL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp94_AST_in = _t;
+ match(_t,NuLL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case VALUES:
+ {
+ value_s(_t);
+ _t = _retTree;
+ extension_opt(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t101;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::extension_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST extension_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t104 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp95_AST_in = _t;
+ match(_t,EXTENSION_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case NuLL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp96_AST_in = _t;
+ match(_t,NuLL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case VALUES:
+ {
+ value_s(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t104;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::spec_decl_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST spec_decl_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case GENERIC_PACKAGE_INSTANTIATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t109 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST_in = _t;
+ match(_t,GENERIC_PACKAGE_INSTANTIATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ generic_inst(_t);
+ _t = _retTree;
+ _t = __t109;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PACKAGE_SPECIFICATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t110 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp98_AST_in = _t;
+ match(_t,PACKAGE_SPECIFICATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ pkg_spec_part(_t);
+ _t = _retTree;
+ _t = __t110;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PACKAGE_RENAMING_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t111 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp99_AST_in = _t;
+ match(_t,PACKAGE_RENAMING_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ renames(_t);
+ _t = _retTree;
+ _t = __t111;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::basic_declarative_items_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST basic_declarative_items_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t114 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp100_AST_in = _t;
+ match(_t,BASIC_DECLARATIVE_ITEMS_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_2.member(_t->getType()))) {
+ basic_decl_item(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop116;
+ }
+
+ }
+ _loop116:;
+ } // ( ... )*
+ _t = __t114;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::private_declarative_items_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST private_declarative_items_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t118 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST_in = _t;
+ match(_t,PRIVATE_DECLARATIVE_ITEMS_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_2.member(_t->getType()))) {
+ basic_decl_item(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop120;
+ }
+
+ }
+ _loop120:;
+ } // ( ... )*
+ _t = __t118;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::basic_decl_item(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST basic_decl_item_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PACKAGE_RENAMING_DECLARATION:
+ case PACKAGE_SPECIFICATION:
+ case GENERIC_PACKAGE_INSTANTIATION:
+ {
+ spec_decl_part(_t);
+ _t = _retTree;
+ break;
+ }
+ case SINGLE_TASK_DECLARATION:
+ case TASK_TYPE_DECLARATION:
+ {
+ task_type_or_single_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case PROTECTED_TYPE_DECLARATION:
+ case SINGLE_PROTECTED_DECLARATION:
+ {
+ prot_type_or_single_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case ABSTRACT_FUNCTION_DECLARATION:
+ case ABSTRACT_PROCEDURE_DECLARATION:
+ case FUNCTION_BODY_STUB:
+ case FUNCTION_DECLARATION:
+ case FUNCTION_RENAMING_DECLARATION:
+ case GENERIC_FUNCTION_INSTANTIATION:
+ case GENERIC_PROCEDURE_INSTANTIATION:
+ case PROCEDURE_BODY_STUB:
+ case PROCEDURE_DECLARATION:
+ case PROCEDURE_RENAMING_DECLARATION:
+ {
+ subprog_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case EXCEPTION_DECLARATION:
+ case EXCEPTION_RENAMING_DECLARATION:
+ case GENERIC_PACKAGE_DECLARATION:
+ case INCOMPLETE_TYPE_DECLARATION:
+ case NUMBER_DECLARATION:
+ case OBJECT_DECLARATION:
+ case OBJECT_RENAMING_DECLARATION:
+ case PRIVATE_EXTENSION_DECLARATION:
+ case PRIVATE_TYPE_DECLARATION:
+ case RECORD_REPRESENTATION_CLAUSE:
+ case SUBTYPE_DECLARATION:
+ case USE_CLAUSE:
+ case USE_TYPE_CLAUSE:
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ case ACCESS_TO_OBJECT_DECLARATION:
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ case ARRAY_OBJECT_DECLARATION:
+ case ARRAY_TYPE_DECLARATION:
+ case DECIMAL_FIXED_POINT_DECLARATION:
+ case DERIVED_RECORD_EXTENSION:
+ case ENUMERATION_TYPE_DECLARATION:
+ case FLOATING_POINT_DECLARATION:
+ case GENERIC_FUNCTION_DECLARATION:
+ case GENERIC_FUNCTION_RENAMING:
+ case GENERIC_PACKAGE_RENAMING:
+ case GENERIC_PROCEDURE_DECLARATION:
+ case GENERIC_PROCEDURE_RENAMING:
+ case MODULAR_TYPE_DECLARATION:
+ case ORDINARY_DERIVED_TYPE_DECLARATION:
+ case ORDINARY_FIXED_POINT_DECLARATION:
+ case RECORD_TYPE_DECLARATION:
+ case SIGNED_INTEGER_TYPE_DECLARATION:
+ {
+ decl_common(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::task_type_or_single_decl(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST task_type_or_single_decl_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case TASK_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t123 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp102_AST_in = _t;
+ match(_t,TASK_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ discrim_part_opt(_t);
+ _t = _retTree;
+ task_definition_opt(_t);
+ _t = _retTree;
+ _t = __t123;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case SINGLE_TASK_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t124 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp103_AST_in = _t;
+ match(_t,SINGLE_TASK_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ task_definition_opt(_t);
+ _t = _retTree;
+ _t = __t124;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prot_type_or_single_decl(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prot_type_or_single_decl_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PROTECTED_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t164 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp104_AST_in = _t;
+ match(_t,PROTECTED_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ discrim_part_opt(_t);
+ _t = _retTree;
+ protected_definition(_t);
+ _t = _retTree;
+ _t = __t164;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case SINGLE_PROTECTED_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t165 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST_in = _t;
+ match(_t,SINGLE_PROTECTED_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ protected_definition(_t);
+ _t = _retTree;
+ _t = __t165;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::decl_common(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST decl_common_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ENUMERATION_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t184 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp106_AST_in = _t;
+ match(_t,ENUMERATION_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp107_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ enum_id_s(_t);
+ _t = _retTree;
+ _t = __t184;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case SIGNED_INTEGER_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t185 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp108_AST_in = _t;
+ match(_t,SIGNED_INTEGER_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp109_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ range(_t);
+ _t = _retTree;
+ _t = __t185;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case MODULAR_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t186 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp110_AST_in = _t;
+ match(_t,MODULAR_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp111_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ expression(_t);
+ _t = _retTree;
+ _t = __t186;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FLOATING_POINT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t187 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp112_AST_in = _t;
+ match(_t,FLOATING_POINT_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp113_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ expression(_t);
+ _t = _retTree;
+ range_constraint_opt(_t);
+ _t = _retTree;
+ _t = __t187;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ORDINARY_FIXED_POINT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t188 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp114_AST_in = _t;
+ match(_t,ORDINARY_FIXED_POINT_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp115_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ expression(_t);
+ _t = _retTree;
+ range(_t);
+ _t = _retTree;
+ _t = __t188;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DECIMAL_FIXED_POINT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t189 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp116_AST_in = _t;
+ match(_t,DECIMAL_FIXED_POINT_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp117_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ expression(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ range_constraint_opt(_t);
+ _t = _retTree;
+ _t = __t189;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ARRAY_TYPE_DECLARATION:
+ {
+ array_type_declaration(_t);
+ _t = _retTree;
+ break;
+ }
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ case ACCESS_TO_OBJECT_DECLARATION:
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ {
+ access_type_declaration(_t);
+ _t = _retTree;
+ break;
+ }
+ case INCOMPLETE_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t190 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp118_AST_in = _t;
+ match(_t,INCOMPLETE_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp119_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ discrim_part_opt(_t);
+ _t = _retTree;
+ _t = __t190;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PRIVATE_EXTENSION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t191 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp120_AST_in = _t;
+ match(_t,PRIVATE_EXTENSION_DECLARATION);
+ _t = _t->getFirstChild();
+ id_and_discrim(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ _t = __t191;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DERIVED_RECORD_EXTENSION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t192 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp121_AST_in = _t;
+ match(_t,DERIVED_RECORD_EXTENSION);
+ _t = _t->getFirstChild();
+ id_and_discrim(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ record_definition(_t);
+ _t = _retTree;
+ _t = __t192;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ORDINARY_DERIVED_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t193 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp122_AST_in = _t;
+ match(_t,ORDINARY_DERIVED_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ id_and_discrim(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ _t = __t193;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PRIVATE_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t194 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp123_AST_in = _t;
+ match(_t,PRIVATE_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ id_and_discrim(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ _t = __t194;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case RECORD_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t195 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp124_AST_in = _t;
+ match(_t,RECORD_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ id_and_discrim(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ record_definition(_t);
+ _t = _retTree;
+ _t = __t195;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case SUBTYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t196 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp125_AST_in = _t;
+ match(_t,SUBTYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp126_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ subtype_ind(_t);
+ _t = _retTree;
+ _t = __t196;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GENERIC_PACKAGE_DECLARATION:
+ case GENERIC_FUNCTION_DECLARATION:
+ case GENERIC_FUNCTION_RENAMING:
+ case GENERIC_PACKAGE_RENAMING:
+ case GENERIC_PROCEDURE_DECLARATION:
+ case GENERIC_PROCEDURE_RENAMING:
+ {
+ generic_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case USE_CLAUSE:
+ case USE_TYPE_CLAUSE:
+ {
+ use_clause(_t);
+ _t = _retTree;
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case RECORD_REPRESENTATION_CLAUSE:
+ {
+ rep_spec(_t);
+ _t = _retTree;
+ break;
+ }
+ case EXCEPTION_RENAMING_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t197 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp127_AST_in = _t;
+ match(_t,EXCEPTION_RENAMING_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ compound_name(_t);
+ _t = _retTree;
+ _t = __t197;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OBJECT_RENAMING_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t198 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp128_AST_in = _t;
+ match(_t,OBJECT_RENAMING_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ subtype_mark(_t);
+ _t = _retTree;
+ name(_t);
+ _t = _retTree;
+ _t = __t198;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case EXCEPTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t199 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp129_AST_in = _t;
+ match(_t,EXCEPTION_DECLARATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ _t = __t199;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case NUMBER_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t200 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp130_AST_in = _t;
+ match(_t,NUMBER_DECLARATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t200;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ARRAY_OBJECT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t201 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp131_AST_in = _t;
+ match(_t,ARRAY_OBJECT_DECLARATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ array_type_definition(_t);
+ _t = _retTree;
+ init_opt(_t);
+ _t = _retTree;
+ _t = __t201;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OBJECT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t202 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp132_AST_in = _t;
+ match(_t,OBJECT_DECLARATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ init_opt(_t);
+ _t = _retTree;
+ _t = __t202;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discrim_part_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discrim_part_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t127 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp133_AST_in = _t;
+ match(_t,DISCRIM_PART_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case BOX:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp134_AST_in = _t;
+ match(_t,BOX);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DISCRIMINANT_SPECIFICATIONS:
+ {
+ discriminant_specifications(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t127;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::task_definition_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST task_definition_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ task_items_opt(_t);
+ _t = _retTree;
+ private_task_items_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::task_items_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST task_items_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t139 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp135_AST_in = _t;
+ match(_t,TASK_ITEMS_OPT);
+ _t = _t->getFirstChild();
+ entrydecls_repspecs_opt(_t);
+ _t = _retTree;
+ _t = __t139;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::private_task_items_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST private_task_items_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t162 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp136_AST_in = _t;
+ match(_t,PRIVATE_TASK_ITEMS_OPT);
+ _t = _t->getFirstChild();
+ entrydecls_repspecs_opt(_t);
+ _t = _retTree;
+ _t = __t162;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discriminant_specifications(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discriminant_specifications_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t130 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp137_AST_in = _t;
+ match(_t,DISCRIMINANT_SPECIFICATIONS);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == DISCRIMINANT_SPECIFICATION)) {
+ discriminant_specification(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop132;
+ }
+
+ }
+ _loop132:;
+ } // ( ... )*
+ _t = __t130;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discriminant_specification(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discriminant_specification_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t134 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp138_AST_in = _t;
+ match(_t,DISCRIMINANT_SPECIFICATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ subtype_mark(_t);
+ _t = _retTree;
+ init_opt(_t);
+ _t = _retTree;
+ _t = __t134;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entrydecls_repspecs_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entrydecls_repspecs_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ENTRY_DECLARATION:
+ {
+ entry_declaration(_t);
+ _t = _retTree;
+ break;
+ }
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case RECORD_REPRESENTATION_CLAUSE:
+ {
+ rep_spec(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop142;
+ }
+ }
+ }
+ _loop142:;
+ } // ( ... )*
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_declaration(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_declaration_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t144 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp139_AST_in = _t;
+ match(_t,ENTRY_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp140_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ discrete_subtype_def_opt(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t144;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::rep_spec(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST rep_spec_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case RECORD_REPRESENTATION_CLAUSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t150 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp141_AST_in = _t;
+ match(_t,RECORD_REPRESENTATION_CLAUSE);
+ _t = _t->getFirstChild();
+ subtype_mark(_t);
+ _t = _retTree;
+ align_opt(_t);
+ _t = _retTree;
+ comp_loc_s(_t);
+ _t = _retTree;
+ _t = __t150;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case AT_CLAUSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t151 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp142_AST_in = _t;
+ match(_t,AT_CLAUSE);
+ _t = _t->getFirstChild();
+ subtype_mark(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t151;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t152 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp143_AST_in = _t;
+ match(_t,ATTRIBUTE_DEFINITION_CLAUSE);
+ _t = _t->getFirstChild();
+ subtype_mark(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t152;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t153 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp144_AST_in = _t;
+ match(_t,ENUMERATION_REPESENTATION_CLAUSE);
+ _t = _t->getFirstChild();
+ local_enum_name(_t);
+ _t = _retTree;
+ enumeration_aggregate(_t);
+ _t = _retTree;
+ _t = __t153;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discrete_subtype_def_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discrete_subtype_def_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t146 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp145_AST_in = _t;
+ match(_t,DISCRETE_SUBTYPE_DEF_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ case SUBTYPE_INDICATION:
+ {
+ discrete_subtype_definition(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t146;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discrete_subtype_definition(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discrete_subtype_definition_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ {
+ range(_t);
+ _t = _retTree;
+ break;
+ }
+ case SUBTYPE_INDICATION:
+ {
+ subtype_ind(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subtype_ind(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subtype_ind_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t221 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp146_AST_in = _t;
+ match(_t,SUBTYPE_INDICATION);
+ _t = _t->getFirstChild();
+ subtype_mark(_t);
+ _t = _retTree;
+ constraint_opt(_t);
+ _t = _retTree;
+ _t = __t221;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::align_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST align_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t155 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp147_AST_in = _t;
+ match(_t,MOD_CLAUSE_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t155;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::comp_loc_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST comp_loc_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t158 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp148_AST_in = _t;
+ match(_t,COMPONENT_CLAUSES_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ {
+ subtype_mark(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ range(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop160;
+ }
+ }
+ }
+ _loop160:;
+ } // ( ... )*
+ _t = __t158;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::local_enum_name(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST local_enum_name_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp149_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::enumeration_aggregate(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST enumeration_aggregate_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_1.member(_t->getType()))) {
+ value(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop275;
+ }
+
+ }
+ _loop275:;
+ } // ( ... )*
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::protected_definition(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST protected_definition_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ prot_op_decl_s(_t);
+ _t = _retTree;
+ prot_private_opt(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prot_private_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prot_private_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t167 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp150_AST_in = _t;
+ match(_t,PROT_PRIVATE_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PROT_MEMBER_DECLARATIONS:
+ {
+ prot_member_decl_s(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t167;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prot_member_decl_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prot_member_decl_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t178 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp151_AST_in = _t;
+ match(_t,PROT_MEMBER_DECLARATIONS);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENTRY_DECLARATION:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case RECORD_REPRESENTATION_CLAUSE:
+ case FUNCTION_DECLARATION:
+ case PROCEDURE_DECLARATION:
+ {
+ prot_op_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case COMPONENT_DECLARATION:
+ {
+ comp_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop180;
+ }
+ }
+ }
+ _loop180:;
+ } // ( ... )*
+ _t = __t178;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prot_op_decl_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prot_op_decl_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t171 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp152_AST_in = _t;
+ match(_t,PROT_OP_DECLARATIONS);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_3.member(_t->getType()))) {
+ prot_op_decl(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop173;
+ }
+
+ }
+ _loop173:;
+ } // ( ... )*
+ _t = __t171;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prot_op_decl(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prot_op_decl_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ENTRY_DECLARATION:
+ {
+ entry_declaration(_t);
+ _t = _retTree;
+ break;
+ }
+ case PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t175 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp153_AST_in = _t;
+ match(_t,PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t175;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t176 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp154_AST_in = _t;
+ match(_t,FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t176;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case RECORD_REPRESENTATION_CLAUSE:
+ {
+ rep_spec(_t);
+ _t = _retTree;
+ break;
+ }
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::comp_decl(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST comp_decl_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t182 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp155_AST_in = _t;
+ match(_t,COMPONENT_DECLARATION);
+ _t = _t->getFirstChild();
+ defining_identifier_list(_t);
+ _t = _retTree;
+ component_subtype_def(_t);
+ _t = _retTree;
+ init_opt(_t);
+ _t = _retTree;
+ _t = __t182;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::component_subtype_def(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST component_subtype_def_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ modifiers(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::enum_id_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST enum_id_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ { // ( ... )+
+ int _cnt206=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == IDENTIFIER || _t->getType() == CHARACTER_LITERAL)) {
+ enumeration_literal_specification(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt206>=1 ) { goto _loop206; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt206++;
+ }
+ _loop206:;
+ } // ( ... )+
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::range_constraint_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST range_constraint_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case RANGE_CONSTRAINT:
+ {
+ range_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::array_type_declaration(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST array_type_declaration_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t212 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp156_AST_in = _t;
+ match(_t,ARRAY_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp157_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ array_type_definition(_t);
+ _t = _retTree;
+ _t = __t212;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::access_type_declaration(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST access_type_declaration_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t245 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp158_AST_in = _t;
+ match(_t,ACCESS_TO_PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp159_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ modifiers(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t245;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t246 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp160_AST_in = _t;
+ match(_t,ACCESS_TO_FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp161_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ modifiers(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t246;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ACCESS_TO_OBJECT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t247 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp162_AST_in = _t;
+ match(_t,ACCESS_TO_OBJECT_DECLARATION);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp163_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ modifiers(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ _t = __t247;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::id_and_discrim(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST id_and_discrim_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp164_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ discrim_part_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::record_definition(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST record_definition_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case COMPONENT_ITEMS:
+ {
+ component_list(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::array_type_definition(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST array_type_definition_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ index_or_discrete_range_s(_t);
+ _t = _retTree;
+ component_subtype_def(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::enumeration_literal_specification(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST enumeration_literal_specification_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp165_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CHARACTER_LITERAL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp166_AST_in = _t;
+ match(_t,CHARACTER_LITERAL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::index_or_discrete_range_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST index_or_discrete_range_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case RANGE:
+ case DOT_DOT:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case NOT:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ index_or_discrete_range(_t);
+ _t = _retTree;
+ break;
+ }
+ case COMMA:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t214 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp167_AST_in = _t;
+ match(_t,COMMA);
+ _t = _t->getFirstChild();
+ index_or_discrete_range_s(_t);
+ _t = _retTree;
+ index_or_discrete_range(_t);
+ _t = _retTree;
+ _t = __t214;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::index_or_discrete_range(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST index_or_discrete_range_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t216 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp168_AST_in = _t;
+ match(_t,DOT_DOT);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t216;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case RANGE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t217 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp169_AST_in = _t;
+ match(_t,RANGE);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case BOX:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp170_AST_in = _t;
+ match(_t,BOX);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ {
+ range(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t217;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case NOT:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ simple_expression(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::constraint_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST constraint_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case RANGE_CONSTRAINT:
+ {
+ range_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case DIGITS_CONSTRAINT:
+ {
+ digits_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case DELTA_CONSTRAINT:
+ {
+ delta_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case INDEX_CONSTRAINT:
+ {
+ index_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case DISCRIMINANT_CONSTRAINT:
+ {
+ discriminant_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::digits_constraint(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST digits_constraint_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t225 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp171_AST_in = _t;
+ match(_t,DIGITS_CONSTRAINT);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ range_constraint_opt(_t);
+ _t = _retTree;
+ _t = __t225;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::delta_constraint(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST delta_constraint_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t227 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp172_AST_in = _t;
+ match(_t,DELTA_CONSTRAINT);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ range_constraint_opt(_t);
+ _t = _retTree;
+ _t = __t227;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::index_constraint(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST index_constraint_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t229 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp173_AST_in = _t;
+ match(_t,INDEX_CONSTRAINT);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt231=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == DOT_DOT || _t->getType() == RANGE_ATTRIBUTE_REFERENCE || _t->getType() == SUBTYPE_INDICATION)) {
+ discrete_range(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt231>=1 ) { goto _loop231; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt231++;
+ }
+ _loop231:;
+ } // ( ... )+
+ _t = __t229;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discriminant_constraint(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discriminant_constraint_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t234 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp174_AST_in = _t;
+ match(_t,DISCRIMINANT_CONSTRAINT);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt236=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == DISCRIMINANT_ASSOCIATION)) {
+ discriminant_association(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt236>=1 ) { goto _loop236; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt236++;
+ }
+ _loop236:;
+ } // ( ... )+
+ _t = __t234;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discrete_range(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discrete_range_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ {
+ range(_t);
+ _t = _retTree;
+ break;
+ }
+ case SUBTYPE_INDICATION:
+ {
+ subtype_ind(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discriminant_association(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discriminant_association_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t238 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp175_AST_in = _t;
+ match(_t,DISCRIMINANT_ASSOCIATION);
+ _t = _t->getFirstChild();
+ selector_names_opt(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t238;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::selector_names_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST selector_names_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t240 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp176_AST_in = _t;
+ match(_t,SELECTOR_NAMES_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == IDENTIFIER)) {
+ selector_name(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop242;
+ }
+
+ }
+ _loop242:;
+ } // ( ... )*
+ _t = __t240;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::selector_name(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST selector_name_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp177_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::component_list(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST component_list_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ component_items(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case VARIANT_PART:
+ {
+ variant_part(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::component_items(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST component_items_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t253 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp178_AST_in = _t;
+ match(_t,COMPONENT_ITEMS);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case COMPONENT_DECLARATION:
+ {
+ comp_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop255;
+ }
+ }
+ }
+ _loop255:;
+ } // ( ... )*
+ _t = __t253;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::variant_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST variant_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t257 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp179_AST_in = _t;
+ match(_t,VARIANT_PART);
+ _t = _t->getFirstChild();
+ discriminant_direct_name(_t);
+ _t = _retTree;
+ variant_s(_t);
+ _t = _retTree;
+ _t = __t257;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discriminant_direct_name(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discriminant_direct_name_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp180_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::variant_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST variant_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t260 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp181_AST_in = _t;
+ match(_t,VARIANTS);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt262=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == VARIANT)) {
+ variant(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt262>=1 ) { goto _loop262; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt262++;
+ }
+ _loop262:;
+ } // ( ... )+
+ _t = __t260;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::variant(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST variant_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t264 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp182_AST_in = _t;
+ match(_t,VARIANT);
+ _t = _t->getFirstChild();
+ choice_s(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case COMPONENT_ITEMS:
+ {
+ component_list(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t264;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::choice_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST choice_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PIPE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t267 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp183_AST_in = _t;
+ match(_t,PIPE);
+ _t = _t->getFirstChild();
+ choice_s(_t);
+ _t = _retTree;
+ choice(_t);
+ _t = _retTree;
+ _t = __t267;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case OTHERS:
+ case DOT_DOT:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ case AND_THEN:
+ case MARK_WITH_CONSTRAINT:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ choice(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::choice(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST choice_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case OTHERS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp184_AST_in = _t;
+ match(_t,OTHERS);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ case MARK_WITH_CONSTRAINT:
+ {
+ discrete_with_range(_t);
+ _t = _retTree;
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::discrete_with_range(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST discrete_with_range_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case MARK_WITH_CONSTRAINT:
+ {
+ mark_with_constraint(_t);
+ _t = _retTree;
+ break;
+ }
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ {
+ range(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::mark_with_constraint(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST mark_with_constraint_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t271 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp185_AST_in = _t;
+ match(_t,MARK_WITH_CONSTRAINT);
+ _t = _t->getFirstChild();
+ subtype_mark(_t);
+ _t = _retTree;
+ range_constraint(_t);
+ _t = _retTree;
+ _t = __t271;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::generic_formal_part_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST generic_formal_part_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t284 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp186_AST_in = _t;
+ match(_t,GENERIC_FORMAL_PART);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case USE_CLAUSE:
+ case USE_TYPE_CLAUSE:
+ {
+ use_clause(_t);
+ _t = _retTree;
+ break;
+ }
+ case FORMAL_PACKAGE_DECLARATION:
+ case PARAMETER_SPECIFICATION:
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ case ACCESS_TO_OBJECT_DECLARATION:
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ case ARRAY_TYPE_DECLARATION:
+ case FORMAL_DECIMAL_FIXED_POINT_DECLARATION:
+ case FORMAL_DISCRETE_TYPE_DECLARATION:
+ case FORMAL_FLOATING_POINT_DECLARATION:
+ case FORMAL_FUNCTION_DECLARATION:
+ case FORMAL_MODULAR_TYPE_DECLARATION:
+ case FORMAL_ORDINARY_DERIVED_TYPE_DECLARATION:
+ case FORMAL_ORDINARY_FIXED_POINT_DECLARATION:
+ case FORMAL_PRIVATE_EXTENSION_DECLARATION:
+ case FORMAL_PRIVATE_TYPE_DECLARATION:
+ case FORMAL_PROCEDURE_DECLARATION:
+ case FORMAL_SIGNED_INTEGER_TYPE_DECLARATION:
+ {
+ generic_formal_parameter(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop286;
+ }
+ }
+ }
+ _loop286:;
+ } // ( ... )*
+ _t = __t284;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::generic_formal_parameter(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST generic_formal_parameter_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case FORMAL_DISCRETE_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t288 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp187_AST_in = _t;
+ match(_t,FORMAL_DISCRETE_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t288;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_SIGNED_INTEGER_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t289 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp188_AST_in = _t;
+ match(_t,FORMAL_SIGNED_INTEGER_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t289;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_MODULAR_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t290 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp189_AST_in = _t;
+ match(_t,FORMAL_MODULAR_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t290;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_DECIMAL_FIXED_POINT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t291 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp190_AST_in = _t;
+ match(_t,FORMAL_DECIMAL_FIXED_POINT_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t291;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_ORDINARY_FIXED_POINT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t292 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp191_AST_in = _t;
+ match(_t,FORMAL_ORDINARY_FIXED_POINT_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t292;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_FLOATING_POINT_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t293 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp192_AST_in = _t;
+ match(_t,FORMAL_FLOATING_POINT_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t293;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ARRAY_TYPE_DECLARATION:
+ {
+ formal_array_type_declaration(_t);
+ _t = _retTree;
+ break;
+ }
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ case ACCESS_TO_OBJECT_DECLARATION:
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ {
+ formal_access_type_declaration(_t);
+ _t = _retTree;
+ break;
+ }
+ case FORMAL_PRIVATE_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t294 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp193_AST_in = _t;
+ match(_t,FORMAL_PRIVATE_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ id_part(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ _t = __t294;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_ORDINARY_DERIVED_TYPE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t295 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp194_AST_in = _t;
+ match(_t,FORMAL_ORDINARY_DERIVED_TYPE_DECLARATION);
+ _t = _t->getFirstChild();
+ id_part(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ _t = __t295;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_PRIVATE_EXTENSION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t296 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp195_AST_in = _t;
+ match(_t,FORMAL_PRIVATE_EXTENSION_DECLARATION);
+ _t = _t->getFirstChild();
+ id_part(_t);
+ _t = _retTree;
+ modifiers(_t);
+ _t = _retTree;
+ subtype_ind(_t);
+ _t = _retTree;
+ _t = __t296;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t297 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp196_AST_in = _t;
+ match(_t,FORMAL_PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ subprogram_default_opt(_t);
+ _t = _retTree;
+ _t = __t297;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t298 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp197_AST_in = _t;
+ match(_t,FORMAL_FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ subprogram_default_opt(_t);
+ _t = _retTree;
+ _t = __t298;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FORMAL_PACKAGE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t299 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp198_AST_in = _t;
+ match(_t,FORMAL_PACKAGE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ compound_name(_t);
+ _t = _retTree;
+ formal_package_actual_part_opt(_t);
+ _t = _retTree;
+ _t = __t299;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PARAMETER_SPECIFICATION:
+ {
+ parameter_specification(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::formal_array_type_declaration(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST formal_array_type_declaration_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ array_type_declaration(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::formal_access_type_declaration(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST formal_access_type_declaration_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ access_type_declaration(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::id_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST id_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ def_id(_t);
+ _t = _retTree;
+ discrim_part_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subprogram_default_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subprogram_default_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case BOX:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp199_AST_in = _t;
+ match(_t,BOX);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case INDEXED_COMPONENT:
+ {
+ name(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::formal_package_actual_part_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST formal_package_actual_part_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case BOX:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp200_AST_in = _t;
+ match(_t,BOX);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DEFINING_IDENTIFIER_LIST:
+ {
+ defining_identifier_list(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::procedure_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST procedure_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t309 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp201_AST_in = _t;
+ match(_t,PROCEDURE_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ body_part(_t);
+ _t = _retTree;
+ _t = __t309;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::function_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST function_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t311 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp202_AST_in = _t;
+ match(_t,FUNCTION_BODY);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ body_part(_t);
+ _t = _retTree;
+ _t = __t311;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::body_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST body_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ declarative_part(_t);
+ _t = _retTree;
+ block_body(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::declarative_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST declarative_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t314 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp203_AST_in = _t;
+ match(_t,DECLARATIVE_PART);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case EXCEPTION_DECLARATION:
+ case EXCEPTION_RENAMING_DECLARATION:
+ case GENERIC_PACKAGE_DECLARATION:
+ case INCOMPLETE_TYPE_DECLARATION:
+ case NUMBER_DECLARATION:
+ case OBJECT_DECLARATION:
+ case OBJECT_RENAMING_DECLARATION:
+ case PACKAGE_BODY:
+ case PACKAGE_BODY_STUB:
+ case PACKAGE_RENAMING_DECLARATION:
+ case PACKAGE_SPECIFICATION:
+ case PRIVATE_EXTENSION_DECLARATION:
+ case PRIVATE_TYPE_DECLARATION:
+ case PROTECTED_BODY:
+ case PROTECTED_BODY_STUB:
+ case PROTECTED_TYPE_DECLARATION:
+ case RECORD_REPRESENTATION_CLAUSE:
+ case SINGLE_PROTECTED_DECLARATION:
+ case SINGLE_TASK_DECLARATION:
+ case SUBTYPE_DECLARATION:
+ case TASK_BODY:
+ case TASK_BODY_STUB:
+ case TASK_TYPE_DECLARATION:
+ case USE_CLAUSE:
+ case USE_TYPE_CLAUSE:
+ case ABSTRACT_FUNCTION_DECLARATION:
+ case ABSTRACT_PROCEDURE_DECLARATION:
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ case ACCESS_TO_OBJECT_DECLARATION:
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ case ARRAY_OBJECT_DECLARATION:
+ case ARRAY_TYPE_DECLARATION:
+ case DECIMAL_FIXED_POINT_DECLARATION:
+ case DERIVED_RECORD_EXTENSION:
+ case ENUMERATION_TYPE_DECLARATION:
+ case FLOATING_POINT_DECLARATION:
+ case FUNCTION_BODY:
+ case FUNCTION_BODY_STUB:
+ case FUNCTION_DECLARATION:
+ case FUNCTION_RENAMING_DECLARATION:
+ case GENERIC_FUNCTION_DECLARATION:
+ case GENERIC_FUNCTION_INSTANTIATION:
+ case GENERIC_FUNCTION_RENAMING:
+ case GENERIC_PACKAGE_INSTANTIATION:
+ case GENERIC_PACKAGE_RENAMING:
+ case GENERIC_PROCEDURE_DECLARATION:
+ case GENERIC_PROCEDURE_INSTANTIATION:
+ case GENERIC_PROCEDURE_RENAMING:
+ case MODULAR_TYPE_DECLARATION:
+ case ORDINARY_DERIVED_TYPE_DECLARATION:
+ case ORDINARY_FIXED_POINT_DECLARATION:
+ case PROCEDURE_BODY:
+ case PROCEDURE_BODY_STUB:
+ case PROCEDURE_DECLARATION:
+ case PROCEDURE_RENAMING_DECLARATION:
+ case RECORD_TYPE_DECLARATION:
+ case SIGNED_INTEGER_TYPE_DECLARATION:
+ {
+ declarative_item(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop316;
+ }
+ }
+ }
+ _loop316:;
+ } // ( ... )*
+ _t = __t314;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::block_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST block_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t336 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp204_AST_in = _t;
+ match(_t,BLOCK_BODY);
+ _t = _t->getFirstChild();
+ handled_stmt_s(_t);
+ _t = _retTree;
+ _t = __t336;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::declarative_item(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST declarative_item_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PACKAGE_BODY_STUB:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t318 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp205_AST_in = _t;
+ match(_t,PACKAGE_BODY_STUB);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t318;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PACKAGE_BODY:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t319 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp206_AST_in = _t;
+ match(_t,PACKAGE_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ pkg_body_part(_t);
+ _t = _retTree;
+ _t = __t319;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PACKAGE_RENAMING_DECLARATION:
+ case PACKAGE_SPECIFICATION:
+ case GENERIC_PACKAGE_INSTANTIATION:
+ {
+ spec_decl_part(_t);
+ _t = _retTree;
+ break;
+ }
+ case TASK_BODY_STUB:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t320 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp207_AST_in = _t;
+ match(_t,TASK_BODY_STUB);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t320;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case TASK_BODY:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t321 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp208_AST_in = _t;
+ match(_t,TASK_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ body_part(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ _t = __t321;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case SINGLE_TASK_DECLARATION:
+ case TASK_TYPE_DECLARATION:
+ {
+ task_type_or_single_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case PROTECTED_BODY_STUB:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t322 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp209_AST_in = _t;
+ match(_t,PROTECTED_BODY_STUB);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ _t = __t322;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PROTECTED_BODY:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t323 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp210_AST_in = _t;
+ match(_t,PROTECTED_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ prot_op_bodies_opt(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ _t = __t323;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case PROTECTED_TYPE_DECLARATION:
+ case SINGLE_PROTECTED_DECLARATION:
+ {
+ prot_type_or_single_decl(_t);
+ _t = _retTree;
+ break;
+ }
+ case ABSTRACT_FUNCTION_DECLARATION:
+ case ABSTRACT_PROCEDURE_DECLARATION:
+ case FUNCTION_BODY:
+ case FUNCTION_BODY_STUB:
+ case FUNCTION_DECLARATION:
+ case FUNCTION_RENAMING_DECLARATION:
+ case GENERIC_FUNCTION_INSTANTIATION:
+ case GENERIC_PROCEDURE_INSTANTIATION:
+ case PROCEDURE_BODY:
+ case PROCEDURE_BODY_STUB:
+ case PROCEDURE_DECLARATION:
+ case PROCEDURE_RENAMING_DECLARATION:
+ {
+ subprog_decl_or_rename_or_inst_or_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case ATTRIBUTE_DEFINITION_CLAUSE:
+ case AT_CLAUSE:
+ case ENUMERATION_REPESENTATION_CLAUSE:
+ case EXCEPTION_DECLARATION:
+ case EXCEPTION_RENAMING_DECLARATION:
+ case GENERIC_PACKAGE_DECLARATION:
+ case INCOMPLETE_TYPE_DECLARATION:
+ case NUMBER_DECLARATION:
+ case OBJECT_DECLARATION:
+ case OBJECT_RENAMING_DECLARATION:
+ case PRIVATE_EXTENSION_DECLARATION:
+ case PRIVATE_TYPE_DECLARATION:
+ case RECORD_REPRESENTATION_CLAUSE:
+ case SUBTYPE_DECLARATION:
+ case USE_CLAUSE:
+ case USE_TYPE_CLAUSE:
+ case ACCESS_TO_FUNCTION_DECLARATION:
+ case ACCESS_TO_OBJECT_DECLARATION:
+ case ACCESS_TO_PROCEDURE_DECLARATION:
+ case ARRAY_OBJECT_DECLARATION:
+ case ARRAY_TYPE_DECLARATION:
+ case DECIMAL_FIXED_POINT_DECLARATION:
+ case DERIVED_RECORD_EXTENSION:
+ case ENUMERATION_TYPE_DECLARATION:
+ case FLOATING_POINT_DECLARATION:
+ case GENERIC_FUNCTION_DECLARATION:
+ case GENERIC_FUNCTION_RENAMING:
+ case GENERIC_PACKAGE_RENAMING:
+ case GENERIC_PROCEDURE_DECLARATION:
+ case GENERIC_PROCEDURE_RENAMING:
+ case MODULAR_TYPE_DECLARATION:
+ case ORDINARY_DERIVED_TYPE_DECLARATION:
+ case ORDINARY_FIXED_POINT_DECLARATION:
+ case RECORD_TYPE_DECLARATION:
+ case SIGNED_INTEGER_TYPE_DECLARATION:
+ {
+ decl_common(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::prot_op_bodies_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST prot_op_bodies_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t329 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp211_AST_in = _t;
+ match(_t,PROT_OP_BODIES_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case ENTRY_BODY:
+ {
+ entry_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case FUNCTION_BODY:
+ case FUNCTION_DECLARATION:
+ case PROCEDURE_BODY:
+ case PROCEDURE_DECLARATION:
+ {
+ subprog_decl_or_body(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop331;
+ }
+ }
+ }
+ _loop331:;
+ } // ( ... )*
+ _t = __t329;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::block_body_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST block_body_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t326 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp212_AST_in = _t;
+ match(_t,BLOCK_BODY_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case HANDLED_SEQUENCE_OF_STATEMENTS:
+ {
+ handled_stmt_s(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t326;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::handled_stmt_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST handled_stmt_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t338 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp213_AST_in = _t;
+ match(_t,HANDLED_SEQUENCE_OF_STATEMENTS);
+ _t = _t->getFirstChild();
+ statements(_t);
+ _t = _retTree;
+ except_handler_part_opt(_t);
+ _t = _retTree;
+ _t = __t338;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t398 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp214_AST_in = _t;
+ match(_t,ENTRY_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ entry_body_formal_part(_t);
+ _t = _retTree;
+ entry_barrier(_t);
+ _t = _retTree;
+ body_part(_t);
+ _t = _retTree;
+ _t = __t398;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subprog_decl_or_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subprog_decl_or_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PROCEDURE_BODY:
+ {
+ procedure_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case PROCEDURE_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t333 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp215_AST_in = _t;
+ match(_t,PROCEDURE_DECLARATION);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ _t = __t333;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FUNCTION_BODY:
+ {
+ function_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case FUNCTION_DECLARATION:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t334 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp216_AST_in = _t;
+ match(_t,FUNCTION_DECLARATION);
+ _t = _t->getFirstChild();
+ def_designator(_t);
+ _t = _retTree;
+ function_tail(_t);
+ _t = _retTree;
+ _t = __t334;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::statements(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST statements_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t343 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp217_AST_in = _t;
+ match(_t,SEQUENCE_OF_STATEMENTS);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt345=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case STATEMENT:
+ {
+ statement(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ if ( _cnt345>=1 ) { goto _loop345; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+ }
+ _cnt345++;
+ }
+ _loop345:;
+ } // ( ... )+
+ _t = __t343;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::except_handler_part_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST except_handler_part_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t448 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp218_AST_in = _t;
+ match(_t,EXCEPT_HANDLER_PART_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == EXCEPTION_HANDLER)) {
+ exception_handler(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop450;
+ }
+
+ }
+ _loop450:;
+ } // ( ... )*
+ _t = __t448;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::handled_stmts_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST handled_stmts_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t340 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp219_AST_in = _t;
+ match(_t,HANDLED_STMTS_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case SEQUENCE_OF_STATEMENTS:
+ {
+ statements(_t);
+ _t = _retTree;
+ except_handler_part_opt(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t340;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::statement(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST statement_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t347 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp220_AST_in = _t;
+ match(_t,STATEMENT);
+ _t = _t->getFirstChild();
+ def_label_opt(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case NULL_STATEMENT:
+ {
+ null_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case EXIT_STATEMENT:
+ {
+ exit_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case RETURN_STATEMENT:
+ {
+ return_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case GOTO_STATEMENT:
+ {
+ goto_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case DELAY_STATEMENT:
+ {
+ delay_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case ABORT_STATEMENT:
+ {
+ abort_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case RAISE_STATEMENT:
+ {
+ raise_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case REQUEUE_STATEMENT:
+ {
+ requeue_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case ACCEPT_STATEMENT:
+ {
+ accept_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case ASYNCHRONOUS_SELECT:
+ case CONDITIONAL_ENTRY_CALL:
+ case SELECTIVE_ACCEPT:
+ case TIMED_ENTRY_CALL:
+ {
+ select_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case IF_STATEMENT:
+ {
+ if_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case CASE_STATEMENT:
+ {
+ case_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case LOOP_STATEMENT:
+ {
+ loop_stmt(_t);
+ _t = _retTree;
+ id_opt(_t);
+ _t = _retTree;
+ break;
+ }
+ case BLOCK_STATEMENT:
+ {
+ block(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ break;
+ }
+ case ASSIGNMENT_STATEMENT:
+ case CALL_STATEMENT:
+ {
+ call_or_assignment(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t347;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::def_label_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST def_label_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t350 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp221_AST_in = _t;
+ match(_t,LABEL_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp222_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t350;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::null_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST null_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp223_AST_in = _t;
+ match(_t,NULL_STATEMENT);
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::exit_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST exit_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t385 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp224_AST_in = _t;
+ match(_t,EXIT_STATEMENT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ label_name(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ case WHEN:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case WHEN:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp225_AST_in = _t;
+ match(_t,WHEN);
+ _t = _t->getNextSibling();
+ condition(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t385;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::return_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST return_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t390 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp226_AST_in = _t;
+ match(_t,RETURN_STATEMENT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t390;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::goto_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST goto_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t393 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp227_AST_in = _t;
+ match(_t,GOTO_STATEMENT);
+ _t = _t->getFirstChild();
+ label_name(_t);
+ _t = _retTree;
+ _t = __t393;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::delay_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST delay_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t412 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp228_AST_in = _t;
+ match(_t,DELAY_STATEMENT);
+ _t = _t->getFirstChild();
+ modifiers(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t412;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::abort_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST abort_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t444 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp229_AST_in = _t;
+ match(_t,ABORT_STATEMENT);
+ _t = _t->getFirstChild();
+ { // ( ... )+
+ int _cnt446=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_tokenSet_4.member(_t->getType()))) {
+ name(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt446>=1 ) { goto _loop446; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt446++;
+ }
+ _loop446:;
+ } // ( ... )+
+ _t = __t444;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::raise_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST raise_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t460 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp230_AST_in = _t;
+ match(_t,RAISE_STATEMENT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ {
+ compound_name(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t460;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::requeue_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST requeue_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t463 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp231_AST_in = _t;
+ match(_t,REQUEUE_STATEMENT);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ABORT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp232_AST_in = _t;
+ match(_t,ABORT);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t463;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::accept_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST accept_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t407 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp233_AST_in = _t;
+ match(_t,ACCEPT_STATEMENT);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ entry_index_opt(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ handled_stmts_opt(_t);
+ _t = _retTree;
+ end_id_opt(_t);
+ _t = _retTree;
+ _t = __t407;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::select_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST select_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ASYNCHRONOUS_SELECT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t414 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp234_AST_in = _t;
+ match(_t,ASYNCHRONOUS_SELECT);
+ _t = _t->getFirstChild();
+ triggering_alternative(_t);
+ _t = _retTree;
+ abortable_part(_t);
+ _t = _retTree;
+ _t = __t414;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case SELECTIVE_ACCEPT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t415 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp235_AST_in = _t;
+ match(_t,SELECTIVE_ACCEPT);
+ _t = _t->getFirstChild();
+ selective_accept(_t);
+ _t = _retTree;
+ _t = __t415;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case TIMED_ENTRY_CALL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t416 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp236_AST_in = _t;
+ match(_t,TIMED_ENTRY_CALL);
+ _t = _t->getFirstChild();
+ entry_call_alternative(_t);
+ _t = _retTree;
+ delay_alternative(_t);
+ _t = _retTree;
+ _t = __t416;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CONDITIONAL_ENTRY_CALL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t417 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp237_AST_in = _t;
+ match(_t,CONDITIONAL_ENTRY_CALL);
+ _t = _t->getFirstChild();
+ entry_call_alternative(_t);
+ _t = _retTree;
+ statements(_t);
+ _t = _retTree;
+ _t = __t417;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::if_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST if_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t354 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp238_AST_in = _t;
+ match(_t,IF_STATEMENT);
+ _t = _t->getFirstChild();
+ cond_clause(_t);
+ _t = _retTree;
+ elsifs_opt(_t);
+ _t = _retTree;
+ else_opt(_t);
+ _t = _retTree;
+ _t = __t354;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::case_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST case_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t366 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp239_AST_in = _t;
+ match(_t,CASE_STATEMENT);
+ _t = _t->getFirstChild();
+ expression(_t);
+ _t = _retTree;
+ alternative_s(_t);
+ _t = _retTree;
+ _t = __t366;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::loop_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST loop_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t373 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp240_AST_in = _t;
+ match(_t,LOOP_STATEMENT);
+ _t = _t->getFirstChild();
+ iteration_scheme_opt(_t);
+ _t = _retTree;
+ statements(_t);
+ _t = _retTree;
+ _t = __t373;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::block(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST block_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t380 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp241_AST_in = _t;
+ match(_t,BLOCK_STATEMENT);
+ _t = _t->getFirstChild();
+ declare_opt(_t);
+ _t = _retTree;
+ block_body(_t);
+ _t = _retTree;
+ _t = __t380;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::call_or_assignment(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST call_or_assignment_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ASSIGNMENT_STATEMENT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t395 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp242_AST_in = _t;
+ match(_t,ASSIGNMENT_STATEMENT);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ expression(_t);
+ _t = _retTree;
+ _t = __t395;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CALL_STATEMENT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t396 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp243_AST_in = _t;
+ match(_t,CALL_STATEMENT);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ _t = __t396;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::cond_clause(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST cond_clause_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t356 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp244_AST_in = _t;
+ match(_t,COND_CLAUSE);
+ _t = _t->getFirstChild();
+ condition(_t);
+ _t = _retTree;
+ statements(_t);
+ _t = _retTree;
+ _t = __t356;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::elsifs_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST elsifs_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t359 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp245_AST_in = _t;
+ match(_t,ELSIFS_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == COND_CLAUSE)) {
+ cond_clause(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop361;
+ }
+
+ }
+ _loop361:;
+ } // ( ... )*
+ _t = __t359;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::else_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST else_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t363 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp246_AST_in = _t;
+ match(_t,ELSE_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case SEQUENCE_OF_STATEMENTS:
+ {
+ statements(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t363;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::condition(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST condition_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ expression(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::alternative_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST alternative_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ { // ( ... )+
+ int _cnt369=0;
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == CASE_STATEMENT_ALTERNATIVE)) {
+ case_statement_alternative(_t);
+ _t = _retTree;
+ }
+ else {
+ if ( _cnt369>=1 ) { goto _loop369; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);}
+ }
+
+ _cnt369++;
+ }
+ _loop369:;
+ } // ( ... )+
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::case_statement_alternative(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST case_statement_alternative_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t371 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp247_AST_in = _t;
+ match(_t,CASE_STATEMENT_ALTERNATIVE);
+ _t = _t->getFirstChild();
+ choice_s(_t);
+ _t = _retTree;
+ statements(_t);
+ _t = _retTree;
+ _t = __t371;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::iteration_scheme_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST iteration_scheme_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t375 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp248_AST_in = _t;
+ match(_t,ITERATION_SCHEME_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case WHILE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t377 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp249_AST_in = _t;
+ match(_t,WHILE);
+ _t = _t->getFirstChild();
+ condition(_t);
+ _t = _retTree;
+ _t = __t377;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case FOR:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t378 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp250_AST_in = _t;
+ match(_t,FOR);
+ _t = _t->getFirstChild();
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp251_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ modifiers(_t);
+ _t = _retTree;
+ discrete_subtype_definition(_t);
+ _t = _retTree;
+ _t = __t378;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t375;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::declare_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST declare_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t382 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp252_AST_in = _t;
+ match(_t,DECLARE_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DECLARATIVE_PART:
+ {
+ declarative_part(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t382;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::label_name(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST label_name_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp253_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_body_formal_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_body_formal_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ entry_index_spec_opt(_t);
+ _t = _retTree;
+ formal_part_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_barrier(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_barrier_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ condition(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_index_spec_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_index_spec_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t401 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp254_AST_in = _t;
+ match(_t,ENTRY_INDEX_SPECIFICATION);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ {
+ def_id(_t);
+ _t = _retTree;
+ discrete_subtype_definition(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t401;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_call_stmt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_call_stmt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t405 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp255_AST_in = _t;
+ match(_t,ENTRY_CALL_STATEMENT);
+ _t = _t->getFirstChild();
+ name(_t);
+ _t = _retTree;
+ _t = __t405;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_index_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_index_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t409 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp256_AST_in = _t;
+ match(_t,ENTRY_INDEX_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ expression(_t);
+ _t = _retTree;
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t409;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::triggering_alternative(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST triggering_alternative_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t419 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp257_AST_in = _t;
+ match(_t,TRIGGERING_ALTERNATIVE);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DELAY_STATEMENT:
+ {
+ delay_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ case ENTRY_CALL_STATEMENT:
+ {
+ entry_call_stmt(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ stmts_opt(_t);
+ _t = _retTree;
+ _t = __t419;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::abortable_part(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST abortable_part_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t422 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp258_AST_in = _t;
+ match(_t,ABORTABLE_PART);
+ _t = _t->getFirstChild();
+ stmts_opt(_t);
+ _t = _retTree;
+ _t = __t422;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::selective_accept(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST selective_accept_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ guard_opt(_t);
+ _t = _retTree;
+ select_alternative(_t);
+ _t = _retTree;
+ or_select_opt(_t);
+ _t = _retTree;
+ else_opt(_t);
+ _t = _retTree;
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::entry_call_alternative(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST entry_call_alternative_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t424 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp259_AST_in = _t;
+ match(_t,ENTRY_CALL_ALTERNATIVE);
+ _t = _t->getFirstChild();
+ entry_call_stmt(_t);
+ _t = _retTree;
+ stmts_opt(_t);
+ _t = _retTree;
+ _t = __t424;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::delay_alternative(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST delay_alternative_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t435 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp260_AST_in = _t;
+ match(_t,DELAY_ALTERNATIVE);
+ _t = _t->getFirstChild();
+ delay_stmt(_t);
+ _t = _retTree;
+ stmts_opt(_t);
+ _t = _retTree;
+ _t = __t435;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::stmts_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST stmts_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PRAGMA:
+ {
+ pragma(_t);
+ _t = _retTree;
+ break;
+ }
+ case STATEMENT:
+ {
+ statement(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ goto _loop438;
+ }
+ }
+ }
+ _loop438:;
+ } // ( ... )*
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::guard_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST guard_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t427 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp261_AST_in = _t;
+ match(_t,GUARD_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case IN:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case OR:
+ case AND:
+ case XOR:
+ case NOT:
+ case EQ:
+ case NE:
+ case LT_:
+ case LE:
+ case GT:
+ case GE:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case AND_THEN:
+ case NOT_IN:
+ case OR_ELSE:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ condition(_t);
+ _t = _retTree;
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == PRAGMA)) {
+ pragma(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop430;
+ }
+
+ }
+ _loop430:;
+ } // ( ... )*
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t427;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::select_alternative(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST select_alternative_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ACCEPT_ALTERNATIVE:
+ {
+ accept_alternative(_t);
+ _t = _retTree;
+ break;
+ }
+ case DELAY_ALTERNATIVE:
+ {
+ delay_alternative(_t);
+ _t = _retTree;
+ break;
+ }
+ case TERMINATE_ALTERNATIVE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp262_AST_in = _t;
+ match(_t,TERMINATE_ALTERNATIVE);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::or_select_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST or_select_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t440 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp263_AST_in = _t;
+ match(_t,OR_SELECT_OPT);
+ _t = _t->getFirstChild();
+ { // ( ... )*
+ for (;;) {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ if ((_t->getType() == GUARD_OPT)) {
+ guard_opt(_t);
+ _t = _retTree;
+ select_alternative(_t);
+ _t = _retTree;
+ }
+ else {
+ goto _loop442;
+ }
+
+ }
+ _loop442:;
+ } // ( ... )*
+ _t = __t440;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::accept_alternative(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST accept_alternative_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t433 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp264_AST_in = _t;
+ match(_t,ACCEPT_ALTERNATIVE);
+ _t = _t->getFirstChild();
+ accept_stmt(_t);
+ _t = _retTree;
+ stmts_opt(_t);
+ _t = _retTree;
+ _t = __t433;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::exception_handler(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST exception_handler_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t452 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp265_AST_in = _t;
+ match(_t,EXCEPTION_HANDLER);
+ _t = _t->getFirstChild();
+ identifier_colon_opt(_t);
+ _t = _retTree;
+ except_choice_s(_t);
+ _t = _retTree;
+ statements(_t);
+ _t = _retTree;
+ _t = __t452;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::identifier_colon_opt(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST identifier_colon_opt_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t454 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp266_AST_in = _t;
+ match(_t,IDENTIFIER_COLON_OPT);
+ _t = _t->getFirstChild();
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp267_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case 3:
+ {
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t454;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::except_choice_s(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST except_choice_s_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PIPE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t457 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp268_AST_in = _t;
+ match(_t,PIPE);
+ _t = _t->getFirstChild();
+ except_choice_s(_t);
+ _t = _retTree;
+ exception_choice(_t);
+ _t = _retTree;
+ _t = __t457;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case OTHERS:
+ {
+ exception_choice(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::exception_choice(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST exception_choice_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ {
+ compound_name(_t);
+ _t = _retTree;
+ break;
+ }
+ case OTHERS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp269_AST_in = _t;
+ match(_t,OTHERS);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::operator_call(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST operator_call_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t466 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp270_AST_in = _t;
+ match(_t,OPERATOR_SYMBOL);
+ _t = _t->getFirstChild();
+ value_s(_t);
+ _t = _retTree;
+ _t = __t466;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::relation(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST relation_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IN:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t478 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp271_AST_in = _t;
+ match(_t,IN);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ range_or_mark(_t);
+ _t = _retTree;
+ _t = __t478;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case NOT_IN:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t479 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp272_AST_in = _t;
+ match(_t,NOT_IN);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ range_or_mark(_t);
+ _t = _retTree;
+ _t = __t479;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case EQ:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t480 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp273_AST_in = _t;
+ match(_t,EQ);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t480;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case NE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t481 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp274_AST_in = _t;
+ match(_t,NE);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t481;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case LT_:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t482 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp275_AST_in = _t;
+ match(_t,LT_);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t482;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case LE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t483 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp276_AST_in = _t;
+ match(_t,LE);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t483;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t484 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp277_AST_in = _t;
+ match(_t,GT);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t484;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case GE:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t485 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp278_AST_in = _t;
+ match(_t,GE);
+ _t = _t->getFirstChild();
+ simple_expression(_t);
+ _t = _retTree;
+ simple_expression(_t);
+ _t = _retTree;
+ _t = __t485;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case NOT:
+ case PLUS:
+ case MINUS:
+ case CONCAT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ case UNARY_MINUS:
+ case UNARY_PLUS:
+ {
+ simple_expression(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::range_or_mark(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST range_or_mark_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case DOT_DOT:
+ case RANGE_ATTRIBUTE_REFERENCE:
+ {
+ range(_t);
+ _t = _retTree;
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ {
+ subtype_mark(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::signed_term(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST signed_term_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case UNARY_PLUS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t492 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp279_AST_in = _t;
+ match(_t,UNARY_PLUS);
+ _t = _t->getFirstChild();
+ term(_t);
+ _t = _retTree;
+ _t = __t492;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case UNARY_MINUS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t493 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp280_AST_in = _t;
+ match(_t,UNARY_MINUS);
+ _t = _t->getFirstChild();
+ term(_t);
+ _t = _retTree;
+ _t = __t493;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case MOD:
+ case NOT:
+ case STAR:
+ case DIV:
+ case REM:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ {
+ term(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::term(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST term_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case STAR:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t495 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp281_AST_in = _t;
+ match(_t,STAR);
+ _t = _t->getFirstChild();
+ term(_t);
+ _t = _retTree;
+ factor(_t);
+ _t = _retTree;
+ _t = __t495;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DIV:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t496 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp282_AST_in = _t;
+ match(_t,DIV);
+ _t = _t->getFirstChild();
+ term(_t);
+ _t = _retTree;
+ factor(_t);
+ _t = _retTree;
+ _t = __t496;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case MOD:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t497 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp283_AST_in = _t;
+ match(_t,MOD);
+ _t = _t->getFirstChild();
+ term(_t);
+ _t = _retTree;
+ factor(_t);
+ _t = _retTree;
+ _t = __t497;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case REM:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t498 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp284_AST_in = _t;
+ match(_t,REM);
+ _t = _t->getFirstChild();
+ term(_t);
+ _t = _retTree;
+ factor(_t);
+ _t = _retTree;
+ _t = __t498;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case NOT:
+ case ABS:
+ case EXPON:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ {
+ factor(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::factor(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST factor_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case NOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t500 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp285_AST_in = _t;
+ match(_t,NOT);
+ _t = _t->getFirstChild();
+ primary(_t);
+ _t = _retTree;
+ _t = __t500;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case ABS:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t501 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp286_AST_in = _t;
+ match(_t,ABS);
+ _t = _t->getFirstChild();
+ primary(_t);
+ _t = _retTree;
+ _t = __t501;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case EXPON:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t502 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp287_AST_in = _t;
+ match(_t,EXPON);
+ _t = _t->getFirstChild();
+ primary(_t);
+ _t = _retTree;
+ primary(_t);
+ _t = _retTree;
+ _t = __t502;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case CHARACTER_LITERAL:
+ case CHAR_STRING:
+ case NuLL:
+ case NUMERIC_LIT:
+ case ALLOCATOR:
+ case INDEXED_COMPONENT:
+ case OPERATOR_SYMBOL:
+ case PARENTHESIZED_PRIMARY:
+ {
+ primary(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::primary(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST primary_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ case DOT:
+ case TIC:
+ case INDEXED_COMPONENT:
+ {
+ name_or_qualified(_t);
+ _t = _retTree;
+ break;
+ }
+ case PARENTHESIZED_PRIMARY:
+ {
+ parenthesized_primary(_t);
+ _t = _retTree;
+ break;
+ }
+ case ALLOCATOR:
+ {
+ allocator(_t);
+ _t = _retTree;
+ break;
+ }
+ case NuLL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp288_AST_in = _t;
+ match(_t,NuLL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case NUMERIC_LIT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp289_AST_in = _t;
+ match(_t,NUMERIC_LIT);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CHARACTER_LITERAL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp290_AST_in = _t;
+ match(_t,CHARACTER_LITERAL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CHAR_STRING:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp291_AST_in = _t;
+ match(_t,CHAR_STRING);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OPERATOR_SYMBOL:
+ {
+ operator_call(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::name_or_qualified(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST name_or_qualified_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp292_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case DOT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t506 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp293_AST_in = _t;
+ match(_t,DOT);
+ _t = _t->getFirstChild();
+ name_or_qualified(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case ALL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp294_AST_in = _t;
+ match(_t,ALL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case IDENTIFIER:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp295_AST_in = _t;
+ match(_t,IDENTIFIER);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case CHARACTER_LITERAL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp296_AST_in = _t;
+ match(_t,CHARACTER_LITERAL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ case OPERATOR_SYMBOL:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp297_AST_in = _t;
+ match(_t,OPERATOR_SYMBOL);
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t506;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case INDEXED_COMPONENT:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t508 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp298_AST_in = _t;
+ match(_t,INDEXED_COMPONENT);
+ _t = _t->getFirstChild();
+ name_or_qualified(_t);
+ _t = _retTree;
+ value_s(_t);
+ _t = _retTree;
+ _t = __t508;
+ _t = _t->getNextSibling();
+ break;
+ }
+ case TIC:
+ {
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t509 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp299_AST_in = _t;
+ match(_t,TIC);
+ _t = _t->getFirstChild();
+ name_or_qualified(_t);
+ _t = _retTree;
+ {
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PARENTHESIZED_PRIMARY:
+ {
+ parenthesized_primary(_t);
+ _t = _retTree;
+ break;
+ }
+ case IDENTIFIER:
+ case RANGE:
+ case DIGITS:
+ case DELTA:
+ case ACCESS:
+ {
+ attribute_id(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ _t = __t509;
+ _t = _t->getNextSibling();
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::allocator(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST allocator_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t512 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp300_AST_in = _t;
+ match(_t,ALLOCATOR);
+ _t = _t->getFirstChild();
+ name_or_qualified(_t);
+ _t = _retTree;
+ _t = __t512;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::subprogram_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST subprogram_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ if (_t == ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = ASTNULL;
+ switch ( _t->getType()) {
+ case PROCEDURE_BODY:
+ {
+ procedure_body(_t);
+ _t = _retTree;
+ break;
+ }
+ case FUNCTION_BODY:
+ {
+ function_body(_t);
+ _t = _retTree;
+ break;
+ }
+ default:
+ {
+ throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(_t);
+ }
+ }
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::package_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST package_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t518 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp301_AST_in = _t;
+ match(_t,PACKAGE_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ pkg_body_part(_t);
+ _t = _retTree;
+ _t = __t518;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::task_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST task_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t520 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp302_AST_in = _t;
+ match(_t,TASK_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ body_part(_t);
+ _t = _retTree;
+ _t = __t520;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::protected_body(ANTLR_USE_NAMESPACE(antlr)RefAST _t) {
+ ANTLR_USE_NAMESPACE(antlr)RefAST protected_body_AST_in = (_t == ANTLR_USE_NAMESPACE(antlr)RefAST(ASTNULL)) ? ANTLR_USE_NAMESPACE(antlr)nullAST : _t;
+
+ try { // for error handling
+ ANTLR_USE_NAMESPACE(antlr)RefAST __t522 = _t;
+ ANTLR_USE_NAMESPACE(antlr)RefAST tmp303_AST_in = _t;
+ match(_t,PROTECTED_BODY);
+ _t = _t->getFirstChild();
+ def_id(_t);
+ _t = _retTree;
+ prot_op_bodies_opt(_t);
+ _t = _retTree;
+ _t = __t522;
+ _t = _t->getNextSibling();
+ }
+ catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
+ reportError(ex);
+ if ( _t != ANTLR_USE_NAMESPACE(antlr)nullAST )
+ _t = _t->getNextSibling();
+ }
+ _retTree = _t;
+}
+
+void AdaTreeParserSuper::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& )
+{
+}
+const char* AdaTreeParserSuper::tokenNames[] = {
+ "<0>",
+ "EOF",
+ "<2>",
+ "NULL_TREE_LOOKAHEAD",
+ "\"pragma\"",
+ "IDENTIFIER",
+ "SEMI",
+ "LPAREN",
+ "COMMA",
+ "RPAREN",
+ "RIGHT_SHAFT",
+ "\"with\"",
+ "DOT",
+ "\"use\"",
+ "\"type\"",
+ "TIC",
+ "\"range\"",
+ "\"digits\"",
+ "\"delta\"",
+ "\"access\"",
+ "\"private\"",
+ "\"package\"",
+ "\"body\"",
+ "\"is\"",
+ "\"procedure\"",
+ "\"function\"",
+ "\"new\"",
+ "\"others\"",
+ "PIPE",
+ "DOT_DOT",
+ "\"all\"",
+ "COLON",
+ "\"in\"",
+ "\"out\"",
+ "\"renames\"",
+ "CHARACTER_LITERAL",
+ "CHAR_STRING",
+ "\"null\"",
+ "\"record\"",
+ "\"separate\"",
+ "\"abstract\"",
+ "\"return\"",
+ "\"task\"",
+ "\"protected\"",
+ "BOX",
+ "ASSIGN",
+ "\"entry\"",
+ "\"for\"",
+ "\"end\"",
+ "\"at\"",
+ "\"mod\"",
+ "\"subtype\"",
+ "\"exception\"",
+ "\"constant\"",
+ "\"array\"",
+ "\"of\"",
+ "\"aliased\"",
+ "\"case\"",
+ "\"when\"",
+ "\"tagged\"",
+ "\"limited\"",
+ "\"generic\"",
+ "\"begin\"",
+ "LT_LT",
+ "GT_GT",
+ "\"if\"",
+ "\"then\"",
+ "\"elsif\"",
+ "\"else\"",
+ "\"loop\"",
+ "\"while\"",
+ "\"reverse\"",
+ "\"declare\"",
+ "\"exit\"",
+ "\"goto\"",
+ "\"accept\"",
+ "\"do\"",
+ "\"delay\"",
+ "\"until\"",
+ "\"select\"",
+ "\"abort\"",
+ "\"or\"",
+ "\"terminate\"",
+ "\"raise\"",
+ "\"requeue\"",
+ "\"and\"",
+ "\"xor\"",
+ "\"not\"",
+ "EQ",
+ "NE",
+ "LT_",
+ "LE",
+ "GT",
+ "GE",
+ "PLUS",
+ "MINUS",
+ "CONCAT",
+ "STAR",
+ "DIV",
+ "\"rem\"",
+ "\"abs\"",
+ "EXPON",
+ "NUMERIC_LIT",
+ "ABORTABLE_PART",
+ "ABORT_STATEMENT",
+ "ACCEPT_ALTERNATIVE",
+ "ACCEPT_STATEMENT",
+ "ALLOCATOR",
+ "ASSIGNMENT_STATEMENT",
+ "ASYNCHRONOUS_SELECT",
+ "ATTRIBUTE_DEFINITION_CLAUSE",
+ "AT_CLAUSE",
+ "BLOCK_STATEMENT",
+ "CASE_STATEMENT",
+ "CASE_STATEMENT_ALTERNATIVE",
+ "CODE_STATEMENT",
+ "COMPONENT_DECLARATION",
+ "CONDITIONAL_ENTRY_CALL",
+ "CONTEXT_CLAUSE",
+ "DECLARATIVE_PART",
+ "DEFINING_IDENTIFIER_LIST",
+ "DELAY_ALTERNATIVE",
+ "DELAY_STATEMENT",
+ "DELTA_CONSTRAINT",
+ "DIGITS_CONSTRAINT",
+ "DISCRIMINANT_ASSOCIATION",
+ "DISCRIMINANT_CONSTRAINT",
+ "DISCRIMINANT_SPECIFICATION",
+ "ENTRY_BODY",
+ "ENTRY_CALL_ALTERNATIVE",
+ "ENTRY_CALL_STATEMENT",
+ "ENTRY_DECLARATION",
+ "ENTRY_INDEX_SPECIFICATION",
+ "ENUMERATION_REPESENTATION_CLAUSE",
+ "EXCEPTION_DECLARATION",
+ "EXCEPTION_HANDLER",
+ "EXCEPTION_RENAMING_DECLARATION",
+ "EXIT_STATEMENT",
+ "FORMAL_PACKAGE_DECLARATION",
+ "GENERIC_FORMAL_PART",
+ "GENERIC_PACKAGE_DECLARATION",
+ "GOTO_STATEMENT",
+ "HANDLED_SEQUENCE_OF_STATEMENTS",
+ "HANDLED_STMTS_OPT",
+ "IF_STATEMENT",
+ "INCOMPLETE_TYPE_DECLARATION",
+ "INDEXED_COMPONENT",
+ "INDEX_CONSTRAINT",
+ "LIBRARY_ITEM",
+ "LOOP_STATEMENT",
+ "NAME",
+ "NULL_STATEMENT",
+ "NUMBER_DECLARATION",
+ "OBJECT_DECLARATION",
+ "OBJECT_RENAMING_DECLARATION",
+ "OPERATOR_SYMBOL",
+ "PACKAGE_BODY",
+ "PACKAGE_BODY_STUB",
+ "PACKAGE_RENAMING_DECLARATION",
+ "PACKAGE_SPECIFICATION",
+ "PARAMETER_SPECIFICATION",
+ "PRIVATE_EXTENSION_DECLARATION",
+ "PRIVATE_TYPE_DECLARATION",
+ "PROTECTED_BODY",
+ "PROTECTED_BODY_STUB",
+ "PROTECTED_TYPE_DECLARATION",
+ "RAISE_STATEMENT",
+ "RANGE_ATTRIBUTE_REFERENCE",
+ "RECORD_REPRESENTATION_CLAUSE",
+ "REQUEUE_STATEMENT",
+ "RETURN_STATEMENT",
+ "SELECTIVE_ACCEPT",
+ "SEQUENCE_OF_STATEMENTS",
+ "SINGLE_PROTECTED_DECLARATION",
+ "SINGLE_TASK_DECLARATION",
+ "STATEMENT",
+ "SUBTYPE_DECLARATION",
+ "SUBTYPE_INDICATION",
+ "SUBTYPE_MARK",
+ "SUBUNIT",
+ "TASK_BODY",
+ "TASK_BODY_STUB",
+ "TASK_TYPE_DECLARATION",
+ "TERMINATE_ALTERNATIVE",
+ "TIMED_ENTRY_CALL",
+ "TRIGGERING_ALTERNATIVE",
+ "USE_CLAUSE",
+ "USE_TYPE_CLAUSE",
+ "VARIANT",
+ "VARIANT_PART",
+ "WITH_CLAUSE",
+ "ABSTRACT_FUNCTION_DECLARATION",
+ "ABSTRACT_PROCEDURE_DECLARATION",
+ "ACCESS_TO_FUNCTION_DECLARATION",
+ "ACCESS_TO_OBJECT_DECLARATION",
+ "ACCESS_TO_PROCEDURE_DECLARATION",
+ "ARRAY_OBJECT_DECLARATION",
+ "ARRAY_TYPE_DECLARATION",
+ "AND_THEN",
+ "BASIC_DECLARATIVE_ITEMS_OPT",
+ "BLOCK_BODY",
+ "BLOCK_BODY_OPT",
+ "CALL_STATEMENT",
+ "COMPONENT_CLAUSES_OPT",
+ "COMPONENT_ITEMS",
+ "COND_CLAUSE",
+ "DECIMAL_FIXED_POINT_DECLARATION",
+ "DECLARE_OPT",
+ "DERIVED_RECORD_EXTENSION",
+ "DISCRETE_SUBTYPE_DEF_OPT",
+ "DISCRIMINANT_SPECIFICATIONS",
+ "DISCRIM_PART_OPT",
+ "ELSE_OPT",
+ "ELSIFS_OPT",
+ "END_ID_OPT",
+ "ENTRY_INDEX_OPT",
+ "ENUMERATION_TYPE_DECLARATION",
+ "EXCEPT_HANDLER_PART_OPT",
+ "EXTENSION_OPT",
+ "FLOATING_POINT_DECLARATION",
+ "FORMAL_DECIMAL_FIXED_POINT_DECLARATION",
+ "FORMAL_DISCRETE_TYPE_DECLARATION",
+ "FORMAL_FLOATING_POINT_DECLARATION",
+ "FORMAL_FUNCTION_DECLARATION",
+ "FORMAL_MODULAR_TYPE_DECLARATION",
+ "FORMAL_ORDINARY_DERIVED_TYPE_DECLARATION",
+ "FORMAL_ORDINARY_FIXED_POINT_DECLARATION",
+ "FORMAL_PART_OPT",
+ "FORMAL_PRIVATE_EXTENSION_DECLARATION",
+ "FORMAL_PRIVATE_TYPE_DECLARATION",
+ "FORMAL_PROCEDURE_DECLARATION",
+ "FORMAL_SIGNED_INTEGER_TYPE_DECLARATION",
+ "FUNCTION_BODY",
+ "FUNCTION_BODY_STUB",
+ "FUNCTION_DECLARATION",
+ "FUNCTION_RENAMING_DECLARATION",
+ "GENERIC_FUNCTION_DECLARATION",
+ "GENERIC_FUNCTION_INSTANTIATION",
+ "GENERIC_FUNCTION_RENAMING",
+ "GENERIC_PACKAGE_INSTANTIATION",
+ "GENERIC_PACKAGE_RENAMING",
+ "GENERIC_PROCEDURE_DECLARATION",
+ "GENERIC_PROCEDURE_INSTANTIATION",
+ "GENERIC_PROCEDURE_RENAMING",
+ "GUARD_OPT",
+ "IDENTIFIER_COLON_OPT",
+ "ID_OPT",
+ "INIT_OPT",
+ "ITERATION_SCHEME_OPT",
+ "LABEL_OPT",
+ "MARK_WITH_CONSTRAINT",
+ "MODIFIERS",
+ "MODULAR_TYPE_DECLARATION",
+ "MOD_CLAUSE_OPT",
+ "NOT_IN",
+ "ORDINARY_DERIVED_TYPE_DECLARATION",
+ "ORDINARY_FIXED_POINT_DECLARATION",
+ "OR_ELSE",
+ "OR_SELECT_OPT",
+ "PARENTHESIZED_PRIMARY",
+ "PRIVATE_DECLARATIVE_ITEMS_OPT",
+ "PRIVATE_TASK_ITEMS_OPT",
+ "PROCEDURE_BODY",
+ "PROCEDURE_BODY_STUB",
+ "PROCEDURE_DECLARATION",
+ "PROCEDURE_RENAMING_DECLARATION",
+ "PROT_MEMBER_DECLARATIONS",
+ "PROT_OP_BODIES_OPT",
+ "PROT_OP_DECLARATIONS",
+ "PROT_PRIVATE_OPT",
+ "RANGED_EXPRS",
+ "RANGE_CONSTRAINT",
+ "RECORD_TYPE_DECLARATION",
+ "SELECTOR_NAMES_OPT",
+ "SIGNED_INTEGER_TYPE_DECLARATION",
+ "TASK_ITEMS_OPT",
+ "UNARY_MINUS",
+ "UNARY_PLUS",
+ "VALUE",
+ "VALUES",
+ "VARIANTS",
+ "COMMENT_INTRO",
+ "OX",
+ "TIC_OR_CHARACTER_LITERAL",
+ "DIGIT",
+ "EXPONENT",
+ "EXTENDED_DIGIT",
+ "BASED_INTEGER",
+ "WS_",
+ "COMMENT",
+ "CHARACTER_STRING",
+ 0
+};
+
+const unsigned long AdaTreeParserSuper::_tokenSet_0_data_[] = { 37920UL, 262201UL, 4293001216UL, 2175UL, 134479872UL, 0UL, 64UL, 1073741824UL, 3145738UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
+// IDENTIFIER RIGHT_SHAFT DOT TIC "in" CHARACTER_LITERAL CHAR_STRING "null"
+// "mod" "or" "and" "xor" "not" EQ NE LT_ LE GT GE PLUS MINUS CONCAT STAR
+// DIV "rem" "abs" EXPON NUMERIC_LIT ALLOCATOR INDEXED_COMPONENT OPERATOR_SYMBOL
+// AND_THEN NOT_IN OR_ELSE PARENTHESIZED_PRIMARY UNARY_MINUS UNARY_PLUS
+const ANTLR_USE_NAMESPACE(antlr)BitSet AdaTreeParserSuper::_tokenSet_0(_tokenSet_0_data_,20);
+const unsigned long AdaTreeParserSuper::_tokenSet_1_data_[] = { 939627552UL, 262201UL, 4293001216UL, 2175UL, 134479872UL, 0UL, 64UL, 1073741824UL, 3145738UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
+// IDENTIFIER RIGHT_SHAFT DOT TIC "range" "others" PIPE DOT_DOT "in" CHARACTER_LITERAL
+// CHAR_STRING "null" "mod" "or" "and" "xor" "not" EQ NE LT_ LE GT GE PLUS
+// MINUS CONCAT STAR DIV "rem" "abs" EXPON NUMERIC_LIT ALLOCATOR INDEXED_COMPONENT
+// OPERATOR_SYMBOL AND_THEN NOT_IN OR_ELSE PARENTHESIZED_PRIMARY UNARY_MINUS
+// UNARY_PLUS
+const ANTLR_USE_NAMESPACE(antlr)BitSet AdaTreeParserSuper::_tokenSet_1(_tokenSet_1_data_,20);
+const unsigned long AdaTreeParserSuper::_tokenSet_2_data_[] = { 0UL, 0UL, 0UL, 49152UL, 3338801504UL, 2353094950UL, 151076927UL, 2416967168UL, 328577UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
+// ATTRIBUTE_DEFINITION_CLAUSE AT_CLAUSE ENUMERATION_REPESENTATION_CLAUSE
+// EXCEPTION_DECLARATION EXCEPTION_RENAMING_DECLARATION GENERIC_PACKAGE_DECLARATION
+// INCOMPLETE_TYPE_DECLARATION NUMBER_DECLARATION OBJECT_DECLARATION OBJECT_RENAMING_DECLARATION
+// PACKAGE_RENAMING_DECLARATION PACKAGE_SPECIFICATION PRIVATE_EXTENSION_DECLARATION
+// PRIVATE_TYPE_DECLARATION PROTECTED_TYPE_DECLARATION RECORD_REPRESENTATION_CLAUSE
+// SINGLE_PROTECTED_DECLARATION SINGLE_TASK_DECLARATION SUBTYPE_DECLARATION
+// TASK_TYPE_DECLARATION USE_CLAUSE USE_TYPE_CLAUSE ABSTRACT_FUNCTION_DECLARATION
+// ABSTRACT_PROCEDURE_DECLARATION ACCESS_TO_FUNCTION_DECLARATION ACCESS_TO_OBJECT_DECLARATION
+// ACCESS_TO_PROCEDURE_DECLARATION ARRAY_OBJECT_DECLARATION ARRAY_TYPE_DECLARATION
+// DECIMAL_FIXED_POINT_DECLARATION DERIVED_RECORD_EXTENSION ENUMERATION_TYPE_DECLARATION
+// FLOATING_POINT_DECLARATION FUNCTION_BODY_STUB FUNCTION_DECLARATION FUNCTION_RENAMING_DECLARATION
+// GENERIC_FUNCTION_DECLARATION GENERIC_FUNCTION_INSTANTIATION GENERIC_FUNCTION_RENAMING
+// GENERIC_PACKAGE_INSTANTIATION GENERIC_PACKAGE_RENAMING GENERIC_PROCEDURE_DECLARATION
+// GENERIC_PROCEDURE_INSTANTIATION GENERIC_PROCEDURE_RENAMING MODULAR_TYPE_DECLARATION
+// ORDINARY_DERIVED_TYPE_DECLARATION ORDINARY_FIXED_POINT_DECLARATION PROCEDURE_BODY_STUB
+// PROCEDURE_DECLARATION PROCEDURE_RENAMING_DECLARATION RECORD_TYPE_DECLARATION
+// SIGNED_INTEGER_TYPE_DECLARATION
+const ANTLR_USE_NAMESPACE(antlr)BitSet AdaTreeParserSuper::_tokenSet_2(_tokenSet_2_data_,20);
+const unsigned long AdaTreeParserSuper::_tokenSet_3_data_[] = { 16UL, 0UL, 0UL, 49152UL, 40UL, 256UL, 0UL, 1024UL, 256UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
+// "pragma" ATTRIBUTE_DEFINITION_CLAUSE AT_CLAUSE ENTRY_DECLARATION ENUMERATION_REPESENTATION_CLAUSE
+// RECORD_REPRESENTATION_CLAUSE FUNCTION_DECLARATION PROCEDURE_DECLARATION
+const ANTLR_USE_NAMESPACE(antlr)BitSet AdaTreeParserSuper::_tokenSet_3(_tokenSet_3_data_,20);
+const unsigned long AdaTreeParserSuper::_tokenSet_4_data_[] = { 36896UL, 0UL, 0UL, 0UL, 262144UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
+// IDENTIFIER DOT TIC INDEXED_COMPONENT
+const ANTLR_USE_NAMESPACE(antlr)BitSet AdaTreeParserSuper::_tokenSet_4(_tokenSet_4_data_,12);
+
+