Files
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
DEV/DEV3.4/ControleMachine/test/TokenOperator.java

40 lines
767 B
Java
Raw Normal View History

2025-03-13 12:01:03 +01:00
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();
}
}