AST __t203 = _t;
AST __t208 = _t;
	public final void choosestate(AST _t) throws RecognitionException {				AST choosestate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST head = null;		AST fi = null;				AST __t200 = _t;		head = _t==ASTNULL ? null :(AST)_t;		match(_t,CHOOSE);		_t = _t.getFirstChild();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case ROW:		{			AST tmp777_AST_in = (AST)_t;			match(_t,ROW);			_t = _t.getNextSibling();			break;		}		case FIELD:		{			AST tmp778_AST_in = (AST)_t;			match(_t,FIELD);			_t = _t.getNextSibling();			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		if ( inputState.guessing==0 ) {			action.frameInitializingStatement(head);		}		{		int _cnt206=0;		_loop206:		do {			if (_t==null) _t=ASTNULL;			if ((_t.getType()==Form_item)) {				AST __t203 = _t;				fi = _t==ASTNULL ? null :(AST)_t;				match(_t,Form_item);				_t = _t.getFirstChild();				fld(_t,CQ.UPDATING);				_t = _retTree;				if ( inputState.guessing==0 ) {					action.formItem(fi);				}				{				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case HELP:				{					AST __t205 = _t;					AST tmp779_AST_in = (AST)_t;					match(_t,HELP);					_t = _t.getFirstChild();					constant(_t);					_t = _retTree;					_t = __t205;					_t = _t.getNextSibling();					break;				}				case 3:				{					break;				}				default:				{					throw new NoViableAltException(_t);				}				}				}				_t = __t203;				_t = _t.getNextSibling();			}			else {				if ( _cnt206>=1 ) { break _loop206; } else {throw new NoViableAltException(_t);}			}						_cnt206++;		} while (true);		}		{		_loop211:		do {			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case AUTORETURN:			{				AST tmp780_AST_in = (AST)_t;				match(_t,AUTORETURN);				_t = _t.getNextSibling();				break;			}			case COLOR:			{				AST __t208 = _t;				AST tmp781_AST_in = (AST)_t;				match(_t,COLOR);				_t = _t.getFirstChild();				anyorvalue(_t);				_t = _retTree;				_t = __t208;				_t = _t.getNextSibling();				break;			}			case GOON:			{				goonphrase(_t);				_t = _retTree;				break;			}			case KEYS:			{				AST __t209 = _t;				AST tmp782_AST_in = (AST)_t;				match(_t,KEYS);				_t = _t.getFirstChild();				fld(_t,CQ.UPDATING);				_t = _retTree;				_t = __t209;				_t = _t.getNextSibling();				break;			}			case NOERROR_KW:			{				AST tmp783_AST_in = (AST)_t;				match(_t,NOERROR_KW);				_t = _t.getNextSibling();				break;			}			case PAUSE:			{				AST __t210 = _t;				AST tmp784_AST_in = (AST)_t;				match(_t,PAUSE);				_t = _t.getFirstChild();				expression(_t);				_t = _retTree;				_t = __t210;				_t = _t.getNextSibling();				break;			}			default:			{				break _loop211;			}			}		} while (true);		}		{		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;		if ( inputState.guessing==0 ) {			action.frameStatementEnd();		}		_t = __t200;		_t = _t.getNextSibling();		_retTree = _t;	}