/** * Método para hacer el código a partir del contenido de los vértices en el * grafo. */ public boolean make() { boolean codeGenerated = false; for (int i = 0; i < graphs.size(); i++) { g = graphs.get(i); if (i == 0) { addGlobalVariables(g); } vertices = g.getVertices(); edges = g.getEdges(); head = g.getHead(); if (head == null) { continue; } if (g.getNumVertices() > 0) { recurse(head); codeGenerated = true; } else { codeGenerated = false; } } return codeGenerated; }
/** * Método que obtiene un arreglo de las tablas Hash de las variables Locales * * @param g Grafo <code>Vertex<StructV></code> */ private ArrayList<Hashtable> getLocalVariables(Graph g) { ArrayList<Hashtable> localVariables = new ArrayList<Hashtable>(); for (int i = 0; i < g.getNumVertices(); i++) { Sprite tempSprite = ((StructV) g.getVertexAt(i).getValue()).getSprite(); Hashtable tempTable = (Hashtable) ((StructV) g.getVertexAt(i).getValue()).getValue(); if (tempSprite instanceof SpriteVar) localVariables.add(tempTable); } return localVariables; }