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!(),          } | 
