AST tmp1165_AST_in = (AST)_t;
AST tmp1164_AST_in = (AST)_t;
	public final void record_fields(AST _t) throws RecognitionException {				AST record_fields_AST_in = (_t == ASTNULL) ? null : (AST)_t;				if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case FIELDS:		{			AST __t1047 = _t;			AST tmp1163_AST_in = (AST)_t;			match(_t,FIELDS);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case LEFTPAREN:			{				AST tmp1164_AST_in = (AST)_t;				match(_t,LEFTPAREN);				_t = _t.getNextSibling();				{				_loop1052:				do {					if (_t==null) _t=ASTNULL;					if ((_t.getType()==Field_ref)) {						fld1(_t,CQ.SYMBOL);						_t = _retTree;						{						if (_t==null) _t=ASTNULL;						switch ( _t.getType()) {						case WHEN:						{							AST __t1051 = _t;							AST tmp1165_AST_in = (AST)_t;							match(_t,WHEN);							_t = _t.getFirstChild();							expression(_t);							_t = _retTree;							_t = __t1051;							_t = _t.getNextSibling();							break;						}						case RIGHTPAREN:						case Field_ref:						{							break;						}						default:						{							throw new NoViableAltException(_t);						}						}						}					}					else {						break _loop1052;					}									} while (true);				}				AST tmp1166_AST_in = (AST)_t;				match(_t,RIGHTPAREN);				_t = _t.getNextSibling();				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t1047;			_t = _t.getNextSibling();			break;		}		case EXCEPT:		{			AST __t1053 = _t;			AST tmp1167_AST_in = (AST)_t;			match(_t,EXCEPT);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case LEFTPAREN:			{				AST tmp1168_AST_in = (AST)_t;				match(_t,LEFTPAREN);				_t = _t.getNextSibling();				{				_loop1058:				do {					if (_t==null) _t=ASTNULL;					if ((_t.getType()==Field_ref)) {						fld1(_t,CQ.SYMBOL);						_t = _retTree;						{						if (_t==null) _t=ASTNULL;						switch ( _t.getType()) {						case WHEN:						{							AST __t1057 = _t;							AST tmp1169_AST_in = (AST)_t;							match(_t,WHEN);							_t = _t.getFirstChild();							expression(_t);							_t = _retTree;							_t = __t1057;							_t = _t.getNextSibling();							break;						}						case RIGHTPAREN:						case Field_ref:						{							break;						}						default:						{							throw new NoViableAltException(_t);						}						}						}					}					else {						break _loop1058;					}									} while (true);				}				AST tmp1170_AST_in = (AST)_t;				match(_t,RIGHTPAREN);				_t = _t.getNextSibling();				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t1053;			_t = _t.getNextSibling();			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		_retTree = _t;	}