diff options
Diffstat (limited to 'src/transpile_scheme.rs')
-rw-r--r-- | src/transpile_scheme.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/transpile_scheme.rs b/src/transpile_scheme.rs index b206123..e29a422 100644 --- a/src/transpile_scheme.rs +++ b/src/transpile_scheme.rs @@ -5,23 +5,23 @@ use self::modelica_parser::*; use errors::Result; pub trait TranspileScheme { - fn repr_scheme(&self) -> Result<String>; + fn transpile_scheme(&self) -> Result<String>; } impl TranspileScheme for ModelicaModel { - fn repr_scheme(&self) -> Result<String> { + fn transpile_scheme(&self) -> Result<String> { let mut constants = vec![]; for (c, e) in self.get_constant_vars() { if let Some(v) = e { - constants.push(format!("({} {})", c, try!(v.repr_scheme()))); + constants.push(format!("({} {})", c, try!(v.transpile_scheme()))); } } let mut binds = vec![]; let mut outputs = vec![]; for eq in self.equations.iter() { if let Expr::Ident(ref symb) = eq.lhs { - binds.push(format!("({} {})", symb, try!(eq.rhs.repr_scheme()))); + binds.push(format!("({} {})", symb, try!(eq.rhs.transpile_scheme()))); outputs.push(symb.to_string()); } else { bail!("Expected an identifier on LHS (in this partial implementation)") @@ -40,7 +40,7 @@ impl TranspileScheme for ModelicaModel { } impl TranspileScheme for Expr { - fn repr_scheme(&self) -> Result<String> { + fn transpile_scheme(&self) -> Result<String> { use modelica_parser::Expr::*; match *self { Integer(e) => Ok(format!("{}", e)), @@ -49,14 +49,14 @@ impl TranspileScheme for Expr { Boolean(false) => Ok(format!("#f")), StringLiteral(ref s) => Ok(format!("\"{}\"", s)), Ident(ref e) => Ok(format!("{}", e)), - Der(ref e) => Ok(format!("(der {})", try!(e.repr_scheme()))), - Sign(ref e) => Ok(format!("(sign {})", try!(e.repr_scheme()))), - MathUnaryExpr(func, ref e) => Ok(format!("({:?} {})", func, try!(e.repr_scheme()))), + Der(ref e) => Ok(format!("(der {})", try!(e.transpile_scheme()))), + Sign(ref e) => Ok(format!("(sign {})", try!(e.transpile_scheme()))), + MathUnaryExpr(func, ref e) => Ok(format!("({:?} {})", func, try!(e.transpile_scheme()))), BinExpr(op, ref l, ref r) => { Ok(format!("({:?} {} {})", op, - try!(l.repr_scheme()), - try!(r.repr_scheme()))) + try!(l.transpile_scheme()), + try!(r.transpile_scheme()))) } Array(_) => unimplemented!(), } |