AST tmp242_AST_in = (AST)_t;
AST tmp241_AST_in = (AST)_t;
	public final void defineworktablestate(AST _t) throws RecognitionException {				AST defineworktablestate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST def = null;		AST id = null;				AST __t112 = _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 WORKTABLE:		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 WORKTABLE:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		AST tmp242_AST_in = (AST)_t;		match(_t,WORKTABLE);		_t = _t.getNextSibling();		id = (AST)_t;		match(_t,ID);		_t = _t.getNextSibling();		if ( inputState.guessing==0 ) {			tpSupport.define(def, id);		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case NOUNDO:		{			AST tmp243_AST_in = (AST)_t;			match(_t,NOUNDO);			_t = _t.getNextSibling();			if ( inputState.guessing==0 ) {				tpSupport.noundo();			}			break;		}		case EOF:		case PERIOD:		case COLUMNLABEL:		case FIELD:		case LABEL:		case LIKE:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case LIKE:		{			def_table_like(_t);			_t = _retTree;			break;		}		case EOF:		case PERIOD:		case COLUMNLABEL:		case FIELD:		case LABEL:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case COLUMNLABEL:		case LABEL:		{			label_constant(_t);			_t = _retTree;			break;		}		case EOF:		case PERIOD:		case FIELD:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		_loop119:		do {			if (_t==null) _t=ASTNULL;			if ((_t.getType()==FIELD)) {				def_table_field(_t);				_t = _retTree;			}			else {				break _loop119;			}					} while (true);		}		state_end(_t);		_t = _retTree;		if ( inputState.guessing==0 ) {			tpSupport.defineEnd();		}		_t = __t112;		_t = _t.getNextSibling();		_retTree = _t;	}