_loop960:
_loop961:
	public final void defineframestate(AST _t) throws RecognitionException {				AST defineframestate_AST_in = (_t == ASTNULL) ? null : (AST)_t;				AST __t956 = _t;		AST tmp657_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 FRAME:		case PRIVATE:		case PUBLIC:		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 FRAME:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		AST tmp658_AST_in = (AST)_t;		match(_t,FRAME);		_t = _t.getNextSibling();		AST tmp659_AST_in = (AST)_t;		match(_t,ID);		_t = _t.getNextSibling();		{		_loop960:		do {			if (_t==null) _t=ASTNULL;			if ((_t.getType()==Form_item)) {				form_item(_t);				_t = _retTree;			}			else {				break _loop960;			}					} while (true);		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case HEADER:		{			AST __t962 = _t;			AST tmp660_AST_in = (AST)_t;			match(_t,HEADER);			_t = _t.getFirstChild();			{			int _cnt964=0;			_loop964:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==Form_item)) {					display_item(_t);					_t = _retTree;				}				else {					if ( _cnt964>=1 ) { break _loop964; } else {throw new NoViableAltException(_t);}				}								_cnt964++;			} while (true);			}			_t = __t962;			_t = _t.getNextSibling();			break;		}		case BACKGROUND:		{			AST __t965 = _t;			AST tmp661_AST_in = (AST)_t;			match(_t,BACKGROUND);			_t = _t.getFirstChild();			{			int _cnt967=0;			_loop967:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==Form_item)) {					display_item(_t);					_t = _retTree;				}				else {					if ( _cnt967>=1 ) { break _loop967; } else {throw new NoViableAltException(_t);}				}								_cnt967++;			} while (true);			}			_t = __t965;			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case EXCEPT:		case WITH:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case EXCEPT:		{			AST __t969 = _t;			AST tmp662_AST_in = (AST)_t;			match(_t,EXCEPT);			_t = _t.getFirstChild();			{			_loop971:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==Field_ref)) {					field(_t);					_t = _retTree;				}				else {					break _loop971;				}							} while (true);			}			_t = __t969;			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case WITH:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case WITH:		{			framephrase(_t);			_t = _retTree;			break;		}		case EOF:		case PERIOD:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		state_end(_t);		_t = _retTree;		_t = __t956;		_t = _t.getNextSibling();		_retTree = _t;	}