public override void Visit(MultiplicationNode node) { node.LeftSide.Accept(this); foreach (var pair in node.RightSides) { pair.Item2.Accept(this); this.BinaryOperation(() => { switch (pair.Item1) { case Tokenizer.TokenKind.ASTERISK: this.Add(" imul rax, rdi"); break; case Tokenizer.TokenKind.SLASH: this.Add(" cqo"); this.Add(" idiv rdi"); break; } }); } }
public abstract void Visit(MultiplicationNode node);