diff options
-rw-r--r-- | combined.js | 53 | ||||
-rw-r--r-- | js/Misc/DSUPER.js | 52 | ||||
-rwxr-xr-x | sci2jsyacc.py | 17 |
3 files changed, 115 insertions, 7 deletions
diff --git a/combined.js b/combined.js index 4cafe115..319dca8f 100644 --- a/combined.js +++ b/combined.js @@ -12914,6 +12914,57 @@ break; needcompile=resume(needcompile) } } +/* autogenerated from "macros/Misc/DSUPER.sci" */ +function DSUPER() { +DSUPER.prototype.define = function DSUPER() { +} +DSUPER.prototype.details = function DSUPER() { +} +DSUPER.prototype.get = function DSUPER() { +} +DSUPER.prototype.set = function DSUPER() { +y=needcompile; +typ=list(); +graphics=arg1.graphics; +if ((length(graphics.exprs)==0)) { +warnBlockByUID(arg1.model.label,gettext("Invalid masked block.")); +x=arg1; +return; +} +exprs=graphics.exprs(1); +exprs0=graphics.exprs(2)(1); +btitre=graphics.exprs(2)(2)(1); +bitems=graphics.exprs(2)(2).slice(2-1,$); +if (exprs0==[]) { +x=arg1; +return; +} +context=[arg1.model.rpar.props.context]; +[%scicos_context,ierr]=script2var(context,%scicos_context); +if (ierr!=0) { +x=arg1; +return; +} +tt="scicos_context."+exprs0(1); +for (i=2;i<=size(exprs0,1);i+=1) { +tt=tt+",scicos_context."+exprs0(i); +} +ss=graphics.exprs(2)(3); +scicos_context=%scicos_context; +execstr("[ok,"+tt+",exprs]=scicos_getvalue(btitre,bitems,ss,exprs)"); +if (ok) { +x=arg1; +%scicos_context=scicos_context; +sblock=x.model.rpar; +[sblock,%w,needcompile2,ok]=do_eval(sblock,list(),scicos_context); +y=max(2,needcompile,needcompile2); +x.graphics.exprs[1-1]=exprs; +x.model.rpar=sblock; +} else { +x=arg1; +} +} +} /* autogenerated from "macros/Misc/EDGE_TRIGGER.sci" */ function EDGE_TRIGGER() { EDGE_TRIGGER.prototype.define = function EDGE_TRIGGER() { @@ -17096,4 +17147,4 @@ x=arg1; } } -/* made from 259/274 files */ +/* made from 260/274 files */ diff --git a/js/Misc/DSUPER.js b/js/Misc/DSUPER.js index 1475ffe4..90eca99e 100644 --- a/js/Misc/DSUPER.js +++ b/js/Misc/DSUPER.js @@ -1,3 +1,51 @@ -Syntax error in input LexToken(END,'end',1,2533) /* autogenerated from "macros/Misc/DSUPER.sci" */ -None +function DSUPER() { +DSUPER.prototype.define = function DSUPER() { +} +DSUPER.prototype.details = function DSUPER() { +} +DSUPER.prototype.get = function DSUPER() { +} +DSUPER.prototype.set = function DSUPER() { +y=needcompile; +typ=list(); +graphics=arg1.graphics; +if ((length(graphics.exprs)==0)) { +warnBlockByUID(arg1.model.label,gettext("Invalid masked block.")); +x=arg1; +return; +} +exprs=graphics.exprs(1); +exprs0=graphics.exprs(2)(1); +btitre=graphics.exprs(2)(2)(1); +bitems=graphics.exprs(2)(2).slice(2-1,$); +if (exprs0==[]) { +x=arg1; +return; +} +context=[arg1.model.rpar.props.context]; +[%scicos_context,ierr]=script2var(context,%scicos_context); +if (ierr!=0) { +x=arg1; +return; +} +tt="scicos_context."+exprs0(1); +for (i=2;i<=size(exprs0,1);i+=1) { +tt=tt+",scicos_context."+exprs0(i); +} +ss=graphics.exprs(2)(3); +scicos_context=%scicos_context; +execstr("[ok,"+tt+",exprs]=scicos_getvalue(btitre,bitems,ss,exprs)"); +if (ok) { +x=arg1; +%scicos_context=scicos_context; +sblock=x.model.rpar; +[sblock,%w,needcompile2,ok]=do_eval(sblock,list(),scicos_context); +y=max(2,needcompile,needcompile2); +x.graphics.exprs[1-1]=exprs; +x.model.rpar=sblock; +} else { +x=arg1; +} +} +} diff --git a/sci2jsyacc.py b/sci2jsyacc.py index e8e91e30..754451c8 100755 --- a/sci2jsyacc.py +++ b/sci2jsyacc.py @@ -134,20 +134,29 @@ def p_forstatementblock_forstatement(p): 'forstatementblock : forstatement statementblock' p[0] = '%s%s' % (p[1], p[2]) -def p_casestatementblock_casestatementblock_casestatement(p): +def p_casestatementblock_casestatementblock_casestatement_statementblock(p): 'casestatementblock : casestatementblock casestatement statementblock' p[0] = '%s%s%s' % (p[1], p[2], p[3]) -def p_casestatementblock_casestatement(p): +def p_casestatementblock_casestatementblock_casestatement(p): + 'casestatementblock : casestatementblock casestatement' + p[0] = '%s%s%s' % (p[1], p[2], '') + +def p_casestatementblock_casestatement_statementblock(p): 'casestatementblock : casestatement statementblock' p[0] = '%s%s' % (p[1], p[2]) -def p_casejobstatementblock_casejobstatementblock_casejobstatement(p): +def p_casejobstatementblock_casejobstatementblock_casejobstatement_statementblock(p): 'casejobstatementblock : casejobstatementblock casejobstatement statementblock' JOB_BLOCKS[p[2]] = p[3] p[0] = '' -def p_casejobstatementblock_casejobstatement(p): +def p_casejobstatementblock_casejobstatementblock_casejobstatement(p): + 'casejobstatementblock : casejobstatementblock casejobstatement' + JOB_BLOCKS[p[2]] = '' + p[0] = '' + +def p_casejobstatementblock_casejobstatement_statementblock(p): 'casejobstatementblock : casejobstatement statementblock' JOB_BLOCKS[p[1]] = p[2] p[0] = '' |