_t = __t1077;
_t = __t1081;
	public final void definesubmenustate(AST _t) throws RecognitionException {				AST definesubmenustate_AST_in = (_t == ASTNULL) ? null : (AST)_t;				AST __t1077 = _t;		AST tmp732_AST_in = (AST)_t;		match(_t,DEFINE);		_t = _t.getFirstChild();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case NEW:		case SHARED:		{			def_shared(_t);			_t = _retTree;			break;		}		case PRIVATE:		case PUBLIC:		case SUBMENU:		case PROTECTED:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case PRIVATE:		case PUBLIC:		case PROTECTED:		{			def_visib(_t);			_t = _retTree;			break;		}		case SUBMENU:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		AST tmp733_AST_in = (AST)_t;		match(_t,SUBMENU);		_t = _t.getNextSibling();		AST tmp734_AST_in = (AST)_t;		match(_t,ID);		_t = _t.getNextSibling();		{		_loop1081:		do {			if (_t==null) _t=ASTNULL;			if ((_tokenSet_10.member(_t.getType()))) {				menu_opt(_t);				_t = _retTree;			}			else {				break _loop1081;			}					} while (true);		}		{		_loop1083:		do {			if (_t==null) _t=ASTNULL;			if ((_tokenSet_11.member(_t.getType()))) {				menu_list_item(_t);				_t = _retTree;			}			else {				break _loop1083;			}					} while (true);		}		state_end(_t);		_t = _retTree;		_t = __t1077;		_t = _t.getNextSibling();		_retTree = _t;	}