IntMinus.java
package progen.kernel.functions;
import java.util.List;
import java.util.Map;
import progen.kernel.tree.Node;
import progen.userprogram.UserProgram;
/**
* Clase que implementa la función aritmética de restar dos números. Esta
* función recibe dos números de tipo int y devuelve el resultado como int.
*
* @author jirsis
* @since 2.0
*/
public class IntMinus extends NonTerminal {
private static final long serialVersionUID = 5978119298024364549L;
/**
* Constructor de la función que define los valores por defecto, definiendo
* como símbolo '-'.
*/
public IntMinus() {
super("int$$int$$int", "-");
}
@Override
public Object evaluate(List<Node> arguments, UserProgram userProgram, Map<String, Object> returnAddr) {
final Integer minuendo = (Integer) arguments.get(0).evaluate(userProgram, returnAddr);
final Integer sustraendo = (Integer) arguments.get(1).evaluate(userProgram, returnAddr);
return minuendo - sustraendo;
}
}