AST tmp350_AST_in = (AST)_t;
AST tmp349_AST_in = (AST)_t;
	public final void procedurestate(AST _t) throws RecognitionException {				AST procedurestate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST p = null;				AST __t164 = _t;		p = _t==ASTNULL ? null :(AST)_t;		match(_t,PROCEDURE);		_t = _t.getFirstChild();		if ( inputState.guessing==0 ) {			tpSupport.procedure(p);		}		AST tmp343_AST_in = (AST)_t;		match(_t,ID);		_t = _t.getNextSibling();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case EXTERNAL:		{			AST __t166 = _t;			AST tmp344_AST_in = (AST)_t;			match(_t,EXTERNAL);			_t = _t.getFirstChild();			constant(_t);			_t = _retTree;			if ( inputState.guessing==0 ) {				tpSupport.procedureExternal();			}			{			_loop169:			do {				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case CDECL_KW:				{					AST tmp345_AST_in = (AST)_t;					match(_t,CDECL_KW);					_t = _t.getNextSibling();					break;				}				case PASCAL_KW:				{					AST tmp346_AST_in = (AST)_t;					match(_t,PASCAL_KW);					_t = _t.getNextSibling();					break;				}				case STDCALL_KW:				{					AST tmp347_AST_in = (AST)_t;					match(_t,STDCALL_KW);					_t = _t.getNextSibling();					break;				}				case ORDINAL:				{					AST __t168 = _t;					AST tmp348_AST_in = (AST)_t;					match(_t,ORDINAL);					_t = _t.getFirstChild();					expression(_t);					_t = _retTree;					_t = __t168;					_t = _t.getNextSibling();					break;				}				case PERSISTENT:				{					AST tmp349_AST_in = (AST)_t;					match(_t,PERSISTENT);					_t = _t.getNextSibling();					break;				}				default:				{					break _loop169;				}				}			} while (true);			}			_t = __t166;			_t = _t.getNextSibling();			break;		}		case PRIVATE:		{			AST tmp350_AST_in = (AST)_t;			match(_t,PRIVATE);			_t = _t.getNextSibling();			break;		}		case IN_KW:		{			AST tmp351_AST_in = (AST)_t;			match(_t,IN_KW);			_t = _t.getNextSibling();			AST tmp352_AST_in = (AST)_t;			match(_t,SUPER);			_t = _t.getNextSibling();			break;		}		case PERIOD:		case LEXCOLON:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		block_colon(_t);		_t = _retTree;		code_block(_t);		_t = _retTree;		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case EOF:		{			AST tmp353_AST_in = (AST)_t;			match(_t,Token.EOF_TYPE);			_t = _t.getNextSibling();			break;		}		case END:		{			AST __t171 = _t;			AST tmp354_AST_in = (AST)_t;			match(_t,END);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case PROCEDURE:			{				AST tmp355_AST_in = (AST)_t;				match(_t,PROCEDURE);				_t = _t.getNextSibling();				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t171;			_t = _t.getNextSibling();			state_end(_t);			_t = _retTree;			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		if ( inputState.guessing==0 ) {			tpSupport.procedureEnd();		}		_t = __t164;		_t = _t.getNextSibling();		_retTree = _t;	}