@@ -457,14 +457,8 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
457457 output_str,output_comments,num_output,(* output *)
458458 param_str,param_comments,num_param (* param *))
459459
460-
461- rule (*generate STATE names*)
462- (*generate DERIVATIVES names because the same combination of var_kind and direction*)
463- let kind_lst = [DAELow.STATE] &
464- let direction_lst = [DAE.INPUT,DAE.OUTPUT,DAE.BIDIR] &
465- Util.list_getmember(kind,kind_lst) => _ & (* if this fails then the var is not added to list*)
466- Util.list_getmember(dir,direction_lst) => _ & (* if this fails then the var is not added to list*)
467-
460+ rule (*generate INPUTS names*)
461+ DAELow.is_var_on_top_level_and_input(var) => true &
468462 generate_var_names_and_comments2(vs,
469463 state_str,state_comments,num_state,(* state *)
470464 derivative_str,derivative_comments,num_derivative,(* derivative *)
@@ -480,70 +474,58 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
480474 param_str',param_comments',num_param' (* param *)) &
481475
482476 Util.string_append_list(["\"",origname,"\""]) => origname' &
483- change_name_for_derivative(origname) => der_origname' &
484- Util.string_append_list(["\"",der_origname',"\""]) => der_origname &
485477 Dump.unparse_comment_option(comment) => comment &
486- int_add(num_state',1) => num_state'' &
487- int_add(num_derivative',1) => num_derivative'' &
478+ int_add(num_input',1) => num_input'' &
488479 generate_empty_string(comment) => comment' &
489480
490-
491- Util.string_delimit_list_no_empty([origname',state_str'],", ") => state_str'' &
492- Util.string_delimit_list_no_empty([comment',state_comments'],", ") => state_comments'' &
493-
494- Util.string_delimit_list_no_empty([der_origname,derivative_str'],", ") => derivative_str'' &
495- Util.string_delimit_list_no_empty([comment',derivative_comments'],", ") => derivative_comments''
481+ Util.string_delimit_list_no_empty([origname',input_str'],", ") => input_str'' &
482+ Util.string_delimit_list_no_empty([comment',input_comments'],", ") => input_comments''
496483
497484 -----------------------
498- generate_var_names_and_comments2(DAELow.VAR(cr,kind,dir,_,_,_,
499- _,value,indx,origname,_,dae_var_attr,comment,flow)::vs,
485+ generate_var_names_and_comments2((var as DAELow.VAR(cr,kind,dir,_,_,_,
486+ _,value,indx,origname,_,dae_var_attr,comment,flow)) ::vs,
500487 state_str,state_comments,num_state,(* state *)
501488 derivative_str,derivative_comments,num_derivative,(* derivative *)
502489 algvars_str,algvars_comments,num_algvars,(* algvars *)
503490 input_str,input_comments,num_input,(* input *)
504491 output_str,output_comments,num_output,(* output *)
505492 param_str,param_comments,num_param (* param *))
506493
507- => (state_str'' ,state_comments'' ,num_state' ',(* state *)
508- derivative_str'' ,derivative_comments'' ,num_derivative' ',(* derivative *)
494+ => (state_str',state_comments',num_state',(* state *)
495+ derivative_str',derivative_comments',num_derivative',(* derivative *)
509496 algvars_str',algvars_comments',num_algvars',(* algvars *)
510- input_str',input_comments',num_input',(* input *)
497+ input_str'' ,input_comments'' ,num_input' ',(* input *)
511498 output_str',output_comments',num_output',(* output *)
512499 param_str',param_comments',num_param' (* param *))
513500
514501
515-
516- rule (*generate ALGVARS names*)
517- let kind_lst = [DAELow.VARIABLE,DAELow.DISCRETE,DAELow.DUMMY_DER,DAELow.DUMMY_STATE,DAELow.DISCRETE] &
518- let direction_lst = [DAE.INPUT,DAE.OUTPUT,DAE.BIDIR] &
519- Util.list_getmember(kind,kind_lst) => _ & (* if this fails then the var is not added to list*)
520- Util.list_getmember(dir,direction_lst) => _ & (* if this fails then the var is not added to list*)
521-
502+ rule (*generate OUTPUT names*)
503+ DAELow.is_var_on_top_level_and_output(var) => true &
522504 generate_var_names_and_comments2(vs,
523505 state_str,state_comments,num_state,(* state *)
524506 derivative_str,derivative_comments,num_derivative,(* derivative *)
525507 algvars_str,algvars_comments,num_algvars,(* algvars *)
526508 input_str,input_comments,num_input,(* input *)
527509 output_str,output_comments,num_output,(* output *)
528510 param_str,param_comments,num_param (* param *))
529- => (state_str',state_comments',num_state',(* state *)
530- derivative_str',derivative_comments',num_derivative',(* derivative *)
531- algvars_str',algvars_comments',num_algvars',(* algvars *)
532- input_str',input_comments',num_input',(* input *)
533- output_str',output_comments',num_output',(* output *)
534- param_str',param_comments',num_param' (* param *)) &
511+ => (state_str',state_comments',num_state',(* state *)
512+ derivative_str',derivative_comments',num_derivative',(* derivative *)
513+ algvars_str',algvars_comments',num_algvars',(* algvars *)
514+ input_str',input_comments',num_input',(* input *)
515+ output_str',output_comments',num_output',(* output *)
516+ param_str',param_comments',num_param' (* param *)) &
535517
536518 Util.string_append_list(["\"",origname,"\""]) => origname' &
537519 Dump.unparse_comment_option(comment) => comment &
538- int_add(num_algvars ',1) => num_algvars '' &
520+ int_add(num_output ',1) => num_output '' &
539521 generate_empty_string(comment) => comment' &
540522
541- Util.string_delimit_list_no_empty([origname',algvars_str'],", ") => algvars_str'' &
542- Util.string_delimit_list_no_empty([comment',algvars_comments '],", ") => algvars_comments ''
543-
544- -----------------------
545- generate_var_names_and_comments2(DAELow.VAR(cr,kind,dir,_,_,_,
546- _,value,indx,origname,_,dae_var_attr,comment,flow)::vs,
523+
524+ Util.string_delimit_list_no_empty([origname',output_str '],", ") => output_str '' &
525+ Util.string_delimit_list_no_empty([comment',output_comments'],", ") => output_comments''
526+ -----------------------
527+ generate_var_names_and_comments2((var as DAELow.VAR(cr,kind,dir,_,_,_,
528+ _,value,indx,origname,_,dae_var_attr,comment,flow)) ::vs,
547529 state_str,state_comments,num_state,(* state *)
548530 derivative_str,derivative_comments,num_derivative,(* derivative *)
549531 algvars_str,algvars_comments,num_algvars,(* algvars *)
@@ -553,14 +535,15 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
553535
554536 => (state_str',state_comments',num_state',(* state *)
555537 derivative_str',derivative_comments',num_derivative',(* derivative *)
556- algvars_str'' ,algvars_comments'' ,num_algvars' ',(* algvars *)
538+ algvars_str',algvars_comments',num_algvars',(* algvars *)
557539 input_str',input_comments',num_input',(* input *)
558- output_str',output_comments',num_output',(* output *)
540+ output_str'' ,output_comments'' ,num_output' ',(* output *)
559541 param_str',param_comments',num_param' (* param *))
560542
561- rule (*generate INPUTS names*)
562- let kind_lst = [DAELow.VARIABLE,DAELow.DISCRETE,DAELow.DUMMY_DER,DAELow.DUMMY_STATE,DAELow.DISCRETE] &
563- let direction_lst = [DAE.INPUT] &
543+
544+ rule (*generate PARAM names*)
545+ let kind_lst = [DAELow.PARAM] &
546+ let direction_lst = [DAE.INPUT,DAE.OUTPUT,DAE.BIDIR] &
564547 Util.list_getmember(kind,kind_lst) => _ & (* if this fails then the var is not added to list*)
565548 Util.list_getmember(dir,direction_lst) => _ & (* if this fails then the var is not added to list*)
566549
@@ -580,11 +563,11 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
580563
581564 Util.string_append_list(["\"",origname,"\""]) => origname' &
582565 Dump.unparse_comment_option(comment) => comment &
583- int_add(num_input ',1) => num_input '' &
566+ int_add(num_param ',1) => num_param '' &
584567 generate_empty_string(comment) => comment' &
585-
586- Util.string_delimit_list_no_empty([origname',input_str '],", ") => input_str '' &
587- Util.string_delimit_list_no_empty([comment',input_comments '],", ") => input_comments ''
568+
569+ Util.string_delimit_list_no_empty([origname',param_str '],", ") => param_str '' &
570+ Util.string_delimit_list_no_empty([comment',param_comments '],", ") => param_comments ''
588571
589572 -----------------------
590573 generate_var_names_and_comments2(DAELow.VAR(cr,kind,dir,_,_,_,
@@ -599,14 +582,15 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
599582 => (state_str',state_comments',num_state',(* state *)
600583 derivative_str',derivative_comments',num_derivative',(* derivative *)
601584 algvars_str',algvars_comments',num_algvars',(* algvars *)
602- input_str'' ,input_comments'' ,num_input' ',(* input *)
585+ input_str',input_comments',num_input',(* input *)
603586 output_str',output_comments',num_output',(* output *)
604- param_str',param_comments',num_param' (* param *))
605-
587+ param_str'',param_comments'',num_param'' (* param *))
606588
607- rule (*generate OUTPUT names*)
608- let kind_lst = [DAELow.VARIABLE,DAELow.DISCRETE,DAELow.DUMMY_DER,DAELow.DUMMY_STATE,DAELow.DISCRETE] &
609- let direction_lst = [DAE.OUTPUT] &
589+
590+ rule (*generate STATE names*)
591+ (*generate DERIVATIVES names because the same combination of var_kind and direction*)
592+ let kind_lst = [DAELow.STATE] &
593+ let direction_lst = [DAE.INPUT,DAE.OUTPUT,DAE.BIDIR] &
610594 Util.list_getmember(kind,kind_lst) => _ & (* if this fails then the var is not added to list*)
611595 Util.list_getmember(dir,direction_lst) => _ & (* if this fails then the var is not added to list*)
612596
@@ -625,13 +609,20 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
625609 param_str',param_comments',num_param' (* param *)) &
626610
627611 Util.string_append_list(["\"",origname,"\""]) => origname' &
612+ change_name_for_derivative(origname) => der_origname' &
613+ Util.string_append_list(["\"",der_origname',"\""]) => der_origname &
628614 Dump.unparse_comment_option(comment) => comment &
629- int_add(num_output',1) => num_output'' &
615+ int_add(num_state',1) => num_state'' &
616+ int_add(num_derivative',1) => num_derivative'' &
630617 generate_empty_string(comment) => comment' &
631-
632618
633- Util.string_delimit_list_no_empty([origname',output_str'],", ") => output_str'' &
634- Util.string_delimit_list_no_empty([comment',output_comments'],", ") => output_comments''
619+
620+ Util.string_delimit_list_no_empty([origname',state_str'],", ") => state_str'' &
621+ Util.string_delimit_list_no_empty([comment',state_comments'],", ") => state_comments'' &
622+
623+ Util.string_delimit_list_no_empty([der_origname,derivative_str'],", ") => derivative_str'' &
624+ Util.string_delimit_list_no_empty([comment',derivative_comments'],", ") => derivative_comments''
625+
635626 -----------------------
636627 generate_var_names_and_comments2(DAELow.VAR(cr,kind,dir,_,_,_,
637628 _,value,indx,origname,_,dae_var_attr,comment,flow)::vs,
@@ -642,16 +633,17 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
642633 output_str,output_comments,num_output,(* output *)
643634 param_str,param_comments,num_param (* param *))
644635
645- => (state_str',state_comments',num_state',(* state *)
646- derivative_str',derivative_comments',num_derivative',(* derivative *)
636+ => (state_str'' ,state_comments'' ,num_state' ',(* state *)
637+ derivative_str'' ,derivative_comments'' ,num_derivative' ',(* derivative *)
647638 algvars_str',algvars_comments',num_algvars',(* algvars *)
648639 input_str',input_comments',num_input',(* input *)
649- output_str'' ,output_comments'' ,num_output' ',(* output *)
640+ output_str',output_comments',num_output',(* output *)
650641 param_str',param_comments',num_param' (* param *))
651642
652643
653- rule (*generate PARAM names*)
654- let kind_lst = [DAELow.PARAM] &
644+
645+ rule (*generate ALGVARS names*)
646+ let kind_lst = [DAELow.VARIABLE,DAELow.DISCRETE,DAELow.DUMMY_DER,DAELow.DUMMY_STATE,DAELow.DISCRETE] &
655647 let direction_lst = [DAE.INPUT,DAE.OUTPUT,DAE.BIDIR] &
656648 Util.list_getmember(kind,kind_lst) => _ & (* if this fails then the var is not added to list*)
657649 Util.list_getmember(dir,direction_lst) => _ & (* if this fails then the var is not added to list*)
@@ -672,13 +664,13 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
672664
673665 Util.string_append_list(["\"",origname,"\""]) => origname' &
674666 Dump.unparse_comment_option(comment) => comment &
675- int_add(num_param ',1) => num_param '' &
667+ int_add(num_algvars ',1) => num_algvars '' &
676668 generate_empty_string(comment) => comment' &
677669
678- Util.string_delimit_list_no_empty([origname',param_str '],", ") => param_str '' &
679- Util.string_delimit_list_no_empty([comment',param_comments '],", ") => param_comments ''
670+ Util.string_delimit_list_no_empty([origname',algvars_str '],", ") => algvars_str '' &
671+ Util.string_delimit_list_no_empty([comment',algvars_comments '],", ") => algvars_comments ''
680672
681- -----------------------
673+ -----------------------
682674 generate_var_names_and_comments2(DAELow.VAR(cr,kind,dir,_,_,_,
683675 _,value,indx,origname,_,dae_var_attr,comment,flow)::vs,
684676 state_str,state_comments,num_state,(* state *)
@@ -690,10 +682,10 @@ relation generate_var_names_and_comments2:(DAELow.Var list,
690682
691683 => (state_str',state_comments',num_state',(* state *)
692684 derivative_str',derivative_comments',num_derivative',(* derivative *)
693- algvars_str',algvars_comments',num_algvars',(* algvars *)
685+ algvars_str'' ,algvars_comments'' ,num_algvars' ',(* algvars *)
694686 input_str',input_comments',num_input',(* input *)
695687 output_str',output_comments',num_output',(* output *)
696- param_str'' ,param_comments'' ,num_param' ' (* param *))
688+ param_str',param_comments',num_param' (* param *))
697689
698690
699691
0 commit comments