/** * @param line - linha com a definicao * @param level - nivel do symbolo */ public SymbolArray(String line, String values, Memory mem, int level) throws LanguageException { super(Symbol.ARRAY, true); this.level = level; IteratorArray it = new IteratorArray(line); String mod = Symbol.getDefAlter(line); String type = Symbol.getDefType(line); String nameVar = Symbol.getDefName(it.getNext()); // nome da variavel name = nameVar + getOriginalDims(line); int dimension = Integer.valueOf(it.getNext()); // numero de dimensoes data = new Vector<SymbolData>(dimension); nameVar = nameVar + it.getUnprocessed(); nameVar = mod + " " + type + " " + nameVar; for (int i = 0; i < dimension; i++) { SymbolData var = Memory.makeNewSymbol(nameVar + Symbol.iniArray + i + Symbol.finArray, mem, level); var.name = name + "[" + i + "]"; var.normalizeName(); data.add(var); } // objectValue = data; this.setValue(values); // constructor }