AST tmp1039_AST_in = (AST)_t;
AST tmp1043_AST_in = (AST)_t;
	public final void definedatasetstate(AST _t) throws RecognitionException {				AST definedatasetstate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST def = null;		AST id = null;				AST __t436 = _t;		def = _t==ASTNULL ? null :(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 DATASET:		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 DATASET:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		AST tmp1037_AST_in = (AST)_t;		match(_t,DATASET);		_t = _t.getNextSibling();		id = (AST)_t;		match(_t,ID);		_t = _t.getNextSibling();		if ( inputState.guessing==0 ) {			push(action.defineSymbol(DATASET, def, id));		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case NAMESPACEURI:		{			namespace_uri(_t);			_t = _retTree;			break;		}		case FOR:		case NAMESPACEPREFIX:		case REFERENCEONLY:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case NAMESPACEPREFIX:		{			namespace_prefix(_t);			_t = _retTree;			break;		}		case FOR:		case REFERENCEONLY:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case REFERENCEONLY:		{			AST tmp1038_AST_in = (AST)_t;			match(_t,REFERENCEONLY);			_t = _t.getNextSibling();			break;		}		case FOR:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		AST tmp1039_AST_in = (AST)_t;		match(_t,FOR);		_t = _t.getNextSibling();		tbl(_t,CQ.INIT);		_t = _retTree;		{		_loop443:		do {			if (_t==null) _t=ASTNULL;			if ((_t.getType()==COMMA)) {				AST tmp1040_AST_in = (AST)_t;				match(_t,COMMA);				_t = _t.getNextSibling();				tbl(_t,CQ.INIT);				_t = _retTree;			}			else {				break _loop443;			}					} while (true);		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case DATARELATION:		{			data_relation(_t);			_t = _retTree;			{			_loop447:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==COMMA||_t.getType()==DATARELATION)) {					{					if (_t==null) _t=ASTNULL;					switch ( _t.getType()) {					case COMMA:					{						AST tmp1041_AST_in = (AST)_t;						match(_t,COMMA);						_t = _t.getNextSibling();						break;					}					case DATARELATION:					{						break;					}					default:					{						throw new NoViableAltException(_t);					}					}					}					data_relation(_t);					_t = _retTree;				}				else {					break _loop447;				}							} while (true);			}			break;		}		case EOF:		case PERIOD:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		state_end(_t);		_t = _retTree;		if ( inputState.guessing==0 ) {			action.addToSymbolScope(pop());		}		_t = __t436;		_t = _t.getNextSibling();		_retTree = _t;	}