LNode GateExpr()
{
TT la0;
#line 67 "StageOneParserGrammar.ecs"
Token? altType = null;
#line default
// Line 68: ((TT.Default|TT.Error))?
la0 = (TT) LA0;
if (la0 == TT.Default || la0 == TT.Error)
altType = MatchAny();
var a = SeqExpr();
// Line 70: (TT.Arrow GateExpr)?
la0 = (TT) LA0;
if (la0 == TT.Arrow) {
var op = MatchAny();
var b = GateExpr();
#line 70 "StageOneParserGrammar.ecs"
Infix(ref a, (Symbol) op.Value, b);
#line default
}
#line 72 "StageOneParserGrammar.ecs"
if (altType != null)
a = F.Call((Symbol) altType.Value.Value, a, altType.Value.StartIndex, altType.Value.EndIndex);
#line 74 "StageOneParserGrammar.ecs"
return a;
#line default
}
LNode SeqExpr()