From 510afa59e52b70b35ca1826dfe37e2ef2136ef2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Germ=C3=A1n=20Casta=C3=B1eda=20Echevarr=C3=ADa?= Date: Sat, 18 Sep 2010 11:55:51 -0500 Subject: [PATCH] Replacing tabs with spaces and adding generics to NDfaDelta and JMachineCanvas. --- src/jaguar/machine/Machine.java | 162 +++++++++--------- .../machine/dfa/structures/NDfaDelta.java | 140 +++++++-------- .../machine/util/jutil/JMachineCanvas.java | 30 ++-- 3 files changed, 166 insertions(+), 166 deletions(-) diff --git a/src/jaguar/machine/Machine.java b/src/jaguar/machine/Machine.java index f187d5e..91207cb 100644 --- a/src/jaguar/machine/Machine.java +++ b/src/jaguar/machine/Machine.java @@ -1,26 +1,26 @@ /** -** -- The common Machine's features -** -** Copyright (C) 2002 by Ivan Hernández Serrano +** -- The common Machine's features +** +** Copyright (C) 2002 by Ivan Hernández Serrano ** ** This file is part of JAGUAR -** +** ** This program is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License ** as published by the Free Software Foundation; either version 2 ** of the License, or (at your option) any later version. -** +** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. -** +** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -** -** Author: Ivan Hernández Serrano -** +** +** Author: Ivan Hernández Serrano +** **/ @@ -54,28 +54,28 @@ abstract public class Machine { **/ static final public String ELEMENT_NAME = "machine"; /** - * El tag con el que se define el inicio del objeto de un + * El tag con el que se define el inicio del objeto de un * en un archivo */ public static final String BEG_TAG = "<"+ELEMENT_NAME+">"; - + /** - * El tag con el que se define el fin del objeto de un + * El tag con el que se define el fin del objeto de un * en un archivo */ - public static final String END_TAG = ""; + public static final String END_TAG = ""; /** - ** El nombre del elemento descripción, debe de ser igual al descrito en las DTDs de máquinas + ** El nombre del elemento descripción, debe de ser igual al descrito en las DTDs de máquinas **/ public static final String DESCRIPTION_ELEMENT_NAME = "description"; /** - * El tag con el que se define el inicio del objeto de un + * El tag con el que se define el inicio del objeto de un * en un archivo */ public static final String DESCRIPTION_BEG_TAG = "<"+DESCRIPTION_ELEMENT_NAME+">"; /** - * El tag con el que se define el fin del objeto de un + * El tag con el que se define el fin del objeto de un * en un archivo */ public static final String DESCRIPTION_END_TAG = ""; @@ -85,7 +85,7 @@ abstract public class Machine { protected DocumentBuilderFactory factory; /** - * Una descripción de la máquina + * Una descripción de la máquina */ protected String machineDescription=" "; /** @@ -94,7 +94,7 @@ abstract public class Machine { * @see #machineDescription */ public String getMachineDescription(){ - return machineDescription; + return machineDescription; } /** * funcion de acceso para modificar machineDescription @@ -102,12 +102,12 @@ public String getMachineDescription(){ * @see #machineDescription */ public void setMachineDescription(String new_machineDescription){ - machineDescription=new_machineDescription; + machineDescription=new_machineDescription; } - - + + /** - * El conjunto de estados finales de la máquina + * El conjunto de estados finales de la máquina **/ protected StateSet F; /** @@ -115,30 +115,30 @@ public void setMachineDescription(String new_machineDescription){ * @return Value of F. */ public StateSet getF() {return F;} - + /** * Set the value of F. * @param v Value to assign to F. */ public void setF(StateSet v) {this.F = v;} - + /** - * El alfabeto de entrada de la máquina + * El alfabeto de entrada de la máquina */ protected Alphabet Sigma; - + /** * Get the value of Sigma. * @return Value of Sigma. */ public Alphabet getSigma() {return Sigma;} - + /** * Set the value of Sigma. * @param v Value to assign to Sigma. */ public void setSigma(Alphabet v) {this.Sigma = v;} - + /** * La funci'on de transici'on delta **/ @@ -149,116 +149,116 @@ public void setMachineDescription(String new_machineDescription){ * @return value of delta. */ public Delta getDelta() { - return delta; + return delta; } - + /** * Set the value of delta. * @param v Value to assign to delta. */ public void setDelta(Delta v) { - delta = v; + delta = v; } - + /** - * El conjunto de estados de la máquina + * El conjunto de estados de la máquina */ protected StateSet Q; - + /** * Get the value of Q. * @return value of Q. */ public StateSet getQ() { - return Q; + return Q; } - - /** + + /** * Set the value of Q. * @param v Value to assign to Q. */ public void setQ(StateSet v) { - Q = v; - } + Q = v; + } /** - *Regresa el valor booleano de la máquina, acepta o no acepta + *Regresa el valor booleano de la máquina, acepta o no acepta */ abstract public boolean runMachine(Str str); - /** - * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas - * Escribe la máquina en formato XML - * @param FileName El nombre del archivo donde se guardará el DFA. + /** + * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas + * Escribe la máquina en formato XML + * @param FileName El nombre del archivo donde se guardará el DFA. */ public void toFile(String FileName){ - toFile(FileName,""); + toFile(FileName,""); } - - /** - * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas - * Escribe la máquina en formato XML + + /** + * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas + * Escribe la máquina en formato XML * - * @param FileName El nombre del archivo donde se guardará el DFA. - * @param comment Comentario que se escribirá al principio de la descripción de la Máquina. + * @param FileName El nombre del archivo donde se guardará el DFA. + * @param comment Comentario que se escribirá al principio de la descripción de la Máquina. * */ public void toFile(String FileName, String comment ){ - try { - toFile(new FileWriter(FileName),comment); + try { + toFile(new FileWriter(FileName),comment); } catch(Exception ouch) { - System.err.println("["+(new java.util.Date()).toString()+"]"+this.getClass().getName() - + "El archivo " + FileName + " no se pudo abrir: " ); - ouch.printStackTrace(); + System.err.println("["+(new java.util.Date()).toString()+"]"+this.getClass().getName() + + "El archivo " + FileName + " no se pudo abrir: " ); + ouch.printStackTrace(); } } - + /** - * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas - * Escribe la máquina en formato XML + * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas + * Escribe la máquina en formato XML * - * @param fw El FileWriter donde se guardará el DFA. - * @param comment Comentario que se escribirá al principio de la descripción de la Máquina. + * @param fw El FileWriter donde se guardará el DFA. + * @param comment Comentario que se escribirá al principio de la descripción de la Máquina. */ public void toFile(FileWriter fw, String comment){ - try{ - toFile(fw); + try{ + toFile(fw); } catch (Exception ouch){ - System.err.println("["+(new java.util.Date()).toString()+"]"+this.getClass().getName() - + "Trying to toFile: " ); - ouch.printStackTrace(); + System.err.println("["+(new java.util.Date()).toString()+"]"+this.getClass().getName() + + "Trying to toFile: " ); + ouch.printStackTrace(); } } - - /** - * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas - * Escribe la máquina en formato XML + + /** + * Guarda la representación de la Máquina en un archivo XML válido con respecto al DTD de cada una de las máquinas + * Escribe la máquina en formato XML * - * @param fw El FileWriter donde se guardará la Máquina. + * @param fw El FileWriter donde se guardará la Máquina. */ - abstract public void toFile(FileWriter fw); + abstract public void toFile(FileWriter fw); /** - * Regresa la representación como cadena de cada Máquina,. - * En particular esta implementación regresa la descripción de la Máquina si es que existe + * Regresa la representación como cadena de cada Máquina,. + * En particular esta implementación regresa la descripción de la Máquina si es que existe */ public String toString(){ - if(machineDescription.trim().length()==0) - return ""; - return "Description: " + machineDescription.trim() + "\n"; + if(machineDescription.trim().length()==0) + return ""; + return "Description: " + machineDescription.trim() + "\n"; } - + /** - * Solo inicializa el DocumentBuilderFactory para que cheque la entrada contra el DTD asociado a cada máquina + * Solo inicializa el DocumentBuilderFactory para que cheque la entrada contra el DTD asociado a cada máquina */ protected Machine(){ factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); - } + } /** * Hace la referencia de todos los estados con respecto a Q - * Es útil cuando leemos por separado los estados y tenemos que hacer las referencias + * Es útil cuando leemos por separado los estados y tenemos que hacer las referencias */ abstract public void makeStateReferences(); } diff --git a/src/jaguar/machine/dfa/structures/NDfaDelta.java b/src/jaguar/machine/dfa/structures/NDfaDelta.java index 8ac6846..b07e274 100644 --- a/src/jaguar/machine/dfa/structures/NDfaDelta.java +++ b/src/jaguar/machine/dfa/structures/NDfaDelta.java @@ -1,7 +1,7 @@ /** ** -- The NDFA's specific delta ** -** Copyright (C) 2002 by Ivan Hernández Serrano +** Copyright (C) 2002 by Ivan Hernández Serrano ** ** This file is part of JAGUAR ** @@ -19,7 +19,7 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** -** Author: Ivan Hernández Serrano +** Author: Ivan Hernández Serrano ** **/ @@ -55,7 +55,7 @@ public class NDfaDelta extends Delta>{ /** - * Iinicializa una función de transición delta + * Iinicializa una función de transición delta */ public NDfaDelta(){ super(); @@ -94,15 +94,15 @@ public NDfaDelta(org.w3c.dom.Node node){ /** - * Agrega una transición de la forma delta(q,symb)=transition + * Agrega una transición de la forma delta(q,symb)=transition * @param q estado , primer elemento del par ordenado QxSigma - * @param symb símbolo , segundo elemento del par ordenado QxSigma + * @param symb símbolo , segundo elemento del par ordenado QxSigma * @param transitions conjunto de transiciones resultante */ public void addTransition(State q, Symbol symb, StateSet transitions){ - Hashtable t = (Hashtable)delta.get(q); + Hashtable t = delta.get(q); if(t == null) - t = new Hashtable(); + t = new Hashtable(); StateSet v = (StateSet)t.get(symb); if(v == null) v = new StateSet(); @@ -124,88 +124,88 @@ public void removeTransition(State q, Symbol symb) { } /** - * Regresa el valor de la aplicar la función de transición delta, + * Regresa el valor de la aplicar la función de transición delta, * @return StateSet un conjunto de estados que es todos los estaodos a los que se transifiere - * el automata con el símbolo symb en el estado q + * el automata con el símbolo symb en el estado q */ public StateSet apply(State q, Symbol symb){ - Hashtable t = (Hashtable)delta.get(q); - if(t == null) - return null; - return (StateSet)t.get(symb); + Hashtable t = (Hashtable)delta.get(q); + if(t == null) + return null; + return (StateSet)t.get(symb); } /** * Obtiene todas las transiciones de un estado p en delta - * @return un vector de estados donde están todos los estoaos a los que se transfiere a partir de estado p + * @return un vector de estados donde están todos los estoaos a los que se transfiere a partir de estado p */ - public Vector getTransitions(State p){ - Vector v = new Vector(); - Hashtable t = (Hashtable)delta.get(p); - Symbol s; - StateSet sts; - - if(t != null) - for(Enumeration e = t.keys(); e.hasMoreElements(); ){ - s = (Symbol)e.nextElement(); - sts = (StateSet)t.get(s); - Vector vp = new Vector(); - vp.add(s); - vp.add(sts); - v.add(vp); - } - return v; + public Vector getTransitions(State p){ + Vector v = new Vector(); + Hashtable t = delta.get(p); + Symbol s; + StateSet sts; + + if(t != null) + for(Enumeration e = t.keys(); e.hasMoreElements(); ){ + s = (Symbol)e.nextElement(); + sts = (StateSet)t.get(s); + Vector vp = new Vector(); + vp.add(s); + vp.add(sts); + v.add(vp); + } + return v; } /** - * Escribe la representación de la función de transición delta en un archivo con el formato definido por el DTD correspondiente - * Escribe la delta con su representación correspondiente con tags. + * Escribe la representación de la función de transición delta en un archivo con el formato definido por el DTD correspondiente + * Escribe la delta con su representación correspondiente con tags. * - * @param fw El FileWriter donde se escribirá la delta + * @param fw El FileWriter donde se escribirá la delta */ public void toFile(FileWriter fw){ - try{ - fw.write("\n"+BEG_TAG); - Object [] oKeys = delta.keySet().toArray(); - State currentSt; - Symbol currentSym; - /** El estado resultante de la combinación QxSigma **/ - State currentResSt; - Vector vaux, vtrans; - for(int i = 0 ; i < oKeys.length; i++){ - currentSt = (State)oKeys[i]; - vaux = getTransitions(currentSt); - for(int j = 0 ; j < vaux.size(); j ++){ - /** checamos que el resultado de la transición sea distinto de nulo **/ - vtrans=(Vector)vaux.get(j); - if(vtrans.get(1) != null){ - fw.write("\n\t"+TRANS_BEG_TAG); - currentSt.toFile(fw); - ((Symbol)vtrans.get(0)).toFile(fw); - ((StateSet)vtrans.get(1)).toFile(fw); - fw.write(TRANS_END_TAG); + try{ + fw.write("\n"+BEG_TAG); + Object [] oKeys = delta.keySet().toArray(); + State currentSt; + Symbol currentSym; + /** El estado resultante de la combinación QxSigma **/ + State currentResSt; + Vector vaux, vtrans; + for(int i = 0 ; i < oKeys.length; i++){ + currentSt = (State)oKeys[i]; + vaux = getTransitions(currentSt); + for(int j = 0 ; j < vaux.size(); j ++){ + /** checamos que el resultado de la transición sea distinto de nulo **/ + vtrans=(Vector)vaux.get(j); + if(vtrans.get(1) != null){ + fw.write("\n\t"+TRANS_BEG_TAG); + currentSt.toFile(fw); + ((Symbol)vtrans.get(0)).toFile(fw); + ((StateSet)vtrans.get(1)).toFile(fw); + fw.write(TRANS_END_TAG); + } + } + } + fw.write("\n" + END_TAG+"\n"); + }catch( Exception ouch){ + System.err.println("["+(new java.util.Date()).toString()+"]"+this.getClass().getName() + + "Trying to toFile: " ); + ouch.printStackTrace(); } - } - } - fw.write("\n" + END_TAG+"\n"); - }catch( Exception ouch){ - System.err.println("["+(new java.util.Date()).toString()+"]"+this.getClass().getName() - + "Trying to toFile: " ); - ouch.printStackTrace(); - } } public String getStringTransitions(State p){ - Vector v = getTransitions(p); - Vector vp; - String res = ""; - for(int i = 0; i < v.size(); i++){ - vp = (Vector) v.elementAt(i); - res += "
  d("+p.getLabel()+","+((Symbol)vp.elementAt(0))+") = "+ ((StateSet)vp.elementAt(1))+"  "; - } - return res; + Vector v = getTransitions(p); + Vector vp; + String res = ""; + for(int i = 0; i < v.size(); i++){ + vp = (Vector) v.elementAt(i); + res += "
  d("+p.getLabel()+","+((Symbol)vp.elementAt(0))+") = "+ ((StateSet)vp.elementAt(1))+"  "; + } + return res; } /** @@ -213,7 +213,7 @@ public String getStringTransitions(State p){ * @param p el estado de quien queremos ver todas sus transiciones definidas **/ public String getToolTipString(State p){ - return "   " + p.toString() + (p.getIsInF()?" Final State ":"") + "" + getStringTransitions(p)+""; + return "   " + p.toString() + (p.getIsInF()?" Final State ":"") + "" + getStringTransitions(p)+""; } } diff --git a/src/jaguar/machine/util/jutil/JMachineCanvas.java b/src/jaguar/machine/util/jutil/JMachineCanvas.java index 2977ea8..a4ca27d 100644 --- a/src/jaguar/machine/util/jutil/JMachineCanvas.java +++ b/src/jaguar/machine/util/jutil/JMachineCanvas.java @@ -1,7 +1,7 @@ /** ** -- The generic machine canvas ** -** Copyright (C) 2002 by Ivan Hernández Serrano +** Copyright (C) 2002 by Ivan Hernández Serrano ** ** This file is part of JAGUAR ** @@ -19,7 +19,7 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** -** Author: Ivan Hernández Serrano +** Author: Ivan Hernández Serrano ** **/ @@ -41,14 +41,14 @@ import jaguar.machine.JMachine; /** - * Esta clase es la encargada de llamar a los painters de la máquina, ademas de detectar los movimientos en el lienzo + * Esta clase es la encargada de llamar a los painters de la máquina, ademas de detectar los movimientos en el lienzo * - * @author Ivan Hernández Serrano + * @author Ivan Hernández Serrano * @version 0.1 */ abstract public class JMachineCanvas extends JPanel{ /** - * La dimensión del canvas para el Canvas + * La dimensión del canvas para el Canvas **/ private Dimension size; @@ -78,17 +78,17 @@ public void setZOOM_FACTOR(double v) { } /** - * La dimensión mínima del DfaCanvas + * La dimensión mínima del DfaCanvas */ public static Dimension MINIMUM_DIMENSION = new Dimension(300,300); /** - * La dimensión adecuada (preferred) del DfaCanvas + * La dimensión adecuada (preferred) del DfaCanvas */ public static Dimension PREFERRED_DIMENSION = new Dimension(600,600); /** - * La dimensión máxima del DfaCanvas + * La dimensión máxima del DfaCanvas */ // public static Dimension MAXIMUM_DIMENSION = new Dimension(750,750); public static Dimension MAXIMUM_DIMENSION = new Dimension(1500,1500); @@ -97,13 +97,13 @@ public void setZOOM_FACTOR(double v) { /** * La lista de los JStates **/ - private Vector jeList; + private Vector jeList; /** * Get the value of jestadosList. * @return value of jestadosList. */ - public Vector getJeList() { + public Vector getJeList() { return jeList; } @@ -111,12 +111,12 @@ public Vector getJeList() { * Set the value of jestadosList. * @param v Value to assign to jestadosList. */ - public void setJeList(Vector v) { + public void setJeList(Vector v) { jeList = v; } /** - * Constructor sin parámetros. + * Constructor sin parámetros. * Inicializa el objeto usando los valores por omision. */ public JMachineCanvas (){ @@ -143,7 +143,7 @@ public JMachineCanvas(Dimension _dimension, JMachine _jmachine){ public void initJMachineCanvas(JMachine _jmachine){ jmachine = _jmachine; - Vector v = new Vector(); + Vector v = new Vector(); JState jeCurrent; for (Iterator i = ((Machine)jmachine).getQ().iterator() ; i.hasNext() ;) { jeCurrent = (JState)i.next(); @@ -195,13 +195,13 @@ public Dimension minimumLayoutSize() { return MINIMUM_DIMENSION; } /** - * Regresa la dimensión adecuada al layout manager + * Regresa la dimensión adecuada al layout manager */ public Dimension getPreferredSize(){ return super.getSize(); } /** - * Regresa la dimensión adecuada al layout manager + * Regresa la dimensión adecuada al layout manager */ public Dimension getMinimumSize(){ return MINIMUM_DIMENSION;