Пример #1
0
/* Production 9: chater 3.4 CORBA 2.3.1, added pragma id inside */
  public void export() {
 /*@bgen(jjtree) export */
  ASTexport jjtn000 = new ASTexport(this, IDLParserTreeConstants.JJTEXPORT);
  bool jjtc000 = true;
  jjtree.openNodeScope(jjtn000);
    try {
      switch ((jj_ntk==-1)?jj_ntk_calc():jj_ntk) {
      case 48:
      case 49:
      case 61:
      case 62:
      case 66:
        type_dcl();
        jj_consume_token(12);
        break;
      case 32:
        const_dcl();
        jj_consume_token(12);
        break;
      case 76:
        except_dcl();
        jj_consume_token(12);
        break;
      case 74:
      case 75:
        attr_dcl();
        jj_consume_token(12);
        break;
      case 21:
      case 50:
      case 51:
      case 52:
      case 53:
      case 54:
      case 55:
      case 56:
      case 57:
      case 58:
      case 59:
      case 60:
      case 70:
      case 71:
      case 77:
      case 78:
      case 84:
      case IDLParserConstants.ID:
        op_dcl();
        jj_consume_token(12);
        break;
      case IDLParserConstants.PRAGMA:
        pragmaIDInside();
        break;
      default:
        jj_la1[12] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
        break;
      }
    } catch (Exception jjte000) {
    if (jjtc000) {
      jjtree.clearNodeScope(jjtn000);
      jjtc000 = false;
    } else {
      jjtree.popNode();
    }
  {if (true) throw ;}
    } finally {
    if (jjtc000) {
      jjtree.closeNodeScope(jjtn000, true);
    }
    }
  }
 /**
  * @see parser.IDLParserVisitor#visit(ASTexport, Object)
  * @param data expected is: an Instance of BuildInfo
  */
 public Object visit(ASTexport node, Object data) {
     // <export> ::= <type_dcl> | <const_dcl> | <except_dcl> | <attr_dcl> | <op_dcl>
     // let the children add themself to the type in creation
     node.childrenAccept(this, data);
     return null;
 }