Java Reference
In-Depth Information
case
case StreamTokenizer . TT_NUMBER : // Found a number, push value to stack
push ( tf . nval );
break
break ;
case
case StreamTokenizer . TT_WORD :
// Found a variable, save its name. Not used here.
variable = tf . sval ;
break
break ;
case
case '+' :
// + operator is commutative.
push ( pop () + pop ());
break
break ;
case
case '-' :
// - operator: order matters.
tmp = pop ();
push ( pop () - tmp );
break
break ;
case
case '*' :
// Multiply is commutative
push ( pop () * pop ());
break
break ;
case
case '/' :
// Handle division carefully: order matters!
tmp = pop ();
push ( pop () / tmp );
break
break ;
case
case '=' :
out . println ( peek ());
break
break ;
default
default :
out . println ( "What's this? iType = " + iType );
}
}
}
void
void push ( double
double val ) {
s . push ( new
new Double ( val ));
}
double
double pop () {
return
return (( Double ) s . pop ()). doubleValue ();
}
double
double peek () {
return
return (( Double ) s . peek ()). doubleValue ();
}
void
void clearStack () {
s . removeAllElements ();
}
}
Search WWH ::




Custom Search