Java Reference
In-Depth Information
1 import java.util.Stack;
2 import java.util.StringTokenizer;
3 import java.io.IOException;
4 import java.io.BufferedReader;
5 import java.io.InputStreamReader;
6
7 // Evaluator class interface: evaluate infix expressions.
8 //
9 // CONSTRUCTION: with a String
10 //
11 // ******************PUBLIC OPERATIONS***********************
12 // long getValue( ) --> Return value of infix expression
13 // ******************ERRORS**********************************
14 // Some error checking is performed
15
16 public class Evaluator
17 {
18 private static class Precendence
19 { /* Figure 11.20 */ }
20 private static class Token
21 { /* Figure 11.15 */ }
22 private static class EvalTokenizer
23 { /* Figure 11.15 */ }
24
25 public Evaluator( String s )
26 {
27 opStack = new Stack<Integer>( ); opStack.push( EOL );
28 postfixStack = new Stack<Long>( );
29 str = new StringTokenizer( s, "+*-/^() ", true );
30 }
31 public long getValue( )
32 { /* Figure 11.17 */ }
33
34 private Stack<Integer> opStack; // Operator stack for conversion
35 private Stack<Long> postfixStack; // Stack for postfix machine
36 private StringTokenizer str; // StringTokenizer stream
37
38 private void processToken( Token lastToken )
39 { /* Figure 11.21 */ }
40 private long getTop( )
41 { /* Figure 11.18 */ }
42 private void binaryOp( int topOp )
43 { /* Figure 11.19 */ }
44 }
figure 11.14
The Evaluator class skeleton
 
Search WWH ::




Custom Search