summaryrefslogtreecommitdiff
path: root/src/semantic/translate.rs
diff options
context:
space:
mode:
authorDavid Li <li.davidm96@gmail.com>2017-11-07 18:49:01 -0500
committerDavid Li <li.davidm96@gmail.com>2017-11-07 18:49:01 -0500
commit29c94bef2237f9b730ab298da61f8095a052cb91 (patch)
tree5fd60506433f39be65917f2c77ea95f126096b60 /src/semantic/translate.rs
parenta6db3bf0dc5d69e7980384015a509498f07db0f0 (diff)
Stub out analysis in preparation of IR translation
Diffstat (limited to 'src/semantic/translate.rs')
-rw-r--r--src/semantic/translate.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/semantic/translate.rs b/src/semantic/translate.rs
index e69de29..cc5aec0 100644
--- a/src/semantic/translate.rs
+++ b/src/semantic/translate.rs
@@ -0,0 +1,27 @@
+use super::ir;
+
+#[derive(Debug)]
+pub enum Expression {
+ Exp(ir::Expression),
+ Void(ir::Statement),
+}
+
+pub struct Translate {
+
+}
+
+pub enum Level {
+ Top,
+ Level,
+}
+
+impl Translate {
+ pub fn new() -> Translate {
+ Translate {
+ }
+ }
+
+ pub fn make_num(&mut self, num: u64) -> Expression {
+ Expression::Exp(ir::Expression::Const(num))
+ }
+}