/** * Avalia uma expressão com os valores por defeito das variáveis * * @param expression expressao * @param memory vector de memória * @return valor calculado */ public static String EvaluateByDefaults(String expression, Vector memory) { try { String exp = ReplaceVariablesToDefaults(expression, memory); return Calculator.CalulateValue(exp); } catch (Exception e) { return "ERROR DEFAULT CALCULATE"; } }
/** * calcula o tipo de dados de retorno de uma expressão (inteiro, real, lógico, . . .) * * @param elem expressão * @param memory vector de memória * @return tipo de dados */ public static int TypeExpression(String elem, Vector memory) { try { String exp = ReplaceVariablesToDefaults(elem, memory); String result = Calculator.CalulateValue(exp); if (Values.IsBoolean(result)) return Symbol.LOGICO; if (Values.IsInteger(result)) return Symbol.INTEIRO; if (Values.IsCharacter(result)) return Symbol.CARACTER; if (Values.IsString(result)) return Symbol.TEXTO; if (Values.IsReal(result)) return Symbol.REAL; return Symbol.DESCONHECIDO; } catch (Exception e) { return Symbol.DESCONHECIDO; } }