📄 exc.jj
字号:
{
value=t2()
(
<Egal> k=t2() { if (value == k)
value = 1 ;
else
value = 0 ;
}
|<Diff> k=t2() { if (value != k)
value = 1 ;
else
value = 0 ;
}
|<SupE> k=t2() { if (value >= k)
value = 1 ;
else
value = 0 ;
}
|<Sup> k=t2() { if (value > k)
value = 1 ;
else
value = 0 ;
}
|<InfE> k=t2() { if (value <= k)
value = 1 ;
else
value = 0 ;
}
|<Inf> k=t2() { if (value < k)
value = 1 ;
else
value = 0 ;
}
)*
{return value;}
}
/********************************/
double t2() throws NumberFormatException :
{double k ;
double value ;}
{
value=t3()
( <plus> k=t3() {value+=k;}
| <moins> k=t3() {value-=k;}
)*
{return value;}
}
/*************************************************/
double t3() throws NumberFormatException :
{double k;
double value;
}
{
value=fact()
(
<mult> k=fact() {value*=k;}
|<div> k=fact() {value/=k;}
)*
{return value;}
}
/**************************************************/
double fact() throws NumberFormatException :
{
double value ;}
{
value=fact1() {return value;}
|<moins> value=fact1() {return -value;}
|<plus> value=fact1() {return value;}
}
/**************************************************/
double fact1() throws NumberFormatException :
{
double value;
}
{
<po> value=expression() <pf> {return value;}
|
value=fonction()
{return value;}
}
double fonction() throws NumberFormatException :
{double value;
double k,j;
Token t ;
}
{
<Sinu> <po> k=expression() <pf> {return Math.sin(k);}
|<Cosi> <po> k=expression() <pf> {return Math.cos(k);}
|<Tang> <po> k=expression() <pf> {return Math.tan(k);}
|<Abs> <po> k=expression() <pf> {return Math.abs(k);}
|<Ln> <po> k=expression() <pf> {if (k>0) return Math.log(k);
/* else throw ParseException("LN n'admet que des valeurs > 0 ...!"); */
}
|<Log> <po> k=expression() <pf> {if (k>0) return Math.log(k)/10;
/*else throw ParseException("LOG n'admet que des valeurs > 0 ...!");*/
}
|<racine> <po> k=expression() <pf> {if (k>=0) return Math.sqrt(k);
/*else throw ParseException("RACINE n'admet que des valeurs >= 0 ...!");*/}
|<Acos> <po> k=expression() <pf> {if(k>1||k<-1)
/*ParseException("ACOS n'admet que des valeurs entre -1 et 1 ...")*/;
/*else*/ return Math.acos(k);}
|<Asin> <po> k=expression() <pf> {if(k>1||k<-1)
/*ParseException("ASIN n'admet que des valeurs entre -1 et 1 ...!");*/
/*else*/ return Math.asin(k);}
|<Atan> <po> k=expression() <pf> {return Math.atan(k);}
|<Coshy> <po> k=expression() <pf> {return Math.cosh(k);}
|<Sinhy> <po> k=expression() <pf> {return Math.sinh(k);}
|<Tanhy> <po> k=expression() <pf> {return Math.tanh(k);}
|<Arrondi> <po> k=expression() <pf> {return Math.round(k);}
|<Exp> <po> k=expression() <pf> {return Math.exp(k);}
|<puissance> <po> k=expression() <virg> j=expression() <pf> {return Math.pow(k,j);}
|<fact> <po> k=expression() <pf> {if(k>=0)
{ return facto(k);}
/*else ParseException("FACT n'admet pas des valeurs n間atives...!");*/}
|<p> {return Math.PI;}
|<sum> <po> list() <pf> {
double r1=sume(ExcTokenManager.imb);
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = -1;
return r1;
}
|<sous> <po> list() <pf> { double r=0;
for (int l = 0 ; l <= tab[ExcTokenManager.imb] ; l ++)
r-=arguments[ExcTokenManager.imb][ExcTokenManager.i] ;
return r;
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb];
}
|<prod> <po> list() <pf> { return prode(ExcTokenManager.imb);
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb];
}
|<Vari> <po> list() <pf> { return var(ExcTokenManager.imb);
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb] ;
}
|<Ecartype> <po> list() <pf> {
return ecarttype(ExcTokenManager.imb);/*absolue */
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb] ;
}
|<moy> <po> list() <pf> { return moyenne(ExcTokenManager.imb);
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb] ;
}
|<minimum> <po> list() <pf> { return min(ExcTokenManager.imb);
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb];
}
|<maximum> <po> list() <pf> { return max(ExcTokenManager.imb) ;
ExcTokenManager.imb -- ;
if (ExcTokenManager.imb > -1)
ExcTokenManager.i = tab[ExcTokenManager.imb];
}
|t=<valeur>
{ return Double.parseDouble( t.image ) ; }
/*|t=<entier>
{ return Integer.parseInt( t.image ) ; }*/
|t=<id> { String chaine= t.image ;
int y=chaine.charAt(0);
String souchain="";
for(int i=1;i<chaine.length();i++){
souchain=souchain+chaine.charAt(i);
}
int x=Integer.parseInt(souchain);
Object b=Excel.table.getValueAt(x-1,Excel.table.convertColumnIndexToModel(entier(y)));
if(b!=null){
String str = b.toString();
double r2 = Double.valueOf(str).doubleValue();
return r2;}
else return 0;
}
}
/*****************************************************/
void list() throws NumberFormatException :
{}
{
arg() ( <virg> arg() )*
}
/******************************/
void arg() throws NumberFormatException :
{
double value;
}
{ value=expression() {
ExcTokenManager.i ++ ;
arguments[ExcTokenManager.imb][ExcTokenManager.i] = value;
/* JOptionPane.showConfirmDialog(null,
"tab["+ExcTokenManager.imb+"]["+ExcTokenManager.i+"]="+value,"About",
JOptionPane.CLOSED_OPTION);*/
tab[ExcTokenManager.imb] = ExcTokenManager.i ;
}
}
/*******************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -