Question: Write java code for expression evaluation and syntax using the STACK operation and display appropriate error message. Your program should display appropriate error message if

Write java code for expression evaluation and syntax using the STACK operation and display appropriate error message. Your program should display appropriate error message if input expression has wrong.

Pseudo Code Example:

int howMany=5; String[] myStatement= new String[howMany]; char[] myStack= new char[40]; int stackTop; // Main method myStatement[0]="( 1 + 3) * { 2 - 1 )";

...

myStatement[4]="( 1 + 3) * ((2 - 1 )"; for (int i=0;i stackTop=-1; for (int j=0;j char c= myStatement[i].charAt(j); if (c=='{' || c=='(') { myPush(c); } if (c=='}') { char popedChar=myPop(); // check correct or not } if (c==')') { char popedChar=myPop(); // check correct or not } }

static void printErrorMessage(int position, int errNo){

// this method can use ^ symbol to point which position is wrong

// for example

// expect output

//( 1 + 3} * ( 2 - 1 ) // ------^ error: ')' expected

// ( 1 + 3 ) * { 2 - 1 )

// ---------------^ error: ' ( ' expected

for (int i=0; i

System.out.print(" ");

}

System.out.print("^ ");

System.out.println(errMsg[errNo]);

}

static void errorMessages(){

errMsg[0]="( expected";

errMsg[1]=") expected";

errMsg[2]="{ expected";

errMsg[3]="} expected";

}

public static void myPush(char c){ // push operation } public static char myPop(){ // pop operation return c; }

// expected output

( 1 + 3) * { 2 - 1 ) ^ error: '}' expected

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!