LNode PrefixExpr()
{
TT la0;
// Line 108: ( TT.InvertSet PrefixExpr | TT.And PrefixExprOrBraces | TT.AndNot PrefixExprOrBraces | RangeExpr )
la0 = (TT) LA0;
if (la0 == TT.InvertSet) {
var op = MatchAny();
var r = PrefixExpr();
#line 108 "StageOneParserGrammar.ecs"
return F.Call(S.NotBits, r, op.StartIndex, r.Range.EndIndex);
#line default
} else if (la0 == TT.And) {
var op = MatchAny();
var r = PrefixExprOrBraces();
#line 109 "StageOneParserGrammar.ecs"
return F.Call(S.AndBits, r, op.StartIndex, r.Range.EndIndex);
#line default
} else if (la0 == TT.AndNot) {
var op = MatchAny();
var r = PrefixExprOrBraces();
#line 110 "StageOneParserGrammar.ecs"
return F.Call(_AndNot, r, op.StartIndex, r.Range.EndIndex);
#line default
} else {
var r = RangeExpr();
#line 111 "StageOneParserGrammar.ecs"
return r;
#line default
}
}
LNode PrefixExprOrBraces()