Skip to content

Commit

Permalink
added start_function to the sim-code generated that contain the equat…
Browse files Browse the repository at this point in the history
…ion for start-exp

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@1811 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
x02lucpo committed Jun 16, 2005
1 parent a741eb4 commit 393d481
Showing 1 changed file with 24 additions and 9 deletions.
33 changes: 24 additions & 9 deletions Compiler/DAELow.rml
Expand Up @@ -4296,7 +4296,7 @@ end
**)
relation translate_dae: DAELow => DAELow =

rule var_list(vars) => varlst &
rule var_list(vars) => varlst &
var_list(knvars) => knvarlst &
calculate_indexes(varlst) => varlst' &
calculate_indexes(knvarlst) => knvarlst' &
Expand All @@ -4308,7 +4308,7 @@ relation translate_dae: DAELow => DAELow =
replace_variables_in_when_clauses(wc,s,t) => wc' &
transform_variables(varlst',s,t) => varlst'' &
transform_variables(knvarlst',s,t) => knvarlst'' &
empty_vars() => vars' &
empty_vars() => vars' &
empty_vars() => knvars' &
add_vars(varlst'',vars') => vars'' &
add_vars(knvarlst'',knvars') => knvars'' &
Expand Down Expand Up @@ -5252,19 +5252,34 @@ relation transform_variables: (Var list, Exp.Exp list, Exp.Exp list) => (Var lis

rule transform_variables(vs,s,t) => vs' &
transform_variable(i,kind) => cr' &
Exp.print_component_ref_str(cr) => name &
Exp.replace_exp_list(e,s,t) => (e',_)
Exp.print_component_ref_str(cr) => name &
Exp.replace_exp_list(e,s,t) => (e',_) &
transform_startValue(start,s,t) => start'
-------------------
transform_variables(VAR(cr,kind,a,b,SOME(e), c,d,f,i,_,j,dae_var_attr,comment)::vs,s,t)
=> (VAR(cr',kind,a,b,SOME(e'),c,d,f,i,name,j,dae_var_attr,comment)::vs')
transform_variables(VAR(cr,kind,a,b,SOME(e), c,d,start,i,_,j,dae_var_attr,comment)::vs,s,t)
=> (VAR(cr',kind,a,b,SOME(e'),c,d,start',i,name,j,dae_var_attr,comment)::vs')

rule transform_variables(vs,s,t) => vs' &
transform_variable(i,kind) => cr' &
Exp.print_component_ref_str(cr) => name
Exp.print_component_ref_str(cr) => name &
transform_startValue(start,s,t) => start'
---------------------------------------
transform_variables(VAR(cr,kind,a,b,NONE, c,d,f,i,_,j,dae_var_attr,comment)::vs,s,t)
=> (VAR(cr',kind,a,b,NONE,c,d,f,i,name,j,dae_var_attr,comment)::vs')
transform_variables(VAR(cr,kind,a,b,NONE, c,d,start,i,_,j,dae_var_attr,comment)::vs,s,t)
=> (VAR(cr',kind,a,b,NONE,c,d,start',i,name,j,dae_var_attr,comment)::vs')

end

(** relation: transform_startValue
** Helper relation to transform_variables
**)
relation transform_startValue:(DAE.StartValue, Exp.Exp list, Exp.Exp list) => DAE.StartValue =

rule Exp.replace_exp_list(e,s,t) => (e',_)
--------------------------
transform_startValue(SOME(e),s,t) => SOME(e')

axiom transform_startValue(NONE,_,_) => NONE

end

(** relation: transform_variable
Expand Down

0 comments on commit 393d481

Please sign in to comment.