From 376a1217a63291fb6714430b1a4dfd64909906c9 Mon Sep 17 00:00:00 2001
From: David Li
Date: Sun, 26 Nov 2017 19:33:08 -0500
Subject: Translate binop (only num + num)
---
src/semantic/translate.rs | 9 +++++++++
1 file changed, 9 insertions(+)
(limited to 'src/semantic/translate.rs')
diff --git a/src/semantic/translate.rs b/src/semantic/translate.rs
index 179eb62..bcbad3a 100644
--- a/src/semantic/translate.rs
+++ b/src/semantic/translate.rs
@@ -48,4 +48,13 @@ impl Translate {
pub fn make_num(&mut self, num: u64) -> Expression {
Expression::Exp(ir::Expression::Const(num))
}
+
+ pub fn make_binop(&mut self, op: ir::Binop,
+ left: Expression, right: Expression) -> Expression {
+ match (left, right) {
+ (Expression::Exp(left), Expression::Exp(right)) =>
+ Expression::Exp(ir::Expression::Binop(op, Box::new(left), Box::new(right))),
+ _ => panic!("Can't make binop from Void"),
+ }
+ }
}
--
cgit v1.2.3