private Node ParseAnd() { Node lhs = ParseEqualsNotEquals(); while (true) { switch (Tokens.CurrentToken) { case TokenType.And: { Tokens.ReadNext(); Node rhs = ParseEqualsNotEquals(); lhs = new NodeAnd(lhs, rhs); continue; } case TokenType.ConditionalAnd: { Tokens.ReadNext(); Node rhs = ParseEqualsNotEquals(); lhs = new NodeConditionalAnd(lhs, rhs); continue; } default: return(lhs); } } }
void ASTVisitor.Accept(NodeAnd value) { Accept(value); }
internal void Accept(NodeAnd and) { and.left.Visit(this); uint fail = builder.OpAnd(0); and.right.Visit(this); builder.SetOpC(fail, builder.InsnCount); }