If you think the Android project Calculator-for-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code
// Copyright 2012 Digipom Inc.
///*www.java2s.com*/// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.digipom.android.library.evaluator.lexer;
importstatic com.digipom.android.library.evaluator.lexer.Operator.Associativity.LEFT;
importstatic com.digipom.android.library.evaluator.lexer.Operator.Associativity.RIGHT;
publicenum Operator implements Token {
ADD(0, LEFT), SUBTRACT(0, LEFT), MULTIPLY(1, LEFT), DIVIDE(1, LEFT), NEGATION(2, RIGHT), POWER(3, RIGHT);
publicstaticenum Associativity {
LEFT, RIGHT
}
publicfinalint precedence;
publicfinal Associativity associativity;
private Operator(int precedence, Associativity associativity) {
this.precedence = precedence;
this.associativity = associativity;
}
@Override
public String toString() {
if (this == ADD) {
return"+";
} elseif (this == SUBTRACT || this == NEGATION) {
return"-";
} elseif (this == MULTIPLY) {
return"*";
} elseif (this == DIVIDE) {
return"/";
} else {
return"^";
}
}
}