Skip to content
Browse files

Replacing tabs with spaces and adding generics to NDfaDelta and JMach…

…ineCanvas.
  • Loading branch information...
1 parent c12162d commit 510afa59e52b70b35ca1826dfe37e2ef2136ef2a @juanger committed Sep 18, 2010
View
162 src/jaguar/machine/Machine.java
@@ -1,26 +1,26 @@
/**
-** <Machine.java> -- The common Machine's features
-**
-** Copyright (C) 2002 by Ivan Hernández Serrano
+** <Machine.java> -- 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 <ivanx@users.sourceforge.net>
-**
+**
+** Author: Ivan Hernández Serrano <ivanx@users.sourceforge.net>
+**
**/
@@ -54,28 +54,28 @@
**/
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 = "</"+ELEMENT_NAME+">";
+ public static final String END_TAG = "</"+ELEMENT_NAME+">";
/**
- ** 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 = "</"+DESCRIPTION_ELEMENT_NAME+">";
@@ -85,7 +85,7 @@
protected DocumentBuilderFactory factory;
/**
- * Una descripción de la máquina
+ * Una descripción de la máquina
*/
protected String machineDescription=" ";
/**
@@ -94,51 +94,51 @@
* @see #machineDescription
*/
public String getMachineDescription(){
- return machineDescription;
+ return machineDescription;
}
/**
* funcion de acceso para modificar machineDescription
* @param new_machineDescription el nuevo valor para machineDescription
* @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;
/**
* Get the value of F.
* @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 <code>DocumentBuilderFactory</code> para que cheque la entrada contra el DTD asociado a cada máquina
+ * Solo inicializa el <code>DocumentBuilderFactory</code> 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 <code>Q</code>
- * 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();
}
View
140 src/jaguar/machine/dfa/structures/NDfaDelta.java
@@ -1,7 +1,7 @@
/**
** <NDfaDelta.java> -- 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 <ivanx@users.sourceforge.net>
+** Author: Ivan Hernández Serrano <ivanx@users.sourceforge.net>
**
**/
@@ -55,7 +55,7 @@
/**
- * 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<Symbol, StateSet> t = delta.get(q);
if(t == null)
- t = new Hashtable();
+ t = new Hashtable<Symbol, StateSet>();
StateSet v = (StateSet)t.get(symb);
if(v == null)
v = new StateSet();
@@ -124,96 +124,96 @@ 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<Vector> getTransitions(State p){
+ Vector<Vector> v = new Vector<Vector>();
+ Hashtable<Symbol,StateSet> 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<Object> vp = new Vector<Object>();
+ 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 += "<br> &nbsp; d(<font color=blue>"+p.getLabel()+"</font>,<font color=red>"+((Symbol)vp.elementAt(0))+"</font>) = <font color=blue>"+ ((StateSet)vp.elementAt(1))+"</font> &nbsp;";
- }
- return res;
+ Vector v = getTransitions(p);
+ Vector vp;
+ String res = "";
+ for(int i = 0; i < v.size(); i++){
+ vp = (Vector) v.elementAt(i);
+ res += "<br> &nbsp; d(<font color=blue>"+p.getLabel()+"</font>,<font color=red>"+((Symbol)vp.elementAt(0))+"</font>) = <font color=blue>"+ ((StateSet)vp.elementAt(1))+"</font> &nbsp;";
+ }
+ return res;
}
/**
* Regresa una cadena con formato html para los tooltips que nos muestra todas las transiciones deifinidas para el estado dado
* @param p el estado de quien queremos ver todas sus transiciones definidas
**/
public String getToolTipString(State p){
- return "<html> &nbsp; <font color=blue>" + p.toString() + (p.getIsInF()?" Final State ":"") + "</font>" + getStringTransitions(p)+"</html>";
+ return "<html> &nbsp; <font color=blue>" + p.toString() + (p.getIsInF()?" Final State ":"") + "</font>" + getStringTransitions(p)+"</html>";
}
}
View
30 src/jaguar/machine/util/jutil/JMachineCanvas.java
@@ -1,7 +1,7 @@
/**
** <JMachineCanvas.java> -- 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 <ivanx@users.sourceforge.net>
+** Author: Ivan Hernández Serrano <ivanx@users.sourceforge.net>
**
**/
@@ -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 <ivanx@users.sourceforge.net>
+ * @author Ivan Hernández Serrano <ivanx@users.sourceforge.net>
* @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,26 +97,26 @@ public void setZOOM_FACTOR(double v) {
/**
* La lista de los JStates
**/
- private Vector jeList;
+ private Vector<JState> jeList;
/**
* Get the value of jestadosList.
* @return value of jestadosList.
*/
- public Vector getJeList() {
+ public Vector<JState> getJeList() {
return jeList;
}
/**
* Set the value of jestadosList.
* @param v Value to assign to jestadosList.
*/
- public void setJeList(Vector v) {
+ public void setJeList(Vector<JState> 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<JState> v = new Vector<JState>();
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;

0 comments on commit 510afa5

Please sign in to comment.
Something went wrong with that request. Please try again.