AST __t1451 = _t;
AST __t1452 = _t;
	public final void ifstate(AST _t) throws RecognitionException {				AST ifstate_AST_in = (_t == ASTNULL) ? null : (AST)_t;				AST __t1451 = _t;		AST tmp901_AST_in = (AST)_t;		match(_t,IF);		_t = _t.getFirstChild();		expression(_t);		_t = _retTree;		AST tmp902_AST_in = (AST)_t;		match(_t,THEN);		_t = _t.getNextSibling();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case PERIOD:		case PROPARSEDIRECTIVE:		case AATRACE:		case ACCUMULATE:		case ALTER:		case ANALYZE:		case APPLY:		case ASSIGN:		case BELL:		case BTOS:		case BUFFERCOMPARE:		case BUFFERCOPY:		case CALL:		case CASE:		case CHOOSE:		case CLEAR:		case CLOSE:		case COLOR:		case COMPILE:		case CONNECT:		case CREATE:		case DDE:		case DECLARE:		case DEFINE:		case DELETE_KW:		case DICTIONARY:		case DISABLE:		case DISCONNECT:		case DISPLAY:		case DO:		case DOS:		case DOWN:		case DROP:		case EMPTY:		case ENABLE:		case EXPORT:		case FETCH:		case FIND:		case FOR:		case FORMAT:		case FUNCTION:		case GET:		case GETKEYVALUE:		case GRANT:		case HIDE:		case IF:		case IMPORT:		case INPUT:		case INPUTOUTPUT:		case INSERT:		case LEAVE:		case LOAD:		case MESSAGE:		case MPE:		case NEXT:		case NEXTPROMPT:		case ON:		case OPEN:		case OS2:		case OS400:		case OSAPPEND:		case OSCOMMAND:		case OSCOPY:		case OSCREATEDIR:		case OSDELETE:		case OSRENAME:		case OUTPUT:		case PAGE:		case PAUSE:		case PROCEDURE:		case PROCESS:		case PROMPTFOR:		case PUBLISH:		case PUT:		case PUTKEYVALUE:		case QUIT:		case RAWTRANSFER:		case READKEY:		case RELEASE:		case REPEAT:		case REPOSITION:		case RETURN:		case REVOKE:		case RUN:		case SAVE:		case SCROLL:		case SEEK:		case SELECT:		case SET:		case SHOWSTATS:		case STATUS:		case STOP:		case SUBSCRIBE:		case SYSTEMDIALOG:		case SYSTEMHELP:		case TRANSACTIONMODE:		case TRIGGER:		case UNDERLINE:		case UNDO:		case UNIX:		case UNLOAD:		case UNSUBSCRIBE:		case UP:		case UPDATE:		case USE:		case VALIDATE:		case VIEW:		case VMS:		case WAITFOR:		case Expr_statement:		case BLOCK_LABEL:		case COPYLOB:		case DOT_COMMENT:		case CLASS:		case CONSTRUCTOR:		case INTERFACE:		case METHOD:		case DESTRUCTOR:		case ANNOTATION:		{			blockorstate(_t);			_t = _retTree;			break;		}		case 3:		case ELSE:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case ELSE:		{			AST __t1454 = _t;			AST tmp903_AST_in = (AST)_t;			match(_t,ELSE);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case PERIOD:			case PROPARSEDIRECTIVE:			case AATRACE:			case ACCUMULATE:			case ALTER:			case ANALYZE:			case APPLY:			case ASSIGN:			case BELL:			case BTOS:			case BUFFERCOMPARE:			case BUFFERCOPY:			case CALL:			case CASE:			case CHOOSE:			case CLEAR:			case CLOSE:			case COLOR:			case COMPILE:			case CONNECT:			case CREATE:			case DDE:			case DECLARE:			case DEFINE:			case DELETE_KW:			case DICTIONARY:			case DISABLE:			case DISCONNECT:			case DISPLAY:			case DO:			case DOS:			case DOWN:			case DROP:			case EMPTY:			case ENABLE:			case EXPORT:			case FETCH:			case FIND:			case FOR:			case FORMAT:			case FUNCTION:			case GET:			case GETKEYVALUE:			case GRANT:			case HIDE:			case IF:			case IMPORT:			case INPUT:			case INPUTOUTPUT:			case INSERT:			case LEAVE:			case LOAD:			case MESSAGE:			case MPE:			case NEXT:			case NEXTPROMPT:			case ON:			case OPEN:			case OS2:			case OS400:			case OSAPPEND:			case OSCOMMAND:			case OSCOPY:			case OSCREATEDIR:			case OSDELETE:			case OSRENAME:			case OUTPUT:			case PAGE:			case PAUSE:			case PROCEDURE:			case PROCESS:			case PROMPTFOR:			case PUBLISH:			case PUT:			case PUTKEYVALUE:			case QUIT:			case RAWTRANSFER:			case READKEY:			case RELEASE:			case REPEAT:			case REPOSITION:			case RETURN:			case REVOKE:			case RUN:			case SAVE:			case SCROLL:			case SEEK:			case SELECT:			case SET:			case SHOWSTATS:			case STATUS:			case STOP:			case SUBSCRIBE:			case SYSTEMDIALOG:			case SYSTEMHELP:			case TRANSACTIONMODE:			case TRIGGER:			case UNDERLINE:			case UNDO:			case UNIX:			case UNLOAD:			case UNSUBSCRIBE:			case UP:			case UPDATE:			case USE:			case VALIDATE:			case VIEW:			case VMS:			case WAITFOR:			case Expr_statement:			case BLOCK_LABEL:			case COPYLOB:			case DOT_COMMENT:			case CLASS:			case CONSTRUCTOR:			case INTERFACE:			case METHOD:			case DESTRUCTOR:			case ANNOTATION:			{				blockorstate(_t);				_t = _retTree;				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t1454;			_t = _t.getNextSibling();			break;		}		case 3:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		_t = __t1451;		_t = _t.getNextSibling();		_retTree = _t;	}