Skip to content

Commit

Permalink
Refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
95th committed Apr 23, 2020
1 parent d80810e commit 9942f57
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions src/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -189,17 +189,18 @@ impl<'a> Compiler<'a> {
self.parse_precendence(rule.precedence.next_higher().unwrap());

// Emit the operator instruction
use TokenKind::*;
match operator {
TokenKind::BangEqual => self.emit_op2(OpCode::Equal, OpCode::Not),
TokenKind::EqualEqual => self.emit_op(OpCode::Equal),
TokenKind::Greater => self.emit_op(OpCode::Greater),
TokenKind::GreaterEqual => self.emit_op2(OpCode::Less, OpCode::Not),
TokenKind::Less => self.emit_op(OpCode::Less),
TokenKind::LessEqual => self.emit_op2(OpCode::Greater, OpCode::Not),
TokenKind::Plus => self.emit_op(OpCode::Add),
TokenKind::Minus => self.emit_op(OpCode::Subtract),
TokenKind::Star => self.emit_op(OpCode::Multiply),
TokenKind::Slash => self.emit_op(OpCode::Divide),
BangEqual => self.emit_op2(OpCode::Equal, OpCode::Not),
EqualEqual => self.emit_op(OpCode::Equal),
Greater => self.emit_op(OpCode::Greater),
GreaterEqual => self.emit_op2(OpCode::Less, OpCode::Not),
Less => self.emit_op(OpCode::Less),
LessEqual => self.emit_op2(OpCode::Greater, OpCode::Not),
Plus => self.emit_op(OpCode::Add),
Minus => self.emit_op(OpCode::Subtract),
Star => self.emit_op(OpCode::Multiply),
Slash => self.emit_op(OpCode::Divide),
_ => unreachable!(),
}
}
Expand Down

0 comments on commit 9942f57

Please sign in to comment.