AndroidStudioProjects
Automate
ControleMachine1
ControleMachine2
ControleMachineJava
DEV1.1
DEV2.1
DEV3.1
DEV3.2
DEV3.4
ControleMachine
test
.bashrc
AbstractToken.java
Exemple.java
ExempleSY1.java
ExempleSY2.java
ExempleSY3.java
ExempleSY4.java
ExempleSY5.java
Operator.java
Questions.md
README.txt
ReservedWord.java
Separator.java
ShuntingYard.java
Shunting_yard.svg.png
TestShuntingYard1.java
TestShuntingYard2.java
TokenConstant.java
TokenOperator.java
TokenSeparator.java
TokenVariable.java
pourchot_dev34.tar.gz
test.tar.gz
TP2
TP4
TP5
TP6
TP7
TPnote
TP3.mdj
ex2.mdj
DEV32
DEV4.4
SAe
.gitignore
Ex1TP2.mdj
README.md
Vote.java
pourchot_dev32.tar.gz
40 lines
767 B
Java
40 lines
767 B
Java
|
import java.util.Objects;
|
||
|
|
||
|
/**
|
||
|
* Jeton pour les opérateurs
|
||
|
*
|
||
|
* sert uniquement à des opérations entières, pas d'autre type pour l'instant.
|
||
|
*
|
||
|
*
|
||
|
* @author Florent Madelaine
|
||
|
* @see Operators.java
|
||
|
*/
|
||
|
|
||
|
|
||
|
public class TokenOperator extends AbstractToken{
|
||
|
|
||
|
private Operator o;
|
||
|
|
||
|
public TokenOperator(Operator o){
|
||
|
Objects.requireNonNull(o, "o must not be null");
|
||
|
this.o=o;
|
||
|
}
|
||
|
|
||
|
public Operator getOperator(){
|
||
|
return this.o;
|
||
|
}
|
||
|
|
||
|
public boolean takesPrecedenceOver(TokenOperator to2){
|
||
|
return (this.o.ordinal() < to2.getOperator().ordinal()
|
||
|
||
|
||
|
((this.o.ordinal() == to2.getOperator().ordinal())
|
||
|
&&
|
||
|
to2.getOperator().isLeftAssociative()));
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public String toString(){
|
||
|
return this.o.toString();
|
||
|
}
|
||
|
}
|