import [Link].
Scanner;
public class PostFix
{
char stack[] = new char[20];
char op[] = new char[20];
int i ;
static int top = -1;
void push(char x)
{
stack[++top]=x;
}
char pop()
{
return(stack[top--]);
}
int precedence(char x)
{
int r;
switch(x)
{
case '+':
case '-': r= 1;
break;
case '*':
case '/': r= 2;
break;
default: r=0;
}
return r;
}
void con(String ip)
{
char c;
for(int j=0;j<[Link]();j++)
{
c = [Link](j);
if(c>='a' && c<='z')
{
op[++i] = c;
}
else
{
switch(c)
{
case '(':push(c);
break;
case ')': while(stack[top]!='(')
{
op[++i]=pop();
}
pop();
break;
case '-' :
case '*' :
case '/' :
case '+' : if(top==-1)
{
push(c);
}
else
{
while(precedence(c) <=
precedence(stack[top]))
{
op[++i]=pop();
if(top==-1)
break;
}
push(c);
}
break;
}
}
}
while(top!=-1)
op[++i]=pop();
for(int t=0;t<[Link];t++)
[Link](op[t]);
}
void read()
{
Scanner in = new Scanner([Link]);
String str = new String();
[Link]("Enter the String: ");
str = [Link]();
[Link]("Postfix Expression is: ");
con(str);
}
public static void main(String[] args)
{
PostFix f = new PostFix();
[Link]();
}
}