summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil Shetye2018-06-15 17:43:46 +0530
committerSunil Shetye2018-06-15 17:45:03 +0530
commitac15cca9d5daa5e0c7e531d1454b436b6cca64dc (patch)
treec97bc8129401088f4b564213e8d2761e02964c5a
parentcd1c69226494b2228095aef86493ba79b5f9e6e2 (diff)
downloadsci2js-ac15cca9d5daa5e0c7e531d1454b436b6cca64dc.tar.gz
sci2js-ac15cca9d5daa5e0c7e531d1454b436b6cca64dc.tar.bz2
sci2js-ac15cca9d5daa5e0c7e531d1454b436b6cca64dc.zip
fix syntax issues
-rw-r--r--combined.js138
-rw-r--r--js/Branching/ESELECT_f.js4
-rw-r--r--js/Branching/SWITCH2_m.js6
-rw-r--r--js/Electrical/ConstantVoltage.js2
-rw-r--r--js/Electrical/Gyrator.js2
-rw-r--r--js/Electrical/IdealTransformer.js2
-rw-r--r--js/Electrical/NMOS.js2
-rw-r--r--js/Electrical/OpAmp.js2
-rw-r--r--js/Electrical/PMOS.js2
-rw-r--r--js/Electrical/Resistor.js2
-rw-r--r--js/Electrical/SineVoltage.js2
-rw-r--r--js/Electrical/Switch.js2
-rw-r--r--js/Electrical/VVsourceAC.js2
-rw-r--r--js/Electrical/VsourceAC.js2
-rw-r--r--js/Events/MFCLCK_f.js2
-rw-r--r--js/Hydraulics/Flowmeter.js2
-rw-r--r--js/Hydraulics/PerteDP.js2
-rw-r--r--js/Hydraulics/PuitsP.js2
-rw-r--r--js/Hydraulics/SourceP.js2
-rw-r--r--js/Hydraulics/VanneReglante.js2
-rw-r--r--js/Linear/DOLLAR_f.js2
-rw-r--r--js/MatrixOp/EXTTRI.js2
-rw-r--r--js/MatrixOp/MATBKSL.js2
-rw-r--r--js/MatrixOp/MATDET.js2
-rw-r--r--js/MatrixOp/MATDIAG.js2
-rw-r--r--js/MatrixOp/MATDIV.js2
-rw-r--r--js/MatrixOp/MATEXPM.js2
-rw-r--r--js/MatrixOp/MATINV.js2
-rw-r--r--js/MatrixOp/MATLU.js2
-rw-r--r--js/MatrixOp/MATPINV.js2
-rw-r--r--js/MatrixOp/MATRESH.js2
-rw-r--r--js/MatrixOp/MATTRAN.js2
-rw-r--r--js/MatrixOp/RICC.js2
-rw-r--r--js/Misc/BACKLASH.js4
-rw-r--r--js/Misc/BOUNCE.js12
-rw-r--r--js/Misc/BOUNCEXY.js24
-rw-r--r--js/Misc/CONSTRAINT2_c.js2
-rw-r--r--js/Misc/c_block.js8
-rw-r--r--js/Misc/fortran_block.js8
-rw-r--r--js/Misc/scifunc_block_m.js8
-rw-r--r--js/Sinks/CFSCOPE.js2
-rwxr-xr-xsci2jsyacc.py38
42 files changed, 149 insertions, 165 deletions
diff --git a/combined.js b/combined.js
index eadbe93d..5c6094c8 100644
--- a/combined.js
+++ b/combined.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[P0,T0,H0,option_temperature];
-model.equations.parameters[2]=list(P0,T0,H0,option_temperature);
+model.equations.parameters[2-1]=list(P0,T0,H0,option_temperature);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -62,7 +62,7 @@ while (None) {
if (!ok) {
break
}
-x.model.equations.parameters[2]=list(Qini);
+x.model.equations.parameters[2-1]=list(Qini);
x.graphics.exprs=exprs;
break
}
@@ -133,7 +133,7 @@ if (!ok) {
break
}
model.rpar=[Cvmax,p_rho];
-model.equations.parameters[2]=list(Cvmax,p_rho);
+model.equations.parameters[2-1]=list(Cvmax,p_rho);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -182,7 +182,7 @@ if (!ok) {
break
}
model.rpar=[L,D,lambda,z1,z2,p_rho];
-model.equations.parameters[2]=list(L,D,lambda,z1,z2,p_rho);
+model.equations.parameters[2-1]=list(L,D,lambda,z1,z2,p_rho);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -235,7 +235,7 @@ if (!ok) {
break
}
model.rpar=[P0,T0,H0,option_temperature];
-model.equations.parameters[2]=list(P0,T0,H0,option_temperature);
+model.equations.parameters[2-1]=list(P0,T0,H0,option_temperature);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -631,7 +631,7 @@ if (ok) {
model.ipar=nn;
model.rpar=dt;
hh=model.firing;
-hh[2]=0;
+hh[2-1]=0;
model.firing=hh;
graphics.exprs=exprs;
x.graphics=graphics;
@@ -892,7 +892,7 @@ graphics=arg1.graphics;
exprs=graphics.exprs;
model=arg1.model;
if (size(exprs,"*")<2) {
-exprs[2]="0";
+exprs[2-1]="0";
}
while (true) {
[ok,a,inh,exprs]=scicos_getvalue("Set 1/z block parameters",["initial condition","Inherit (no:0, yes:1)"],list("vec",-1,"vec",-1),exprs);
@@ -2128,7 +2128,7 @@ if (size(clrs,"*")>8) {
clrs=clrs.slice(1-1,8);
}
if (size(clrs,"*")<8) {
-clrs[8]=0;
+clrs[8-1]=0;
}
ipar=[win,1,N,clrs.slice(),wpos.slice(),wdim.slice(),size(wu,"*"),wu.slice()];
model.rpar=rpar;
@@ -2740,9 +2740,9 @@ message("Datatype is not supported");
ok=None;
}
if (ok) {
-it[1]=ot;
-it[2]=1;
-it[3]=ot;
+it[1-1]=ot;
+it[2-1]=1;
+it[3-1]=ot;
in1=[model.in,model.in2];
out=[model.out,model.out2];
[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
@@ -2976,10 +2976,10 @@ x=arg1;
graphics=arg1.graphics;
exprs=graphics.exprs;
if (size(exprs,"*")==1) {
-exprs[2]=string(1);
+exprs[2-1]=string(1);
}
if (size(exprs,"*")==2) {
-exprs[3]=string(0);
+exprs[3-1]=string(0);
}
model=arg1.model;
while (true) {
@@ -4577,7 +4577,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set EXPM Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
@@ -4648,7 +4648,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATPINV Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
@@ -4719,7 +4719,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATDIAG Block",["Datatype (1=real double 2=Complex)"],list("vec",1),label);
@@ -4824,7 +4824,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATINV Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
@@ -4895,7 +4895,7 @@ model=arg1.model;
graphics=arg1.graphics;
label=graphics.exprs;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,lab]=scicos_getvalue("Set MATLU block parameters",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
@@ -4964,7 +4964,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATBKSL Block",["Datatype (1=real double 2=Complex)"],list("vec",1),label);
@@ -5035,7 +5035,7 @@ model=arg1.model;
graphics=arg1.graphics;
label=graphics.exprs;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,l1,out,lab]=scicos_getvalue("Set MATRESH block parameters",["Datatype(1=real double 2=Complex)","input size","output size desired"],list("vec",-1,"vec",-1,"vec",-1),label);
@@ -5131,7 +5131,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==1) {
-label[2]=sci2exp(1);
+label[2-1]=sci2exp(1);
}
while (true) {
[ok,typ,rule,exprs]=scicos_getvalue("Set MATTRAN Block",["Datatype(1=real double 2=Complex)","rule (1=.\' 2=\')"],list("vec",1,"vec",1),label);
@@ -5194,7 +5194,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,tpe,mod,exprs]=scicos_getvalue("Set RICC Block",["Type (1=Cont 2=Disc)","Model(1=Schr 2=sign(cont) inv(disc))"],list("vec",1,"vec",1),label);
@@ -5254,7 +5254,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATDET Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
@@ -5325,7 +5325,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATDIV Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
@@ -5396,7 +5396,7 @@ model=arg1.model;
graphics=arg1.graphics;
label=graphics.exprs;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,decomptyp,lab]=scicos_getvalue("Set EXTTRI block parameters",["Datatype(1=real double 2=Complex)","extraction type (1=lower 2=upper 3=diagonal)"],list("vec",1,"vec",1),label);
@@ -5569,7 +5569,7 @@ if (!ok) {
break
}
model.rpar=[V,ph,frq,offset,start];
-model.equations.parameters[2]=list(V,ph,frq,offset,start);
+model.equations.parameters[2-1]=list(V,ph,frq,offset,start);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -5680,7 +5680,7 @@ while (true) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
+model.equations.parameters[2-1]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -5783,7 +5783,7 @@ while (true) {
if (!ok) {
break
}
-x.model.equations.parameters[2]=list(N);
+x.model.equations.parameters[2-1]=list(N);
x.graphics.exprs=exprs;
break
}
@@ -5943,7 +5943,7 @@ if (!ok) {
break
}
model.rpar=R;
-model.equations.parameters[2]=list(R);
+model.equations.parameters[2-1]=list(R);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6017,7 +6017,7 @@ if (!ok) {
break
}
model.rpar=V;
-model.equations.parameters[2]=list(V);
+model.equations.parameters[2-1]=list(V);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6063,7 +6063,7 @@ if (!ok) {
break
}
model.rpar=[FR];
-model.equations.parameters[2]=list(FR);
+model.equations.parameters[2-1]=list(FR);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6165,7 +6165,7 @@ while (true) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(Ron,Roff);
+model.equations.parameters[2-1]=list(Ron,Roff);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6236,7 +6236,7 @@ while (true) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
+model.equations.parameters[2-1]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6289,7 +6289,7 @@ if (!ok) {
break
}
model.rpar=[VA,FR];
-model.equations.parameters[2]=list(VA,FR);
+model.equations.parameters[2-1]=list(VA,FR);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6335,7 +6335,7 @@ while (None) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(OLGain,SatH,SatL);
+model.equations.parameters[2-1]=list(OLGain,SatH,SatL);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
@@ -6383,7 +6383,7 @@ while (true) {
if (!ok) {
break
}
-x.model.equations.parameters[2]=list(G1,G2);
+x.model.equations.parameters[2-1]=list(G1,G2);
x.graphics.exprs=exprs;
break
}
@@ -6509,13 +6509,13 @@ break
if (funam==" ") {
break
}
-label[1]=lab;
+label[1-1]=lab;
rpar=rpar.slice();
i=int(i.slice());
ni=size(i,1);
o=int(o.slice());
no=size(o,1);
-tt=label.slice(2-1);
+tt=label[2-1];
if (model.sim(1)!=funam||size(model.in,"*")!=size(i,"*")||size(model.out,"*")!=size(o,"*")) {
tt=[];
}
@@ -6525,9 +6525,9 @@ break
}
[model,graphics,ok]=check_io(model,graphics,i,o,[],[]);
if (ok) {
-model.sim[1]=funam;
+model.sim[1-1]=funam;
model.rpar=rpar;
-label[2]=tt;
+label[2-1]=tt;
x.model=model;
graphics.exprs=label;
x.graphics=graphics;
@@ -6605,8 +6605,8 @@ graphics=arg1.graphics;
exprs=graphics.exprs;
model=arg1.model;
if (size(exprs,"*")<9) {
-exprs[8]="9.81";
-exprs[9]="0";
+exprs[8-1]="9.81";
+exprs[9-1]="0";
}
while (true) {
[ok,rpar1,rpar2,walls,xt,xd,y,yd,g,C,exprs]=scicos_getvalue(["Set Bounce Block"],["Mass","Radius","[xmin,xmax,ymin,ymax]","xpos","xdpos","ypos","ydpos","g (gravity)","C (aerodynamic coeff"],list("vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",1,"vec",1),exprs);
@@ -6643,9 +6643,9 @@ k=1;
ipar=[];
for(i=1;i<=n;i+=1) {
for(j=i+1;j<=n;j+=1) {
-ipar[k]=i;
+ipar[k-1]=i;
k=k+1;
-ipar[k]=j;
+ipar[k-1]=j;
k=k+1;
}
}
@@ -6668,9 +6668,9 @@ k=1;
ipar=[];
for(i=1;i<=n;i+=1) {
for(j=i+1;j<=n;j+=1) {
-ipar[k]=i;
+ipar[k-1]=i;
k=k+1;
-ipar[k]=j;
+ipar[k-1]=j;
k=k+1;
}
}
@@ -6717,7 +6717,7 @@ while (true) {
if (!ok) {
break
}
-exprs[1]=lab;
+exprs[1-1]=lab;
xx=xx.slice();
z=z.slice();
rpar=rpar.slice();
@@ -6730,8 +6730,8 @@ ci=int(ci.slice());
nci=size(ci,1);
co=int(co.slice());
nco=size(co,1);
-[ok,tt,dep_ut]=genfunc2(exprs.slice(2-1),i,o,nci,nco,size(xx,1),size(z,1),nrp,"c");
-dep_ut[2]=(1==deptime);
+[ok,tt,dep_ut]=genfunc2(exprs[2-1],i,o,nci,nco,size(xx,1),size(z,1),nrp,"c");
+dep_ut[2-1]=(1==deptime);
if (!ok) {
break
}
@@ -6752,7 +6752,7 @@ model.opar=tt;
model.firing=auto;
model.dep_ut=dep_ut;
x.model=model;
-exprs[2]=tt;
+exprs[2-1]=tt;
graphics.exprs=exprs;
x.graphics=graphics;
break
@@ -6813,13 +6813,13 @@ break
if (funam==" ") {
break
}
-label[1]=lab;
+label[1-1]=lab;
rpar=rpar.slice();
i=int(i.slice());
ni=size(i,1);
o=int(o.slice());
no=size(o,1);
-tt=label.slice(2-1);
+tt=label[2-1];
if (model.sim(1)!=funam||size(model.in,"*")!=size(i,"*")||size(model.out,"*")!=size(o,"*")) {
tt=[];
}
@@ -6829,9 +6829,9 @@ break
}
[model,graphics,ok]=check_io(model,graphics,i,o,[],[]);
if (ok) {
-model.sim[1]=funam;
+model.sim[1-1]=funam;
model.rpar=rpar;
-label[2]=tt;
+label[2-1]=tt;
x.model=model;
graphics.exprs=label;
x.graphics=graphics;
@@ -6907,7 +6907,7 @@ x_message(["Id(i) must be either","0 when x\'(i) is not present in the feedback"
break
}
if ((id(i)==0)) {
-id[i]=-1;
+id[i-1]=-1;
}
}
}
@@ -7152,12 +7152,12 @@ rpar=[xmin,xmax,ymin,ymax];
ipar=[win,imode,clrs.slice()];
z=[];
for(i=1;i<=size(clrs,"*");i+=1) {
-z[6*(i-1)+1]=0;
-z[6*(i-1)+2]=0;
-z[6*(i-1)+3]=2*siz(i);
-z[6*(i-1)+4]=2*siz(i);
-z[6*(i-1)+5]=0.000;
-z[6*(i-1)+6]=64.0*360.000;
+z[6*(i-1)+1-1]=0;
+z[6*(i-1)+2-1]=0;
+z[6*(i-1)+3-1]=2*siz(i);
+z[6*(i-1)+4-1]=2*siz(i);
+z[6*(i-1)+5-1]=0.000;
+z[6*(i-1)+6-1]=64.0*360.000;
}
model.dstate=z;
model.rpar=rpar;
@@ -7186,12 +7186,12 @@ model.intyp=[1,1];
model.evtin=1;
z=[];
for(i=1;i<=size(clrs,"*");i+=1) {
-z[6*(i-1)+1]=0;
-z[6*(i-1)+2]=0;
-z[6*(i-1)+3]=2*siz(i);
-z[6*(i-1)+4]=2*siz(i);
-z[6*(i-1)+5]=0.000;
-z[6*(i-1)+6]=64.0*360.000;
+z[6*(i-1)+1-1]=0;
+z[6*(i-1)+2-1]=0;
+z[6*(i-1)+3-1]=2*siz(i);
+z[6*(i-1)+4-1]=2*siz(i);
+z[6*(i-1)+5-1]=0.000;
+z[6*(i-1)+6-1]=64.0*360.000;
}
model.dstate=z;
model.rpar=[xmin,xmax,ymin,ymax];
@@ -7223,8 +7223,8 @@ break
}
if (ok) {
graphics.exprs=exprs;
-rpar[1]=ini;
-rpar[2]=gap;
+rpar[1-1]=ini;
+rpar[2-1]=gap;
if (zcr!=0) {
model.nzcross=2;
} else {
diff --git a/js/Branching/ESELECT_f.js b/js/Branching/ESELECT_f.js
index 3187bf5f..04639136 100644
--- a/js/Branching/ESELECT_f.js
+++ b/js/Branching/ESELECT_f.js
@@ -7,10 +7,10 @@ x=arg1;
graphics=arg1.graphics;
exprs=graphics.exprs;
if (size(exprs,"*")==1) {
-exprs[2]=string(1);
+exprs[2-1]=string(1);
}
if (size(exprs,"*")==2) {
-exprs[3]=string(0);
+exprs[3-1]=string(0);
}
model=arg1.model;
while (true) {
diff --git a/js/Branching/SWITCH2_m.js b/js/Branching/SWITCH2_m.js
index 662944f3..de9b99b5 100644
--- a/js/Branching/SWITCH2_m.js
+++ b/js/Branching/SWITCH2_m.js
@@ -34,9 +34,9 @@ message("Datatype is not supported");
ok=None;
}
if (ok) {
-it[1]=ot;
-it[2]=1;
-it[3]=ot;
+it[1-1]=ot;
+it[2-1]=1;
+it[3-1]=ot;
in1=[model.in,model.in2];
out=[model.out,model.out2];
[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),[],[]);
diff --git a/js/Electrical/ConstantVoltage.js b/js/Electrical/ConstantVoltage.js
index 9820e4fc..81c487b5 100644
--- a/js/Electrical/ConstantVoltage.js
+++ b/js/Electrical/ConstantVoltage.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=V;
-model.equations.parameters[2]=list(V);
+model.equations.parameters[2-1]=list(V);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/Gyrator.js b/js/Electrical/Gyrator.js
index 908e755c..942a9ac5 100644
--- a/js/Electrical/Gyrator.js
+++ b/js/Electrical/Gyrator.js
@@ -14,7 +14,7 @@ while (true) {
if (!ok) {
break
}
-x.model.equations.parameters[2]=list(G1,G2);
+x.model.equations.parameters[2-1]=list(G1,G2);
x.graphics.exprs=exprs;
break
}
diff --git a/js/Electrical/IdealTransformer.js b/js/Electrical/IdealTransformer.js
index cfaec540..f92463f7 100644
--- a/js/Electrical/IdealTransformer.js
+++ b/js/Electrical/IdealTransformer.js
@@ -14,7 +14,7 @@ while (true) {
if (!ok) {
break
}
-x.model.equations.parameters[2]=list(N);
+x.model.equations.parameters[2-1]=list(N);
x.graphics.exprs=exprs;
break
}
diff --git a/js/Electrical/NMOS.js b/js/Electrical/NMOS.js
index d33e5cd1..dad1e53a 100644
--- a/js/Electrical/NMOS.js
+++ b/js/Electrical/NMOS.js
@@ -12,7 +12,7 @@ while (true) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
+model.equations.parameters[2-1]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/OpAmp.js b/js/Electrical/OpAmp.js
index f5863a92..375ed583 100644
--- a/js/Electrical/OpAmp.js
+++ b/js/Electrical/OpAmp.js
@@ -12,7 +12,7 @@ while (None) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(OLGain,SatH,SatL);
+model.equations.parameters[2-1]=list(OLGain,SatH,SatL);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/PMOS.js b/js/Electrical/PMOS.js
index 22293854..7353f0aa 100644
--- a/js/Electrical/PMOS.js
+++ b/js/Electrical/PMOS.js
@@ -12,7 +12,7 @@ while (true) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
+model.equations.parameters[2-1]=list(W,L,Beta,Vt,K2,K5,dW,dL,RDS);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/Resistor.js b/js/Electrical/Resistor.js
index f002cc18..d2f297d8 100644
--- a/js/Electrical/Resistor.js
+++ b/js/Electrical/Resistor.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=R;
-model.equations.parameters[2]=list(R);
+model.equations.parameters[2-1]=list(R);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/SineVoltage.js b/js/Electrical/SineVoltage.js
index 69a9c73e..a2584b97 100644
--- a/js/Electrical/SineVoltage.js
+++ b/js/Electrical/SineVoltage.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[V,ph,frq,offset,start];
-model.equations.parameters[2]=list(V,ph,frq,offset,start);
+model.equations.parameters[2-1]=list(V,ph,frq,offset,start);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/Switch.js b/js/Electrical/Switch.js
index a19145a4..aeda600f 100644
--- a/js/Electrical/Switch.js
+++ b/js/Electrical/Switch.js
@@ -12,7 +12,7 @@ while (true) {
if (!ok) {
break
}
-model.equations.parameters[2]=list(Ron,Roff);
+model.equations.parameters[2-1]=list(Ron,Roff);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/VVsourceAC.js b/js/Electrical/VVsourceAC.js
index e380f412..a383f6fa 100644
--- a/js/Electrical/VVsourceAC.js
+++ b/js/Electrical/VVsourceAC.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[FR];
-model.equations.parameters[2]=list(FR);
+model.equations.parameters[2-1]=list(FR);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Electrical/VsourceAC.js b/js/Electrical/VsourceAC.js
index 37b70b89..fbe379c9 100644
--- a/js/Electrical/VsourceAC.js
+++ b/js/Electrical/VsourceAC.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[VA,FR];
-model.equations.parameters[2]=list(VA,FR);
+model.equations.parameters[2-1]=list(VA,FR);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Events/MFCLCK_f.js b/js/Events/MFCLCK_f.js
index ab428ea9..ba118054 100644
--- a/js/Events/MFCLCK_f.js
+++ b/js/Events/MFCLCK_f.js
@@ -12,7 +12,7 @@ if (ok) {
model.ipar=nn;
model.rpar=dt;
hh=model.firing;
-hh[2]=0;
+hh[2-1]=0;
model.firing=hh;
graphics.exprs=exprs;
x.graphics=graphics;
diff --git a/js/Hydraulics/Flowmeter.js b/js/Hydraulics/Flowmeter.js
index d091b617..ab99cf36 100644
--- a/js/Hydraulics/Flowmeter.js
+++ b/js/Hydraulics/Flowmeter.js
@@ -14,7 +14,7 @@ while (None) {
if (!ok) {
break
}
-x.model.equations.parameters[2]=list(Qini);
+x.model.equations.parameters[2-1]=list(Qini);
x.graphics.exprs=exprs;
break
}
diff --git a/js/Hydraulics/PerteDP.js b/js/Hydraulics/PerteDP.js
index cdfb81e0..7a65f6fd 100644
--- a/js/Hydraulics/PerteDP.js
+++ b/js/Hydraulics/PerteDP.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[L,D,lambda,z1,z2,p_rho];
-model.equations.parameters[2]=list(L,D,lambda,z1,z2,p_rho);
+model.equations.parameters[2-1]=list(L,D,lambda,z1,z2,p_rho);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Hydraulics/PuitsP.js b/js/Hydraulics/PuitsP.js
index 72a937f3..af031dee 100644
--- a/js/Hydraulics/PuitsP.js
+++ b/js/Hydraulics/PuitsP.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[P0,T0,H0,option_temperature];
-model.equations.parameters[2]=list(P0,T0,H0,option_temperature);
+model.equations.parameters[2-1]=list(P0,T0,H0,option_temperature);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Hydraulics/SourceP.js b/js/Hydraulics/SourceP.js
index c6cc08fc..6d0dfaaa 100644
--- a/js/Hydraulics/SourceP.js
+++ b/js/Hydraulics/SourceP.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[P0,T0,H0,option_temperature];
-model.equations.parameters[2]=list(P0,T0,H0,option_temperature);
+model.equations.parameters[2-1]=list(P0,T0,H0,option_temperature);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Hydraulics/VanneReglante.js b/js/Hydraulics/VanneReglante.js
index f31e794d..030932df 100644
--- a/js/Hydraulics/VanneReglante.js
+++ b/js/Hydraulics/VanneReglante.js
@@ -13,7 +13,7 @@ if (!ok) {
break
}
model.rpar=[Cvmax,p_rho];
-model.equations.parameters[2]=list(Cvmax,p_rho);
+model.equations.parameters[2-1]=list(Cvmax,p_rho);
graphics.exprs=exprs;
x.graphics=graphics;
x.model=model;
diff --git a/js/Linear/DOLLAR_f.js b/js/Linear/DOLLAR_f.js
index 7c77a9a0..893131f1 100644
--- a/js/Linear/DOLLAR_f.js
+++ b/js/Linear/DOLLAR_f.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
exprs=graphics.exprs;
model=arg1.model;
if (size(exprs,"*")<2) {
-exprs[2]="0";
+exprs[2-1]="0";
}
while (true) {
[ok,a,inh,exprs]=scicos_getvalue("Set 1/z block parameters",["initial condition","Inherit (no:0, yes:1)"],list("vec",-1,"vec",-1),exprs);
diff --git a/js/MatrixOp/EXTTRI.js b/js/MatrixOp/EXTTRI.js
index 3fd1deca..bcba10de 100644
--- a/js/MatrixOp/EXTTRI.js
+++ b/js/MatrixOp/EXTTRI.js
@@ -8,7 +8,7 @@ model=arg1.model;
graphics=arg1.graphics;
label=graphics.exprs;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,decomptyp,lab]=scicos_getvalue("Set EXTTRI block parameters",["Datatype(1=real double 2=Complex)","extraction type (1=lower 2=upper 3=diagonal)"],list("vec",1,"vec",1),label);
diff --git a/js/MatrixOp/MATBKSL.js b/js/MatrixOp/MATBKSL.js
index 38fc6deb..e9e4f4a7 100644
--- a/js/MatrixOp/MATBKSL.js
+++ b/js/MatrixOp/MATBKSL.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATBKSL Block",["Datatype (1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATDET.js b/js/MatrixOp/MATDET.js
index d474a542..a27c586b 100644
--- a/js/MatrixOp/MATDET.js
+++ b/js/MatrixOp/MATDET.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATDET Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATDIAG.js b/js/MatrixOp/MATDIAG.js
index 131ed59c..8e4755b4 100644
--- a/js/MatrixOp/MATDIAG.js
+++ b/js/MatrixOp/MATDIAG.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATDIAG Block",["Datatype (1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATDIV.js b/js/MatrixOp/MATDIV.js
index 1b053653..9a7fcec4 100644
--- a/js/MatrixOp/MATDIV.js
+++ b/js/MatrixOp/MATDIV.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATDIV Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATEXPM.js b/js/MatrixOp/MATEXPM.js
index 6d65a499..3a9b117f 100644
--- a/js/MatrixOp/MATEXPM.js
+++ b/js/MatrixOp/MATEXPM.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set EXPM Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATINV.js b/js/MatrixOp/MATINV.js
index 7ceb5342..04fc617c 100644
--- a/js/MatrixOp/MATINV.js
+++ b/js/MatrixOp/MATINV.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATINV Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATLU.js b/js/MatrixOp/MATLU.js
index 0c7a77cb..fa4425bc 100644
--- a/js/MatrixOp/MATLU.js
+++ b/js/MatrixOp/MATLU.js
@@ -8,7 +8,7 @@ model=arg1.model;
graphics=arg1.graphics;
label=graphics.exprs;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,lab]=scicos_getvalue("Set MATLU block parameters",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATPINV.js b/js/MatrixOp/MATPINV.js
index 573f11de..29e54589 100644
--- a/js/MatrixOp/MATPINV.js
+++ b/js/MatrixOp/MATPINV.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,exprs]=scicos_getvalue("Set MATPINV Block",["Datatype(1=real double 2=Complex)"],list("vec",1),label);
diff --git a/js/MatrixOp/MATRESH.js b/js/MatrixOp/MATRESH.js
index 1a15f8df..ea7fc79d 100644
--- a/js/MatrixOp/MATRESH.js
+++ b/js/MatrixOp/MATRESH.js
@@ -8,7 +8,7 @@ model=arg1.model;
graphics=arg1.graphics;
label=graphics.exprs;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,typ,l1,out,lab]=scicos_getvalue("Set MATRESH block parameters",["Datatype(1=real double 2=Complex)","input size","output size desired"],list("vec",-1,"vec",-1,"vec",-1),label);
diff --git a/js/MatrixOp/MATTRAN.js b/js/MatrixOp/MATTRAN.js
index 970a386a..893d48f8 100644
--- a/js/MatrixOp/MATTRAN.js
+++ b/js/MatrixOp/MATTRAN.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==1) {
-label[2]=sci2exp(1);
+label[2-1]=sci2exp(1);
}
while (true) {
[ok,typ,rule,exprs]=scicos_getvalue("Set MATTRAN Block",["Datatype(1=real double 2=Complex)","rule (1=.\' 2=\')"],list("vec",1,"vec",1),label);
diff --git a/js/MatrixOp/RICC.js b/js/MatrixOp/RICC.js
index d1cb1c7d..876389ca 100644
--- a/js/MatrixOp/RICC.js
+++ b/js/MatrixOp/RICC.js
@@ -8,7 +8,7 @@ graphics=arg1.graphics;
label=graphics.exprs;
model=arg1.model;
if (size(label,"*")==14) {
-label[9]=[];
+label[9-1]=[];
}
while (true) {
[ok,tpe,mod,exprs]=scicos_getvalue("Set RICC Block",["Type (1=Cont 2=Disc)","Model(1=Schr 2=sign(cont) inv(disc))"],list("vec",1,"vec",1),label);
diff --git a/js/Misc/BACKLASH.js b/js/Misc/BACKLASH.js
index ac433e91..a854b837 100644
--- a/js/Misc/BACKLASH.js
+++ b/js/Misc/BACKLASH.js
@@ -15,8 +15,8 @@ break
}
if (ok) {
graphics.exprs=exprs;
-rpar[1]=ini;
-rpar[2]=gap;
+rpar[1-1]=ini;
+rpar[2-1]=gap;
if (zcr!=0) {
model.nzcross=2;
} else {
diff --git a/js/Misc/BOUNCE.js b/js/Misc/BOUNCE.js
index f310eed3..b1cf7c07 100644
--- a/js/Misc/BOUNCE.js
+++ b/js/Misc/BOUNCE.js
@@ -8,8 +8,8 @@ graphics=arg1.graphics;
exprs=graphics.exprs;
model=arg1.model;
if (size(exprs,"*")<9) {
-exprs[8]="9.81";
-exprs[9]="0";
+exprs[8-1]="9.81";
+exprs[9-1]="0";
}
while (true) {
[ok,rpar1,rpar2,walls,xt,xd,y,yd,g,C,exprs]=scicos_getvalue(["Set Bounce Block"],["Mass","Radius","[xmin,xmax,ymin,ymax]","xpos","xdpos","ypos","ydpos","g (gravity)","C (aerodynamic coeff"],list("vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",1,"vec",1),exprs);
@@ -46,9 +46,9 @@ k=1;
ipar=[];
for(i=1;i<=n;i+=1) {
for(j=i+1;j<=n;j+=1) {
-ipar[k]=i;
+ipar[k-1]=i;
k=k+1;
-ipar[k]=j;
+ipar[k-1]=j;
k=k+1;
}
}
@@ -71,9 +71,9 @@ k=1;
ipar=[];
for(i=1;i<=n;i+=1) {
for(j=i+1;j<=n;j+=1) {
-ipar[k]=i;
+ipar[k-1]=i;
k=k+1;
-ipar[k]=j;
+ipar[k-1]=j;
k=k+1;
}
}
diff --git a/js/Misc/BOUNCEXY.js b/js/Misc/BOUNCEXY.js
index 278bff63..2ac6ccce 100644
--- a/js/Misc/BOUNCEXY.js
+++ b/js/Misc/BOUNCEXY.js
@@ -37,12 +37,12 @@ rpar=[xmin,xmax,ymin,ymax];
ipar=[win,imode,clrs.slice()];
z=[];
for(i=1;i<=size(clrs,"*");i+=1) {
-z[6*(i-1)+1]=0;
-z[6*(i-1)+2]=0;
-z[6*(i-1)+3]=2*siz(i);
-z[6*(i-1)+4]=2*siz(i);
-z[6*(i-1)+5]=0.000;
-z[6*(i-1)+6]=64.0*360.000;
+z[6*(i-1)+1-1]=0;
+z[6*(i-1)+2-1]=0;
+z[6*(i-1)+3-1]=2*siz(i);
+z[6*(i-1)+4-1]=2*siz(i);
+z[6*(i-1)+5-1]=0.000;
+z[6*(i-1)+6-1]=64.0*360.000;
}
model.dstate=z;
model.rpar=rpar;
@@ -71,12 +71,12 @@ model.intyp=[1,1];
model.evtin=1;
z=[];
for(i=1;i<=size(clrs,"*");i+=1) {
-z[6*(i-1)+1]=0;
-z[6*(i-1)+2]=0;
-z[6*(i-1)+3]=2*siz(i);
-z[6*(i-1)+4]=2*siz(i);
-z[6*(i-1)+5]=0.000;
-z[6*(i-1)+6]=64.0*360.000;
+z[6*(i-1)+1-1]=0;
+z[6*(i-1)+2-1]=0;
+z[6*(i-1)+3-1]=2*siz(i);
+z[6*(i-1)+4-1]=2*siz(i);
+z[6*(i-1)+5-1]=0.000;
+z[6*(i-1)+6-1]=64.0*360.000;
}
model.dstate=z;
model.rpar=[xmin,xmax,ymin,ymax];
diff --git a/js/Misc/CONSTRAINT2_c.js b/js/Misc/CONSTRAINT2_c.js
index 704a0f8d..ee58ef12 100644
--- a/js/Misc/CONSTRAINT2_c.js
+++ b/js/Misc/CONSTRAINT2_c.js
@@ -35,7 +35,7 @@ x_message(["Id(i) must be either","0 when x\'(i) is not present in the feedback"
break
}
if ((id(i)==0)) {
-id[i]=-1;
+id[i-1]=-1;
}
}
}
diff --git a/js/Misc/c_block.js b/js/Misc/c_block.js
index a975433e..f3fe984e 100644
--- a/js/Misc/c_block.js
+++ b/js/Misc/c_block.js
@@ -15,13 +15,13 @@ break
if (funam==" ") {
break
}
-label[1]=lab;
+label[1-1]=lab;
rpar=rpar.slice();
i=int(i.slice());
ni=size(i,1);
o=int(o.slice());
no=size(o,1);
-tt=label.slice(2-1);
+tt=label[2-1];
if (model.sim(1)!=funam||size(model.in,"*")!=size(i,"*")||size(model.out,"*")!=size(o,"*")) {
tt=[];
}
@@ -31,9 +31,9 @@ break
}
[model,graphics,ok]=check_io(model,graphics,i,o,[],[]);
if (ok) {
-model.sim[1]=funam;
+model.sim[1-1]=funam;
model.rpar=rpar;
-label[2]=tt;
+label[2-1]=tt;
x.model=model;
graphics.exprs=label;
x.graphics=graphics;
diff --git a/js/Misc/fortran_block.js b/js/Misc/fortran_block.js
index f9949646..4bc445c8 100644
--- a/js/Misc/fortran_block.js
+++ b/js/Misc/fortran_block.js
@@ -15,13 +15,13 @@ break
if (funam==" ") {
break
}
-label[1]=lab;
+label[1-1]=lab;
rpar=rpar.slice();
i=int(i.slice());
ni=size(i,1);
o=int(o.slice());
no=size(o,1);
-tt=label.slice(2-1);
+tt=label[2-1];
if (model.sim(1)!=funam||size(model.in,"*")!=size(i,"*")||size(model.out,"*")!=size(o,"*")) {
tt=[];
}
@@ -31,9 +31,9 @@ break
}
[model,graphics,ok]=check_io(model,graphics,i,o,[],[]);
if (ok) {
-model.sim[1]=funam;
+model.sim[1-1]=funam;
model.rpar=rpar;
-label[2]=tt;
+label[2-1]=tt;
x.model=model;
graphics.exprs=label;
x.graphics=graphics;
diff --git a/js/Misc/scifunc_block_m.js b/js/Misc/scifunc_block_m.js
index b56691d3..7f7d543e 100644
--- a/js/Misc/scifunc_block_m.js
+++ b/js/Misc/scifunc_block_m.js
@@ -13,7 +13,7 @@ while (true) {
if (!ok) {
break
}
-exprs[1]=lab;
+exprs[1-1]=lab;
xx=xx.slice();
z=z.slice();
rpar=rpar.slice();
@@ -26,8 +26,8 @@ ci=int(ci.slice());
nci=size(ci,1);
co=int(co.slice());
nco=size(co,1);
-[ok,tt,dep_ut]=genfunc2(exprs.slice(2-1),i,o,nci,nco,size(xx,1),size(z,1),nrp,"c");
-dep_ut[2]=(1==deptime);
+[ok,tt,dep_ut]=genfunc2(exprs[2-1],i,o,nci,nco,size(xx,1),size(z,1),nrp,"c");
+dep_ut[2-1]=(1==deptime);
if (!ok) {
break
}
@@ -48,7 +48,7 @@ model.opar=tt;
model.firing=auto;
model.dep_ut=dep_ut;
x.model=model;
-exprs[2]=tt;
+exprs[2-1]=tt;
graphics.exprs=exprs;
x.graphics=graphics;
break
diff --git a/js/Sinks/CFSCOPE.js b/js/Sinks/CFSCOPE.js
index f2ccfc14..eb0a23d6 100644
--- a/js/Sinks/CFSCOPE.js
+++ b/js/Sinks/CFSCOPE.js
@@ -56,7 +56,7 @@ if (size(clrs,"*")>8) {
clrs=clrs.slice(1-1,8);
}
if (size(clrs,"*")<8) {
-clrs[8]=0;
+clrs[8-1]=0;
}
ipar=[win,1,N,clrs.slice(),wpos.slice(),wdim.slice(),size(wu,"*"),wu.slice()];
model.rpar=rpar;
diff --git a/sci2jsyacc.py b/sci2jsyacc.py
index f2f680bc..1ba1d84b 100755
--- a/sci2jsyacc.py
+++ b/sci2jsyacc.py
@@ -392,19 +392,17 @@ def p_function_function(p):
# define lterm
-# A[1:3]
# B(2:$-1)
def p_lterm_slice(p):
- '''lterm : ltermvar OPENBRACKET expression COLON expression CLOSEBRACKET
- | ltermvar OPENSQBRACKET expression COLON expression CLOSESQBRACKET'''
+ 'lterm : ltermvar OPENBRACKET expression COLON expression CLOSEBRACKET'
addtoarray(p[1])
- p[0] = str(p[1]) + '[' + str(p[3]) + str(p[4]) + str(p[5]) + ']'
+ p[0] = p[1] + '.slice(' + str(p[3]) + '-1,' + str(p[5]) + ')'
+# B(2)
def p_lterm_index(p):
- '''lterm : ltermvar OPENBRACKET expression CLOSEBRACKET
- | ltermvar OPENSQBRACKET expression CLOSESQBRACKET'''
+ 'lterm : ltermvar OPENBRACKET expression CLOSEBRACKET'
addtoarray(p[1])
- p[0] = str(p[1]) + '[' + str(p[3]) + ']'
+ p[0] = str(p[1]) + '[' + str(p[3]) + '-1]'
# [A,B,C]
def p_lterm_ltermarraylist(p):
@@ -437,46 +435,32 @@ def p_ltermvar_in(p):
# define term
-# A[1:3]
# B(2:$-1)
def p_term_slice(p):
- '''term : termvar OPENBRACKET expression COLON expression CLOSEBRACKET
- | termvar OPENSQBRACKET expression COLON expression CLOSESQBRACKET'''
+ 'term : termvar OPENBRACKET expression COLON expression CLOSEBRACKET'
p[0] = p[1] + '.slice(' + str(p[3]) + '-1,' + str(p[5]) + ')'
-# A[:3]
# B(:$-1)
def p_term_left_slice(p):
- '''term : termvar OPENBRACKET COLON expression CLOSEBRACKET
- | termvar OPENSQBRACKET COLON expression CLOSESQBRACKET'''
+ 'term : termvar OPENBRACKET COLON expression CLOSEBRACKET'
p[0] = p[1] + '.slice(' + str(p[3]) + '-1)'
-# A[1:]
# B(2:)
def p_term_right_slice(p):
- '''term : termvar OPENBRACKET expression COLON CLOSEBRACKET
- | termvar OPENSQBRACKET expression COLON CLOSESQBRACKET'''
+ 'term : termvar OPENBRACKET expression COLON CLOSEBRACKET'
p[0] = str(p[1]) + '.slice(0,' + str(p[4]) + ')'
-# A[:]
# B(:)
def p_term_full_slice(p):
- '''term : termvar OPENBRACKET COLON CLOSEBRACKET
- | termvar OPENSQBRACKET COLON CLOSESQBRACKET'''
+ 'term : termvar OPENBRACKET COLON CLOSEBRACKET'
p[0] = p[1] + '.slice()'
-# A[3]
# B($-2)
# C('function parameter')
def p_term_index(p):
- '''term : termvar OPENBRACKET expression CLOSEBRACKET
- | termvar OPENSQBRACKET expression CLOSESQBRACKET'''
+ 'term : termvar OPENBRACKET expression CLOSEBRACKET'
if isarray(p[1]):
- p[0] = p[1] + '.slice(' + str(p[3]) + '-1)'
- elif isfunction(p[1]):
- p[0] = p[1] + '(' + str(p[3]) + ')'
- elif p[2] == '[':
- p[0] = p[1] + '.slice(' + str(p[3]) + '-1)'
+ p[0] = p[1] + '[' + str(p[3]) + '-1]'
else:
p[0] = p[1] + '(' + str(p[3]) + ')'