public Expression prefix_unary_expression()
{
Expression expression = null;
IToken token = null;
IToken token2 = null;
IToken token3 = null;
IToken token4 = null;
IToken token5 = null;
UnaryOperatorType type = 0;
try
{
IToken token6;
switch (this.LA(1))
{
case 0x52:
token = this.LT(1);
this.match(0x52);
if (base.inputState.guessing == 0)
{
token6 = token;
type = 1;
}
break;
case 0x4f:
token2 = this.LT(1);
this.match(0x4f);
if (base.inputState.guessing == 0)
{
token6 = token2;
type = 2;
}
break;
case 80:
token3 = this.LT(1);
this.match(80);
if (base.inputState.guessing == 0)
{
token6 = token3;
type = 3;
}
break;
case 0x67:
token4 = this.LT(1);
this.match(0x67);
if (base.inputState.guessing == 0)
{
token6 = token4;
type = 6;
}
break;
case 0x58:
token5 = this.LT(1);
this.match(0x58);
if (base.inputState.guessing == 0)
{
token6 = token5;
type = 8;
}
break;
default:
throw new NoViableAltException(this.LT(1), this.getFilename());
}
expression = this.unary_expression();
if (base.inputState.guessing == 0)
{
expression = new UnaryExpression(ToLexicalInfo(token6), type, expression);
}
}
catch (RecognitionException exception)
{
if (base.inputState.guessing != 0)
{
throw;
}
this.reportError(exception);
this.recover(exception, tokenSet_20_);
return expression;
}
return expression;
}