_t = __t175;
_t = __t160;
	public final void buffercomparestate(AST _t) throws RecognitionException {				AST buffercomparestate_AST_in = (_t == ASTNULL) ? null : (AST)_t;				AST __t173 = _t;		AST tmp724_AST_in = (AST)_t;		match(_t,BUFFERCOMPARE);		_t = _t.getFirstChild();		tbl(_t,CQ.REF);		_t = _retTree;		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case EXCEPT:		{			AST __t175 = _t;			AST tmp725_AST_in = (AST)_t;			match(_t,EXCEPT);			_t = _t.getFirstChild();			{			_loop177:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==Field_ref)) {					fld1(_t,CQ.SYMBOL);					_t = _retTree;				}				else {					break _loop177;				}							} while (true);			}			_t = __t175;			_t = _t.getNextSibling();			break;		}		case USING:		{			AST __t178 = _t;			AST tmp726_AST_in = (AST)_t;			match(_t,USING);			_t = _t.getFirstChild();			{			int _cnt180=0;			_loop180:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==Field_ref)) {					fld1(_t,CQ.REF);					_t = _retTree;				}				else {					if ( _cnt180>=1 ) { break _loop180; } else {throw new NoViableAltException(_t);}				}								_cnt180++;			} while (true);			}			_t = __t178;			_t = _t.getNextSibling();			break;		}		case TO:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		AST tmp727_AST_in = (AST)_t;		match(_t,TO);		_t = _t.getNextSibling();		tbl(_t,CQ.REF);		_t = _retTree;		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case CASESENSITIVE:		{			AST tmp728_AST_in = (AST)_t;			match(_t,CASESENSITIVE);			_t = _t.getNextSibling();			break;		}		case BINARY:		{			AST tmp729_AST_in = (AST)_t;			match(_t,BINARY);			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case COMPARES:		case EXPLICIT:		case NOERROR_KW:		case SAVE:		case NOLOBS:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case SAVE:		{			AST __t183 = _t;			AST tmp730_AST_in = (AST)_t;			match(_t,SAVE);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case RESULT:			{				AST __t185 = _t;				AST tmp731_AST_in = (AST)_t;				match(_t,RESULT);				_t = _t.getFirstChild();				AST tmp732_AST_in = (AST)_t;				match(_t,IN_KW);				_t = _t.getNextSibling();				_t = __t185;				_t = _t.getNextSibling();				break;			}			case Field_ref:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			fld(_t,CQ.UPDATING);			_t = _retTree;			_t = __t183;			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case COMPARES:		case EXPLICIT:		case NOERROR_KW:		case NOLOBS:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case EXPLICIT:		{			AST tmp733_AST_in = (AST)_t;			match(_t,EXPLICIT);			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case COMPARES:		case NOERROR_KW:		case NOLOBS:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case COMPARES:		{			AST tmp734_AST_in = (AST)_t;			match(_t,COMPARES);			_t = _t.getNextSibling();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case NOERROR_KW:			{				AST tmp735_AST_in = (AST)_t;				match(_t,NOERROR_KW);				_t = _t.getNextSibling();				break;			}			case PERIOD:			case LEXCOLON:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			block_colon(_t);			_t = _retTree;			AST __t189 = _t;			AST tmp736_AST_in = (AST)_t;			match(_t,Code_block);			_t = _t.getFirstChild();			{			_loop192:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==WHEN)) {					AST __t191 = _t;					AST tmp737_AST_in = (AST)_t;					match(_t,WHEN);					_t = _t.getFirstChild();					expression(_t);					_t = _retTree;					AST tmp738_AST_in = (AST)_t;					match(_t,THEN);					_t = _t.getNextSibling();					blockorstate(_t);					_t = _retTree;					_t = __t191;					_t = _t.getNextSibling();				}				else {					break _loop192;				}							} while (true);			}			_t = __t189;			_t = _t.getNextSibling();			AST __t193 = _t;			AST tmp739_AST_in = (AST)_t;			match(_t,END);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case COMPARES:			{				AST tmp740_AST_in = (AST)_t;				match(_t,COMPARES);				_t = _t.getNextSibling();				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t193;			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case NOERROR_KW:		case NOLOBS:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case NOLOBS:		{			AST tmp741_AST_in = (AST)_t;			match(_t,NOLOBS);			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case NOERROR_KW:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case NOERROR_KW:		{			AST tmp742_AST_in = (AST)_t;			match(_t,NOERROR_KW);			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		state_end(_t);		_t = _retTree;		_t = __t173;		_t = _t.getNextSibling();		_retTree = _t;	}