Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Vector;
- class Operator {
- public char data;
- public int precedence;
- public boolean left_assoc;
- public Operator( char operator , int num , boolean assoc ) {
- data = operator;
- precedence = num;
- left_assoc = assoc;
- }
- }
- public class OperatorList {
- public static Vector<Operator> list = new Vector<Operator>();
- public static void initList() {
- list.add( new Operator( '=' , 4 , false ) );
- list.add( new Operator( '+' , 3 , true ) );
- list.add( new Operator( '-' , 3 , true ) );
- list.add( new Operator( '*' , 2 , true ) );
- list.add( new Operator( '/' , 2 , true ) );
- list.add( new Operator( '!' , 1 , false ) );
- }
- public static boolean isOperator( char c ) {
- for(int i = 0; i < list.size(); i++ ) {
- if( list.elementAt( i ).data == c ) {
- return true;
- }
- }
- return false;
- }
- public static int getOperatorPrecedence( char c ) {
- for( int i = 0; i < list.size(); i++ ) {
- if( list.elementAt( i ).data == c ) {
- return list.elementAt( i ).precedence;
- }
- }
- return -1;
- }
- public static boolean stronger( char act , char topstack ) {
- if( getOperatorPrecedence( act ) > getOperatorPrecedence( topstack ) ) {
- return true;
- }
- else {
- return false;
- }
- }
- public static void main( String[] args ) {
- initList();
- System.out.println( PostFix.convertInFixToPostFix("a+b*c-d") );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment