public override void Visit(EqualityNode node) { node.LeftSide.Accept(this); if (node.RightSide != default && node.Operator != default) { node.RightSide.Accept(this); this.BinaryOperation(() => { this.Add(" cmp rax, rdi"); switch (node.Operator) { case Tokenizer.TokenKind.EQUAL_EQUAL: this.Add(" sete al"); break; case Tokenizer.TokenKind.EXCLAMATION_EQUAL: this.Add(" setne al"); break; } this.Add(" movzb rax, al"); }); } }
public abstract void Visit(EqualityNode node);