diff options
author | Sunil Shetye | 2018-06-19 11:59:32 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-19 11:59:32 +0530 |
commit | 3595bbad218ca834662ebcd884f8c2815f0ec339 (patch) | |
tree | 1f1b532612d7d92fb2d16ddb61f53a209e5c0600 | |
parent | 1ac5446e46da7a6a0c55fdfca760e9a2844f60e5 (diff) | |
download | sci2js-3595bbad218ca834662ebcd884f8c2815f0ec339.tar.gz sci2js-3595bbad218ca834662ebcd884f8c2815f0ec339.tar.bz2 sci2js-3595bbad218ca834662ebcd884f8c2815f0ec339.zip |
support clear
-rw-r--r-- | combined.js | 375 | ||||
-rw-r--r-- | js/Misc/EDGE_TRIGGER.js | 157 | ||||
-rw-r--r-- | js/Misc/Extract_Activation.js | 96 | ||||
-rw-r--r-- | js/Sources/STEP_FUNCTION.js | 123 | ||||
-rwxr-xr-x | sci2jsyacc.py | 12 |
5 files changed, 756 insertions, 7 deletions
diff --git a/combined.js b/combined.js index 0a9ee295..afd2be9b 100644 --- a/combined.js +++ b/combined.js @@ -7819,6 +7819,128 @@ x=arg1; typ=newpar; } } +/* autogenerated from "macros/Sources/STEP_FUNCTION.sci" */ +function STEP_FUNCTION() { +STEP_FUNCTION.prototype.define = function STEP_FUNCTION() { +scs_m_1=scicos_diagram(); +scs_m_1.objs[1-1]=STEP("define"); +scs_m_1.objs[2-1]=OUT_f("define"); +scs_m_1.objs[3-1]=scicos_link(); +scs_m_1.objs[4-1]=scicos_link(); +blk=scs_m_1.objs[1-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[0,0]; +graphics.sz=[40,40]; +graphics.pein=4; +graphics.peout=4; +graphics.pout=3; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[1-1]=blk; +blk=scs_m_1.objs[2-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[80,10]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pin=3; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[2-1]=blk; +lnk=scs_m_1.objs[3-1]; +lnk.from=[1,1,0]; +lnk.to=[2,1,1]; +scs_m_1.objs[3-1]=lnk; +lnk=scs_m_1.objs[4-1]; +lnk.xx=[0,20,-20,-20,20,1]; +lnk.yy=[0,-20,-20,60,60,1]; +lnk.ct=[5,-1]; +lnk.from=[1,1,0]; +lnk.to=[1,1,1]; +scs_m_1.objs[4-1]=lnk; +blk={}; +lnk={}; +model=scicos_model(); +model.sim="csuper"; +model.out=1; +model.out2=1; +model.outtyp=1; +model.rpar=scs_m_1; +gr_i=[]; +x=standard_define([2,2],model,[],gr_i); +} +STEP_FUNCTION.prototype.details = function STEP_FUNCTION() { +} +STEP_FUNCTION.prototype.get = function STEP_FUNCTION() { +} +STEP_FUNCTION.prototype.set = function STEP_FUNCTION() { +for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="STEP") { +ppath=list(i); +break; +} +} +newpar=list(); +for (path in ppath) { +np=size(path,"*"); +spath=list(); +for (k=1;k<=np;k+=1) { +spath[$+1-1]="model"; +spath[$+1-1]="rpar"; +spath[$+1-1]="objs"; +spath[$+1-1]=path(k); +} +xx=arg1(spath); +execstr("xxn="+xx.gui+"(\'set\',xx)"); +if (diffobjs(xxn,xx)) { +model=xx.model; +model_n=xxn.model; +if (!is_modelica_block(xx)) { +modified=or(model.sim!=model_n.sim)||!isequal(model.state,model_n.state)||!isequal(model.dstate,model_n.dstate)||!isequal(model.rpar,model_n.rpar)||!isequal(model.ipar,model_n.ipar)||!isequal(model.label,model_n.label); +if (or(model.in1!=model_n.in1)||or(model.out!=model_n.out)) { +needcompile=1; +} +if (or(model.firing!=model_n.firing)) { +needcompile=2; +} +if (model.sim=="input"||model.sim=="output") { +if (model.ipar!=model_n.ipar) { +needcompile=4; +} +} +if (or(model.blocktype!=model_n.blocktype)||or(model.dep_ut!=model_n.dep_ut)) { +needcompile=4; +} +if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { +needcompile=4; +} +if (prod(size(model_n.sim))>1) { +if (model_n.sim(2)>1000) { +if (model.sim(1)!=model_n.sim(1)) { +needcompile=4; +} +} +} +} else { +modified=or(model_n!=model); +eq=model.equations; +eqn=model_n.equations; +if (or(eq.model!=eqn.model)||or(eq.inputs!=eqn.inputs)||or(eq.outputs!=eqn.outputs)) { +needcompile=4; +} +} +arg1[spath-1]=xxn; +newpar[size(newpar)+1-1]=path; +} +} +x=arg1; +y=needcompile; +typ=newpar; +} +} /* autogenerated from "macros/Sources/GENSIN_f.sci" */ function GENSIN_f() { GENSIN_f.prototype.define = function GENSIN_f() { @@ -11771,6 +11893,162 @@ break; needcompile=resume(needcompile) } } +/* autogenerated from "macros/Misc/EDGE_TRIGGER.sci" */ +function EDGE_TRIGGER() { +EDGE_TRIGGER.prototype.define = function EDGE_TRIGGER() { +scs_m_1=scicos_diagram(); +scs_m_1.objs[1-1]=EDGETRIGGER("define"); +scs_m_1.objs[2-1]=IFTHEL_f("define"); +scs_m_1.objs[3-1]=IN_f("define"); +scs_m_1.objs[4-1]=CLKOUTV_f("define"); +scs_m_1.objs[5-1]=scicos_link(); +scs_m_1.objs[6-1]=scicos_link(); +scs_m_1.objs[7-1]=scicos_link(); +blk=scs_m_1.objs[1-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[60,0]; +graphics.sz=[60,40]; +graphics.exprs="0"; +model.ipar=0; +graphics.pin=5; +graphics.pout=6; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[1-1]=blk; +blk=scs_m_1.objs[2-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[160,0]; +graphics.sz=[60,40]; +graphics.exprs=[["0"],["0"]]; +model.evtin=[]; +model.nzcross=0; +model.nmode=0; +graphics.pin=6; +graphics.peout=[[7],[0]]; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[2-1]=blk; +blk=scs_m_1.objs[3-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[0,10]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pout=5; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[3-1]=blk; +blk=scs_m_1.objs[4-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[170,-60]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pein=7; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[4-1]=blk; +lnk=scs_m_1.objs[5-1]; +lnk.from=[3,1,0]; +lnk.to=[1,1,1]; +scs_m_1.objs[5-1]=lnk; +lnk=scs_m_1.objs[6-1]; +lnk.from=[1,1,0]; +lnk.to=[2,1,1]; +scs_m_1.objs[6-1]=lnk; +lnk=scs_m_1.objs[7-1]; +lnk.ct=[5,-1]; +lnk.from=[2,1,0]; +lnk.to=[4,1,1]; +scs_m_1.objs[7-1]=lnk; +blk={}; +lnk={}; +model=scicos_model(); +model.sim="csuper"; +model.in1=1; +model.evtout=1; +model.rpar=scs_m_1; +gr_i=[]; +x=standard_define([3,2],model,[],gr_i); +} +EDGE_TRIGGER.prototype.details = function EDGE_TRIGGER() { +} +EDGE_TRIGGER.prototype.get = function EDGE_TRIGGER() { +} +EDGE_TRIGGER.prototype.set = function EDGE_TRIGGER() { +for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="EDGETRIGGER") { +ppath=list(i); +break; +} +} +newpar=list(); +y=0; +for (path in ppath) { +np=size(path,"*"); +spath=list(); +for (k=1;k<=np;k+=1) { +spath[$+1-1]="model"; +spath[$+1-1]="rpar"; +spath[$+1-1]="objs"; +spath[$+1-1]=path(k); +} +xx=arg1(spath); +execstr("xxn="+xx.gui+"(\'set\',xx)"); +if (diffobjs(xxn,xx)) { +model=xx.model; +model_n=xxn.model; +if (!is_modelica_block(xx)) { +modified=or(model.sim!=model_n.sim)||!isequal(model.state,model_n.state)||!isequal(model.dstate,model_n.dstate)||!isequal(model.rpar,model_n.rpar)||!isequal(model.ipar,model_n.ipar)||!isequal(model.label,model_n.label); +if (or(model.in1!=model_n.in1)||or(model.out!=model_n.out)) { +needcompile=1; +} +if (or(model.firing!=model_n.firing)) { +needcompile=2; +} +if ((size(model.in1,"*")!=size(model_n.in1,"*"))||(size(model.out,"*")!=size(model_n.out,"*"))) { +needcompile=4; +} +if (model.sim=="input"||model.sim=="output") { +if (model.ipar!=model_n.ipar) { +needcompile=4; +} +} +if (or(model.blocktype!=model_n.blocktype)||or(model.dep_ut!=model_n.dep_ut)) { +needcompile=4; +} +if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { +needcompile=4; +} +if (prod(size(model_n.sim))>1) { +if (model_n.sim(2)>1000) { +if (model.sim(1)!=model_n.sim(1)) { +needcompile=4; +} +} +} +} else { +modified=or(model_n!=model); +eq=model.equations; +eqn=model_n.equations; +if (or(eq.model!=eqn.model)||or(eq.inputs!=eqn.inputs)||or(eq.outputs!=eqn.outputs)) { +needcompile=4; +} +} +arg1[spath-1]=xxn; +newpar[size(newpar)+1-1]=path; +y=max(y,needcompile); +} +} +x=arg1; +typ=newpar; +} +} /* autogenerated from "macros/Misc/RATELIMITER.sci" */ function RATELIMITER() { RATELIMITER.prototype.define = function RATELIMITER() { @@ -12129,6 +12407,101 @@ break; needcompile=resume(needcompile) } } +/* autogenerated from "macros/Misc/Extract_Activation.sci" */ +function Extract_Activation() { +Extract_Activation.prototype.define = function Extract_Activation() { +scs_m_1=scicos_diagram(); +scs_m_1.objs[1-1]=IFTHEL_f("define"); +scs_m_1.objs[2-1]=CLKSOMV_f("define"); +scs_m_1.objs[3-1]=IN_f("define"); +scs_m_1.objs[4-1]=CLKOUTV_f("define"); +scs_m_1.objs[5-1]=scicos_link(); +scs_m_1.objs[6-1]=scicos_link(); +scs_m_1.objs[7-1]=scicos_link(); +scs_m_1.objs[8-1]=scicos_link(); +blk=scs_m_1.objs[1-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[80,0]; +graphics.sz=[60,40]; +graphics.exprs=[["0"],["0"]]; +model.evtin=[]; +model.nzcross=0; +model.nmode=0; +graphics.pin=7; +graphics.peout=[[5],[6]]; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[1-1]=blk; +blk=scs_m_1.objs[2-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[80,-80]; +graphics.sz=[80,40]; +graphics.pein=[[5],[6]]; +graphics.peout=8; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[2-1]=blk; +blk=scs_m_1.objs[3-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[0,10]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pout=7; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[3-1]=blk; +blk=scs_m_1.objs[4-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[110,-140]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pein=8; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[4-1]=blk; +lnk=scs_m_1.objs[5-1]; +lnk.ct=[5,-1]; +lnk.from=[1,1,0]; +lnk.to=[2,1,1]; +scs_m_1.objs[5-1]=lnk; +lnk=scs_m_1.objs[6-1]; +lnk.ct=[5,-1]; +lnk.from=[1,2,0]; +lnk.to=[2,2,1]; +scs_m_1.objs[6-1]=lnk; +lnk=scs_m_1.objs[7-1]; +lnk.from=[3,1,0]; +lnk.to=[1,1,1]; +scs_m_1.objs[7-1]=lnk; +lnk=scs_m_1.objs[8-1]; +lnk.ct=[5,-1]; +lnk.from=[2,1,0]; +lnk.to=[4,1,1]; +scs_m_1.objs[8-1]=lnk; +blk={}; +lnk={}; +model=scicos_model(); +model.sim="csuper"; +model.in1=1; +model.evtout=1; +model.rpar=scs_m_1; +gr_i=[]; +x=standard_define([3,2],model,[],gr_i); +} +Extract_Activation.prototype.details = function Extract_Activation() { +} +Extract_Activation.prototype.get = function Extract_Activation() { +} +Extract_Activation.prototype.set = function Extract_Activation() { +x=arg1; +} +} /* autogenerated from "macros/Misc/generic_block3.sci" */ function generic_block3() { generic_block3.prototype.define = function generic_block3() { @@ -15580,4 +15953,4 @@ x=arg1; } } -/* made from 248/274 files */ +/* made from 251/274 files */ diff --git a/js/Misc/EDGE_TRIGGER.js b/js/Misc/EDGE_TRIGGER.js index 3127a38b..7829f52f 100644 --- a/js/Misc/EDGE_TRIGGER.js +++ b/js/Misc/EDGE_TRIGGER.js @@ -1,3 +1,156 @@ -Syntax error in input LexToken(CLEAR,'clear',1,6437) /* autogenerated from "macros/Misc/EDGE_TRIGGER.sci" */ -None +function EDGE_TRIGGER() { +EDGE_TRIGGER.prototype.define = function EDGE_TRIGGER() { +scs_m_1=scicos_diagram(); +scs_m_1.objs[1-1]=EDGETRIGGER("define"); +scs_m_1.objs[2-1]=IFTHEL_f("define"); +scs_m_1.objs[3-1]=IN_f("define"); +scs_m_1.objs[4-1]=CLKOUTV_f("define"); +scs_m_1.objs[5-1]=scicos_link(); +scs_m_1.objs[6-1]=scicos_link(); +scs_m_1.objs[7-1]=scicos_link(); +blk=scs_m_1.objs[1-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[60,0]; +graphics.sz=[60,40]; +graphics.exprs="0"; +model.ipar=0; +graphics.pin=5; +graphics.pout=6; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[1-1]=blk; +blk=scs_m_1.objs[2-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[160,0]; +graphics.sz=[60,40]; +graphics.exprs=[["0"],["0"]]; +model.evtin=[]; +model.nzcross=0; +model.nmode=0; +graphics.pin=6; +graphics.peout=[[7],[0]]; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[2-1]=blk; +blk=scs_m_1.objs[3-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[0,10]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pout=5; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[3-1]=blk; +blk=scs_m_1.objs[4-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[170,-60]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pein=7; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[4-1]=blk; +lnk=scs_m_1.objs[5-1]; +lnk.from=[3,1,0]; +lnk.to=[1,1,1]; +scs_m_1.objs[5-1]=lnk; +lnk=scs_m_1.objs[6-1]; +lnk.from=[1,1,0]; +lnk.to=[2,1,1]; +scs_m_1.objs[6-1]=lnk; +lnk=scs_m_1.objs[7-1]; +lnk.ct=[5,-1]; +lnk.from=[2,1,0]; +lnk.to=[4,1,1]; +scs_m_1.objs[7-1]=lnk; +blk={}; +lnk={}; +model=scicos_model(); +model.sim="csuper"; +model.in1=1; +model.evtout=1; +model.rpar=scs_m_1; +gr_i=[]; +x=standard_define([3,2],model,[],gr_i); +} +EDGE_TRIGGER.prototype.details = function EDGE_TRIGGER() { +} +EDGE_TRIGGER.prototype.get = function EDGE_TRIGGER() { +} +EDGE_TRIGGER.prototype.set = function EDGE_TRIGGER() { +for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="EDGETRIGGER") { +ppath=list(i); +break; +} +} +newpar=list(); +y=0; +for (path in ppath) { +np=size(path,"*"); +spath=list(); +for (k=1;k<=np;k+=1) { +spath[$+1-1]="model"; +spath[$+1-1]="rpar"; +spath[$+1-1]="objs"; +spath[$+1-1]=path(k); +} +xx=arg1(spath); +execstr("xxn="+xx.gui+"(\'set\',xx)"); +if (diffobjs(xxn,xx)) { +model=xx.model; +model_n=xxn.model; +if (!is_modelica_block(xx)) { +modified=or(model.sim!=model_n.sim)||!isequal(model.state,model_n.state)||!isequal(model.dstate,model_n.dstate)||!isequal(model.rpar,model_n.rpar)||!isequal(model.ipar,model_n.ipar)||!isequal(model.label,model_n.label); +if (or(model.in1!=model_n.in1)||or(model.out!=model_n.out)) { +needcompile=1; +} +if (or(model.firing!=model_n.firing)) { +needcompile=2; +} +if ((size(model.in1,"*")!=size(model_n.in1,"*"))||(size(model.out,"*")!=size(model_n.out,"*"))) { +needcompile=4; +} +if (model.sim=="input"||model.sim=="output") { +if (model.ipar!=model_n.ipar) { +needcompile=4; +} +} +if (or(model.blocktype!=model_n.blocktype)||or(model.dep_ut!=model_n.dep_ut)) { +needcompile=4; +} +if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { +needcompile=4; +} +if (prod(size(model_n.sim))>1) { +if (model_n.sim(2)>1000) { +if (model.sim(1)!=model_n.sim(1)) { +needcompile=4; +} +} +} +} else { +modified=or(model_n!=model); +eq=model.equations; +eqn=model_n.equations; +if (or(eq.model!=eqn.model)||or(eq.inputs!=eqn.inputs)||or(eq.outputs!=eqn.outputs)) { +needcompile=4; +} +} +arg1[spath-1]=xxn; +newpar[size(newpar)+1-1]=path; +y=max(y,needcompile); +} +} +x=arg1; +typ=newpar; +} +} diff --git a/js/Misc/Extract_Activation.js b/js/Misc/Extract_Activation.js index 995b19e4..a72fcade 100644 --- a/js/Misc/Extract_Activation.js +++ b/js/Misc/Extract_Activation.js @@ -1,3 +1,95 @@ -Syntax error in input LexToken(CLEAR,'clear',1,3539) /* autogenerated from "macros/Misc/Extract_Activation.sci" */ -None +function Extract_Activation() { +Extract_Activation.prototype.define = function Extract_Activation() { +scs_m_1=scicos_diagram(); +scs_m_1.objs[1-1]=IFTHEL_f("define"); +scs_m_1.objs[2-1]=CLKSOMV_f("define"); +scs_m_1.objs[3-1]=IN_f("define"); +scs_m_1.objs[4-1]=CLKOUTV_f("define"); +scs_m_1.objs[5-1]=scicos_link(); +scs_m_1.objs[6-1]=scicos_link(); +scs_m_1.objs[7-1]=scicos_link(); +scs_m_1.objs[8-1]=scicos_link(); +blk=scs_m_1.objs[1-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[80,0]; +graphics.sz=[60,40]; +graphics.exprs=[["0"],["0"]]; +model.evtin=[]; +model.nzcross=0; +model.nmode=0; +graphics.pin=7; +graphics.peout=[[5],[6]]; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[1-1]=blk; +blk=scs_m_1.objs[2-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[80,-80]; +graphics.sz=[80,40]; +graphics.pein=[[5],[6]]; +graphics.peout=8; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[2-1]=blk; +blk=scs_m_1.objs[3-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[0,10]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pout=7; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[3-1]=blk; +blk=scs_m_1.objs[4-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[110,-140]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pein=8; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[4-1]=blk; +lnk=scs_m_1.objs[5-1]; +lnk.ct=[5,-1]; +lnk.from=[1,1,0]; +lnk.to=[2,1,1]; +scs_m_1.objs[5-1]=lnk; +lnk=scs_m_1.objs[6-1]; +lnk.ct=[5,-1]; +lnk.from=[1,2,0]; +lnk.to=[2,2,1]; +scs_m_1.objs[6-1]=lnk; +lnk=scs_m_1.objs[7-1]; +lnk.from=[3,1,0]; +lnk.to=[1,1,1]; +scs_m_1.objs[7-1]=lnk; +lnk=scs_m_1.objs[8-1]; +lnk.ct=[5,-1]; +lnk.from=[2,1,0]; +lnk.to=[4,1,1]; +scs_m_1.objs[8-1]=lnk; +blk={}; +lnk={}; +model=scicos_model(); +model.sim="csuper"; +model.in1=1; +model.evtout=1; +model.rpar=scs_m_1; +gr_i=[]; +x=standard_define([3,2],model,[],gr_i); +} +Extract_Activation.prototype.details = function Extract_Activation() { +} +Extract_Activation.prototype.get = function Extract_Activation() { +} +Extract_Activation.prototype.set = function Extract_Activation() { +x=arg1; +} +} diff --git a/js/Sources/STEP_FUNCTION.js b/js/Sources/STEP_FUNCTION.js index 0e366bdf..54120d80 100644 --- a/js/Sources/STEP_FUNCTION.js +++ b/js/Sources/STEP_FUNCTION.js @@ -1,3 +1,122 @@ -Syntax error in input LexToken(CLEAR,'clear',1,5508) /* autogenerated from "macros/Sources/STEP_FUNCTION.sci" */ -None +function STEP_FUNCTION() { +STEP_FUNCTION.prototype.define = function STEP_FUNCTION() { +scs_m_1=scicos_diagram(); +scs_m_1.objs[1-1]=STEP("define"); +scs_m_1.objs[2-1]=OUT_f("define"); +scs_m_1.objs[3-1]=scicos_link(); +scs_m_1.objs[4-1]=scicos_link(); +blk=scs_m_1.objs[1-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[0,0]; +graphics.sz=[40,40]; +graphics.pein=4; +graphics.peout=4; +graphics.pout=3; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[1-1]=blk; +blk=scs_m_1.objs[2-1]; +graphics=blk.graphics; +model=blk.model; +graphics.orig=[80,10]; +graphics.sz=[20,20]; +graphics.exprs=["1"]; +model.ipar=1; +graphics.pin=3; +blk.graphics=graphics; +blk.model=model; +scs_m_1.objs[2-1]=blk; +lnk=scs_m_1.objs[3-1]; +lnk.from=[1,1,0]; +lnk.to=[2,1,1]; +scs_m_1.objs[3-1]=lnk; +lnk=scs_m_1.objs[4-1]; +lnk.xx=[0,20,-20,-20,20,1]; +lnk.yy=[0,-20,-20,60,60,1]; +lnk.ct=[5,-1]; +lnk.from=[1,1,0]; +lnk.to=[1,1,1]; +scs_m_1.objs[4-1]=lnk; +blk={}; +lnk={}; +model=scicos_model(); +model.sim="csuper"; +model.out=1; +model.out2=1; +model.outtyp=1; +model.rpar=scs_m_1; +gr_i=[]; +x=standard_define([2,2],model,[],gr_i); +} +STEP_FUNCTION.prototype.details = function STEP_FUNCTION() { +} +STEP_FUNCTION.prototype.get = function STEP_FUNCTION() { +} +STEP_FUNCTION.prototype.set = function STEP_FUNCTION() { +for (i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="STEP") { +ppath=list(i); +break; +} +} +newpar=list(); +for (path in ppath) { +np=size(path,"*"); +spath=list(); +for (k=1;k<=np;k+=1) { +spath[$+1-1]="model"; +spath[$+1-1]="rpar"; +spath[$+1-1]="objs"; +spath[$+1-1]=path(k); +} +xx=arg1(spath); +execstr("xxn="+xx.gui+"(\'set\',xx)"); +if (diffobjs(xxn,xx)) { +model=xx.model; +model_n=xxn.model; +if (!is_modelica_block(xx)) { +modified=or(model.sim!=model_n.sim)||!isequal(model.state,model_n.state)||!isequal(model.dstate,model_n.dstate)||!isequal(model.rpar,model_n.rpar)||!isequal(model.ipar,model_n.ipar)||!isequal(model.label,model_n.label); +if (or(model.in1!=model_n.in1)||or(model.out!=model_n.out)) { +needcompile=1; +} +if (or(model.firing!=model_n.firing)) { +needcompile=2; +} +if (model.sim=="input"||model.sim=="output") { +if (model.ipar!=model_n.ipar) { +needcompile=4; +} +} +if (or(model.blocktype!=model_n.blocktype)||or(model.dep_ut!=model_n.dep_ut)) { +needcompile=4; +} +if ((model.nzcross!=model_n.nzcross)||(model.nmode!=model_n.nmode)) { +needcompile=4; +} +if (prod(size(model_n.sim))>1) { +if (model_n.sim(2)>1000) { +if (model.sim(1)!=model_n.sim(1)) { +needcompile=4; +} +} +} +} else { +modified=or(model_n!=model); +eq=model.equations; +eqn=model_n.equations; +if (or(eq.model!=eqn.model)||or(eq.inputs!=eqn.inputs)||or(eq.outputs!=eqn.outputs)) { +needcompile=4; +} +} +arg1[spath-1]=xxn; +newpar[size(newpar)+1-1]=path; +} +} +x=arg1; +y=needcompile; +typ=newpar; +} +} diff --git a/sci2jsyacc.py b/sci2jsyacc.py index 35e90a65..c4424bc0 100755 --- a/sci2jsyacc.py +++ b/sci2jsyacc.py @@ -121,6 +121,10 @@ def p_statement_eol(p): 'statement : EOL' p[0] = '\n' +def p_statement_clearvar(p): + 'statement : clearvar EOL' + p[0] = '%s' % (p[1]) + # end define statement # define for, case, while, if, elseif, else statement block @@ -167,6 +171,14 @@ def p_elsestatementblock_elsestatement(p): 'elsestatementblock : elsestatement statementblock' p[0] = '%s%s' % (p[1], p[2]) +def p_clearvar_clear_var(p): + 'clearvar : CLEAR VAR' + p[0] = '%s={};\n' % (p[2]) + +def p_clearvar_clearvar_var(p): + 'clearvar : clearvar VAR' + p[0] = '%s%s={};\n' % (p[1], p[2]) + # end define for, case, if, elseif, else statement block # define for, select, case, while, if, elseif, else |