_t = __t1580;
_t = __t1581;
	public final void io_phrase(AST _t) throws RecognitionException {				AST io_phrase_AST_in = (_t == ASTNULL) ? null : (AST)_t;				{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case OSDIR:		{			AST __t1580 = _t;			AST tmp2041_AST_in = (AST)_t;			match(_t,OSDIR);			_t = _t.getFirstChild();			AST tmp2042_AST_in = (AST)_t;			match(_t,LEFTPAREN);			_t = _t.getNextSibling();			expression(_t);			_t = _retTree;			AST tmp2043_AST_in = (AST)_t;			match(_t,RIGHTPAREN);			_t = _t.getNextSibling();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case NOATTRLIST:			{				AST tmp2044_AST_in = (AST)_t;				match(_t,NOATTRLIST);				_t = _t.getNextSibling();				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t1580;			_t = _t.getNextSibling();			break;		}		case PRINTER:		{			AST __t1582 = _t;			AST tmp2045_AST_in = (AST)_t;			match(_t,PRINTER);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			if (((_t.getType() >= LEXDATE && _t.getType() <= SYMMETRICENCRYPTIONALGORITHM))) {				AST tmp2046_AST_in = (AST)_t;				if ( _t==null ) throw new MismatchedTokenException();				_t = _t.getNextSibling();			}			else if ((_t.getType()==3)) {			}			else {				throw new NoViableAltException(_t);			}						}			_t = __t1582;			_t = _t.getNextSibling();			break;		}		case TERMINAL:		{			AST tmp2047_AST_in = (AST)_t;			match(_t,TERMINAL);			_t = _t.getNextSibling();			break;		}		case EOF:		case PERIOD:		case APPEND:		case BINARY:		case COLLATE:		case CONVERT:		case ECHO:		case FILENAME:		case KEEPMESSAGES:		case LANDSCAPE:		case MAP:		case NOCONVERT:		case NOECHO:		case NOMAP:		case NUMCOPIES:		case PAGESIZE_KW:		case PAGED:		case PORTRAIT:		case UNBUFFERED:		case VALUE:		case LOBDIR:		{			{			_loop1585:			do {				if (_t==null) _t=ASTNULL;				switch ( _t.getType()) {				case VALUE:				{					valueexpression(_t);					_t = _retTree;					break;				}				case FILENAME:				{					AST tmp2048_AST_in = (AST)_t;					match(_t,FILENAME);					_t = _t.getNextSibling();					break;				}				default:				{					break _loop1585;				}				}			} while (true);			}			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		_loop1595:		do {			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case APPEND:			{				AST tmp2049_AST_in = (AST)_t;				match(_t,APPEND);				_t = _t.getNextSibling();				break;			}			case BINARY:			{				AST tmp2050_AST_in = (AST)_t;				match(_t,BINARY);				_t = _t.getNextSibling();				break;			}			case COLLATE:			{				AST tmp2051_AST_in = (AST)_t;				match(_t,COLLATE);				_t = _t.getNextSibling();				break;			}			case CONVERT:			{				AST __t1587 = _t;				AST tmp2052_AST_in = (AST)_t;				match(_t,CONVERT);				_t = _t.getFirstChild();				{				_loop1590:				do {					if (_t==null) _t=ASTNULL;					if ((_t.getType()==SOURCE||_t.getType()==TARGET)) {						{						if (_t==null) _t=ASTNULL;						switch ( _t.getType()) {						case SOURCE:						{							AST tmp2053_AST_in = (AST)_t;							match(_t,SOURCE);							_t = _t.getNextSibling();							break;						}						case TARGET:						{							AST tmp2054_AST_in = (AST)_t;							match(_t,TARGET);							_t = _t.getNextSibling();							break;						}						default:						{							throw new NoViableAltException(_t);						}						}						}						expression(_t);						_t = _retTree;					}					else {						break _loop1590;					}									} while (true);				}				_t = __t1587;				_t = _t.getNextSibling();				break;			}			case LOBDIR:			{				AST __t1591 = _t;				AST tmp2055_AST_in = (AST)_t;				match(_t,LOBDIR);				_t = _t.getFirstChild();				filenameorvalue(_t);				_t = _retTree;				_t = __t1591;				_t = _t.getNextSibling();				break;			}			case NOCONVERT:			{				AST tmp2056_AST_in = (AST)_t;				match(_t,NOCONVERT);				_t = _t.getNextSibling();				break;			}			case ECHO:			{				AST tmp2057_AST_in = (AST)_t;				match(_t,ECHO);				_t = _t.getNextSibling();				break;			}			case NOECHO:			{				AST tmp2058_AST_in = (AST)_t;				match(_t,NOECHO);				_t = _t.getNextSibling();				break;			}			case KEEPMESSAGES:			{				AST tmp2059_AST_in = (AST)_t;				match(_t,KEEPMESSAGES);				_t = _t.getNextSibling();				break;			}			case LANDSCAPE:			{				AST tmp2060_AST_in = (AST)_t;				match(_t,LANDSCAPE);				_t = _t.getNextSibling();				break;			}			case MAP:			{				AST __t1592 = _t;				AST tmp2061_AST_in = (AST)_t;				match(_t,MAP);				_t = _t.getFirstChild();				anyorvalue(_t);				_t = _retTree;				_t = __t1592;				_t = _t.getNextSibling();				break;			}			case NOMAP:			{				AST tmp2062_AST_in = (AST)_t;				match(_t,NOMAP);				_t = _t.getNextSibling();				break;			}			case NUMCOPIES:			{				AST __t1593 = _t;				AST tmp2063_AST_in = (AST)_t;				match(_t,NUMCOPIES);				_t = _t.getFirstChild();				anyorvalue(_t);				_t = _retTree;				_t = __t1593;				_t = _t.getNextSibling();				break;			}			case PAGED:			{				AST tmp2064_AST_in = (AST)_t;				match(_t,PAGED);				_t = _t.getNextSibling();				break;			}			case PAGESIZE_KW:			{				AST __t1594 = _t;				AST tmp2065_AST_in = (AST)_t;				match(_t,PAGESIZE_KW);				_t = _t.getFirstChild();				anyorvalue(_t);				_t = _retTree;				_t = __t1594;				_t = _t.getNextSibling();				break;			}			case PORTRAIT:			{				AST tmp2066_AST_in = (AST)_t;				match(_t,PORTRAIT);				_t = _t.getNextSibling();				break;			}			case UNBUFFERED:			{				AST tmp2067_AST_in = (AST)_t;				match(_t,UNBUFFERED);				_t = _t.getNextSibling();				break;			}			default:			{				break _loop1595;			}			}		} while (true);		}		_retTree = _t;	}