package Portugol.Language.Calcular; import java.util.Vector; public abstract class AbstractCalculus { public static String VERSION = "Versão:2.0 \t(c)Augusto Bilabila e David Silva Barrera"; /** * Prioridade dos operadores Logicos */ public static int LOGIC_PRIORITY = 100; /** * Prioridade dos operadores Relacionais */ public static int RELATIONAL_PRIORITY = 200; /** * Prioridade dos operadores Aritmeticos */ public static int ARITMETIC_PRIORITY = 300; /** * Prioridade das Funcoes */ public static int FUNCTION_PRIORITY = 400; /** * Prioridade do operador PONTO (accesos de campos de registos y clases) */ public static int PONTO_PRIORITY = 500; /** * veririfica se o parametro ou um elemento de calculo * * @param str nome do elemento * @return veririfica se o parametro ou um elemento de calculo */ public abstract boolean IsValid(Object str); public abstract int GetNumParameters(Object oper) throws Exception; public abstract int GetPriority(Object oper) throws Exception; public abstract String Calculate(Object oper, Vector params) throws Exception; }