@@ -443,27 +443,17 @@ protected
443443 HashTableExpToIndex . HashTable ht;
444444algorithm
445445 ht := HashTableExpToIndex . emptyHashTable();
446- (outDAE, outTree, (ht, _, _, outTimeEvents)) := DAEUtil . traverseDAE(inDAE, functionTree, transformBuiltinExpressions , (ht, 0 , 0 , {}));
446+ (outDAE, outTree, (_, ( ht, _, _, outTimeEvents))) := DAEUtil . traverseDAE(inDAE, functionTree, Expression . traverseSubexpressionsHelper , (transformBuiltinExpression, ( ht, 0 , 0 , {}) ));
447447end processBuiltinExpressions;
448448
449- protected function transformBuiltinExpressions "author: lochel
450- Helper for processBuiltinExpressions"
451- input tuple< DAE . Exp , tuple< HashTableExpToIndex . HashTable , Integer /* iDelay*/ , Integer /* iSample*/ , list< BackendDAE . TimeEvent >>> itpl;
452- output tuple< DAE . Exp , tuple< HashTableExpToIndex . HashTable , Integer /* iDelay*/ , Integer /* iSample*/ , list< BackendDAE . TimeEvent >>> otpl;
453- protected
454- DAE . Exp e;
455- tuple< HashTableExpToIndex . HashTable , Integer , Integer , list< BackendDAE . TimeEvent >> i;
456- algorithm
457- (e, i) := itpl;
458- otpl := Expression . traverseExp(e, transformBuiltinExpression, i);
459- end transformBuiltinExpressions;
460-
461449protected function transformBuiltinExpression "author: lochel
462450 Helper for transformBuiltinExpressions"
463- input tuple< DAE . Exp , tuple< HashTableExpToIndex . HashTable , Integer /* iDelay*/ , Integer /* iSample*/ , list< BackendDAE . TimeEvent >>> inTuple;
464- output tuple< DAE . Exp , tuple< HashTableExpToIndex . HashTable , Integer /* iDelay*/ , Integer /* iSample*/ , list< BackendDAE . TimeEvent >>> outTuple;
451+ input DAE . Exp inExp;
452+ input tuple< HashTableExpToIndex . HashTable , Integer /* iDelay*/ , Integer /* iSample*/ , list< BackendDAE . TimeEvent >> inTuple;
453+ output DAE . Exp outExp;
454+ output tuple< HashTableExpToIndex . HashTable , Integer /* iDelay*/ , Integer /* iSample*/ , list< BackendDAE . TimeEvent >> outTuple;
465455algorithm
466- outTuple := matchcontinue( inTuple)
456+ (outExp, outTuple) := matchcontinue (inExp, inTuple)
467457 local
468458 DAE . Exp e, start, interval;
469459 list< DAE . Exp > es;
@@ -473,28 +463,28 @@ algorithm
473463 DAE . CallAttributes attr;
474464
475465 // delay [already in ht]
476- case (( e as DAE . CALL (Absyn . IDENT ("delay" ), es, attr), (ht, iDelay, iSample, timeEvents) )) equation
466+ case (e as DAE . CALL (Absyn . IDENT ("delay" ), es, attr), (ht, iDelay, iSample, timeEvents)) equation
477467 i = BaseHashTable . get(e, ht);
478- then (( DAE . CALL (Absyn . IDENT ("delay" ), DAE . ICONST (i)::es, attr), (ht, iDelay, iSample, timeEvents) ));
468+ then (DAE . CALL (Absyn . IDENT ("delay" ), DAE . ICONST (i)::es, attr), (ht, iDelay, iSample, timeEvents));
479469
480470 // delay [not yet in ht]
481- case (( e as DAE . CALL (Absyn . IDENT ("delay" ), es, attr), (ht, iDelay, iSample, timeEvents) )) equation
471+ case (e as DAE . CALL (Absyn . IDENT ("delay" ), es, attr), (ht, iDelay, iSample, timeEvents)) equation
482472 ht = BaseHashTable . add((e, iDelay+ 1 ), ht);
483- then (( DAE . CALL (Absyn . IDENT ("delay" ), DAE . ICONST (iDelay)::es, attr), (ht, iDelay+ 1 , iSample, timeEvents) ));
473+ then (DAE . CALL (Absyn . IDENT ("delay" ), DAE . ICONST (iDelay)::es, attr), (ht, iDelay+ 1 , iSample, timeEvents));
484474
485475 // sample [already in ht]
486- case (( e as DAE . CALL (Absyn . IDENT ("sample" ), es, attr), (ht, iDelay, iSample, timeEvents) )) equation
476+ case (e as DAE . CALL (Absyn . IDENT ("sample" ), es, attr), (ht, iDelay, iSample, timeEvents)) equation
487477 i = BaseHashTable . get(e, ht);
488- then (( DAE . CALL (Absyn . IDENT ("sample" ), DAE . ICONST (i)::es, attr), (ht, iDelay, iSample, timeEvents) ));
478+ then (DAE . CALL (Absyn . IDENT ("sample" ), DAE . ICONST (i)::es, attr), (ht, iDelay, iSample, timeEvents));
489479
490480 // sample [not yet in ht]
491- case (( e as DAE . CALL (Absyn . IDENT ("sample" ), es as {start, interval}, attr), (ht, iDelay, iSample, timeEvents) )) equation
481+ case (e as DAE . CALL (Absyn . IDENT ("sample" ), es as {start, interval}, attr), (ht, iDelay, iSample, timeEvents)) equation
492482 iSample = iSample+ 1 ;
493483 timeEvents = listAppend(timeEvents, {BackendDAE . SAMPLE_TIME_EVENT (iSample, start, interval)});
494484 ht = BaseHashTable . add((e, iSample), ht);
495- then (( DAE . CALL (Absyn . IDENT ("sample" ), DAE . ICONST (iSample)::es, attr), (ht, iDelay, iSample, timeEvents) ));
485+ then (DAE . CALL (Absyn . IDENT ("sample" ), DAE . ICONST (iSample)::es, attr), (ht, iDelay, iSample, timeEvents));
496486
497- else inTuple;
487+ else (inExp, inTuple) ;
498488 end matchcontinue;
499489end transformBuiltinExpression;
500490
@@ -2515,24 +2505,23 @@ algorithm
25152505end handleAliasEquations1;
25162506
25172507protected function replaceAliasVarTraverser
2518- "author: Frenkel TUD 2011-03"
2519- input tuple< BackendDAE . Var , BackendVarTransform . VariableReplacements > inTpl;
2520- output tuple< BackendDAE . Var , BackendVarTransform . VariableReplacements > outTpl;
2508+ input BackendDAE . Var inVar;
2509+ input BackendVarTransform . VariableReplacements inRepl;
2510+ output BackendDAE . Var outVar;
2511+ output BackendVarTransform . VariableReplacements repl;
25212512algorithm
2522- outTpl:=
2523- matchcontinue (inTpl)
2513+ (outVar,repl) := matchcontinue (inVar,inRepl)
25242514 local
25252515 BackendDAE . Var v, v1;
2526- BackendVarTransform . VariableReplacements repl;
25272516 DAE . Exp e, e1;
25282517 Boolean b;
2529- case (( v as BackendDAE . VAR (bindExp= SOME (e)), repl) )
2518+ case (v as BackendDAE . VAR (bindExp= SOME (e)), repl)
25302519 equation
25312520 (e1, true ) = BackendVarTransform . replaceExp(e, repl, NONE ());
25322521 b = Expression . isConst(e1);
25332522 v1 = Debug . bcallret2(not b, BackendVariable . setBindExp, v, SOME (e1), v);
2534- then (( v1, repl) );
2535- else inTpl ;
2523+ then (v1, repl);
2524+ else (inVar,inRepl) ;
25362525 end matchcontinue;
25372526end replaceAliasVarTraverser;
25382527
0 commit comments