public static String GetValueElement(String elem, Vector memory) { Symbol var; // ------------------------- sinal - ------------- if (elem.charAt(0) == '-') { // --operador - if (elem.length() == 1) return elem; // ---resto String resto = elem.substring(1); var = Variable.getVariable(resto, memory); // valor negativo if (var == null) return elem + " "; // se for uma variavel vai selecionar o valor else if (var instanceof SymbolArray) { SymbolArray a = (SymbolArray) var; a.SetIndex(elem, memory); return " ( " + a.getValue() + " * -1 ) "; } else return " ( " + var.getValue() + " * -1 ) "; } // ------------------------------------------------------------- // variavel sem valor negativo // ------------------------------------------------------------ var = Variable.getVariable(elem, memory); if (var == null) return elem + " "; else if (var instanceof SymbolArray) { SymbolArray a = (SymbolArray) var; a.SetIndex(elem, memory); return a.getValue() + " "; } else return var.getValue() + " "; }
public static String ReplaceVariablesToDefaults(String expr, Vector memory, int tryUnknow) { StringBuffer newExpr = new StringBuffer(); // iterador de elementos do codigo IteratorExpression tok = new IteratorExpression(expr); Symbol var; String elem; while (tok.hasMoreElements()) { elem = tok.current(); tok.next(); var = Variable.getVariable(elem, memory); // se for uma variavel vai selecionar o valor if (var != null) { if (var.getType() != var.DESCONHECIDO) newExpr.append(var.getDefaultValue() + " "); else newExpr.append(Symbol.getDefaultValue(tryUnknow) + " "); } // senao mete o elmento else newExpr.append(elem + " "); } return newExpr.toString().trim(); }