Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo01.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo01.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo01.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,73 @@
+
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo sÃ³lo se requiere la clase TOLMachine
+import com.hcarralero.toljava.TOLMachine;
+
+/**
+ * Primer Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine
+ */
+public class Ejemplo01 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡.
+        String code= "Write(\"Hola. Bienvenido a TOLJava.\")";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un erroe en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena.
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            }
+        }
+    }
+
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo02.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo02.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo02.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,106 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLReal y TOLText.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLReal;
+import com.hcarralero.toljava.TOLText;
+/**
+ * Segundo Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir las variables x (Text) e y (Real).
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene el valor de la variable x.
+ *  6) Se muestra el valor de la variable x.
+ *  7) Se cambia el valor de la variable x por un nuevo valor.
+ *  8) Se muestra el nuevo valor de la variable x.
+ *  9) Se obtiene el valor de la variable y.
+ *  10) Se muestra el valor de la variable y.
+ *  11) Se cambia el valor de la variable y por un nuevo valor.
+ *  12) Se muestra el nuevo valor de la variable y.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLText
+ */
+public class Ejemplo02 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir las variables x de tipo Text e y de tipo Real.
+        String code= "Text x=\"Hola. Bienvenido a TOLJava.\"; Real y= 3.5+7;";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se obtiene el valor de la variable x.
+                Object objx= tm.getVariable("x");
+                //Se imprime el valor de la variable x.
+                System.out.println("Valor de x:["+objx+"]");
+                //Se asigna un nuevo valor a x, el texto: "Hasta la vista TOL."
+                tm.setVariableValue( "x", new TOLText("Hasta la vista TOL."));
+                //Se obtiene nuevamente el valor de la variable x (ya modificado).
+                objx= tm.getVariable("x");
+                //Se imprime el nuevo valor de la variable x.
+                System.out.println("NUEVO Valor de x:["+objx+"]");
+                //Se obtiene el valor de la variable y.
+                Object objy= tm.getVariable("y");
+                //Se imprime el valor de la variable y.
+                System.out.println("Valor de y:["+objy+"]");
+                //Se asigna un nuevo valor a y, el nÃºmero: 4567.89.
+                tm.setVariableValue( "y", new TOLReal(4567.89));
+                //Se obtiene nuevamente el valor de la variable y (ya modificado).
+                objy= tm.getVariable("y");
+                //Se imprime el nuevo valor de la variable y.
+                System.out.println("NUEVO Valor de y:["+objy+"]");
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a las variables de TOL.
+                System.out.println("ERROR procesando la informaciÃ³n introducida: "+ex.getMessage());
+            }
+        }
+    }
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo03.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo03.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo03.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,124 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine y TOLVariable.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLVariable;
+
+/**
+ * Tercer Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir las variables mensaje1 (Text),
+ *     mensaje2 (Text), mensaje3 (Text), num1(Real), b (real) y fnac (Date).
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene un arreglo con las varibale de tipo Text (podrÃ­a ser similar
+ *     para cualquier otro tipo de dato.
+ *  6) Se recorre el arreglo obtenido y se muestra por pantalla.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLVariable
+ */
+public class Ejemplo03 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir las variables mensaje1 (Text),
+        //mensaje2 (Text), mensaje3 (Text), num1(Real), b (real) y fnac (Date).
+        String code= "Text mensaje1= \"Ejecutando el Test #3\";Text mensaje2=\"Hola.\"; Text mensaje3=\"Bienvenido a TOLJava.\"; Real num1= 3.5+7; Real b= 56.9; Date fnac=y1967m02d04";
+        Object res[]= tm.execute(code);
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas.
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se obtiene un listado de las variables tipo Text definidas en TOL.
+                TOLVariable vars[]= tm.getTextVariables();
+                if (vars==null) {
+                    //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                    System.out.println("ERROR DE ACCESO AL MÃTODO NATIVO: nativeGetTextVariables");
+                } else {
+                    //Se obtiene el nÃºmero de variables tipo Text.
+                    int nv= vars.length;
+                    if (nv>0) {
+                        //En este caso se ha definido al menos una variable.
+                        System.out.println("Se han definido "+nv+" variable(s) de tipo Text:");
+                        //Iteramos sobre el arreglo de variables tipo Text definidas.
+                        for (int i= 0; i<nv; ++i) {
+                            //Cada elemento del arreglo es una variable.
+                            TOLVariable var= vars[i];
+                            //Nombre de la variable, se inicializa con un valor "basura".
+                            String name= "NO_NAME";
+                            //Valor de la variable, se inicializa con un valor "basura".
+                            Object value= "NO_VALUE";
+                            //DescripciÃ³n de la variable, se inicializa a un valor "basura".
+                            String desc= "NO_DESC";
+                            if (var!=null) {
+                                //La variable no es NULA (esto es lo CORRECTO).
+                                if (var.getName()!=null) {
+                                    //Obtenemos el nombre de la variable (NO DEBERÃA SER NULO).
+                                    name= var.getName();
+                                }
+                                if (var.getValue()!=null) {
+                                    //Obtenenos el valor de la variable.
+                                    value= var.getValue();
+                                }
+                                if (var.getDesc()!=null) {
+                                    //Obtenemos la descripciÃ³n (Pidiera ser vacÃ­a.
+                                    desc= var.getDesc();
+                                }
+                            }
+                            //Se imprimen todos los atributos de la variabe: nombre. valor y descripciÃ³n.
+                            System.out.println("\t["+name+"]==>["+value.toString()+"]==>["+desc+"]");
+                        }
+                    } else {
+                        System.out.println("No se han definido Variables tipo Text");
+                    }
+                }
+                //Para hacer este proceso para otro tipo de variables, sÃ³lo debe usar el mÃ©todo adecuado; los
+                //posibles mÃ©todos son: getRealVariables(), getComplexVariables(), ...;
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            }
+        }
+    }
+    
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo04.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo04.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo04.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,79 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLVMatrix y TOLVariable.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLVMatrix;
+import com.hcarralero.toljava.TOLVariable;
+
+/**
+ * Tercer Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir 3 variables de tipo VMatrix: ma, mb y mc
+ *  3) Se procesa el resultado para determinar si se produjo algÃºn error.
+ *  4) Se obtiene la variable "mc" definida en TOL y de ella se toma la matriz de sus valores.
+ *  4) Se recorre la matriz obtenida y se muestra por pantalla.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLVariable
+ */
+public class Ejemplo04 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir las variables tipo VMatrix: ma, mb y mc.
+        String code= "VMatrix ma= Rand(4, 3, 0, 1); VMatrix mb= SetCol( [[2,3,4,7]] ) | SetCol( [[1,5,7,9]] ) | SetCol( [[3,2,0,1]] ); VMatrix mc=ma+mb;";
+        Object res[]= tm.execute(code);
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas.
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                    //Se obtiene de TOL la variable mc y se muestra por pantalla.
+                    TOLVariable varmc= tm.getVariable("mc");
+                    //Se hace cast al valor de la variable para convertirlo al tipo correcto: VMatrix.
+                    TOLVMatrix valmc= (TOLVMatrix)varmc.getValue();
+                    //Se obtiene el nÃºmero filas y el de columnas de la matriz.
+                    int rows= valmc.getRows();
+                    int cols= valmc.getColumns();
+                    double values[][]= valmc.getValues();
+                    for (int i= 0; i<rows; ++i) {
+                        //Se cambia de lÃ­nea antes de cada fila
+                        System.out.println();
+                        for (int j= 0; j<cols; ++j) {
+                            //Se imprime cada celda de la matriz
+                            System.out.print(values[i][j]+"\t");
+                        }
+                    }
+                }
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //Se ha producido un error en el acceso a la MÃ¡quina Virtual de TOL.
+                System.out.println("Error accediendo a TOL: "+ex.getMessage());
+            }
+        }
+    }
+    
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo05.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo05.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo05.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,111 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLReal y TOLCode.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLReal;
+import com.hcarralero.toljava.TOLCode;
+import com.hcarralero.toljava.TOLObject;
+
+/**
+ * 5to Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir las funciones sumar y restar, asÃ­ como las
+ *     la variable f de tipo Code con valor inicial sumar y la variable x de tipo Real.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene el valor de la variable f (debe ser el valor inicial "sumar").
+ *  6) Se muestra el valor de la variable f.
+ *  7) Se cambia el valor de la variable f por un nuevo valor: restar.
+ *  8) Se muestra el nuevo valor de la variable f.
+ *  9) Se crea un arreglo de objetos que servirÃ¡ como lista de parÃ¡metros a la llamada a 
+ *     la funciÃ³n f, el 1er parÃ¡metro es una constante de Tipo TOLReal y el 2do es una
+ *     cadena que representa el nombre de variable "x".
+ *  10) Se hace una llamada a la funciÃ³n f pasando como argumentos el nombre de  
+ *      funciÃ³n "f" y el arreglo de parÃ¡metros.  El resultado es asignado a la variable r3.
+ *  11) Se muestra el valor de r3 que es resultado de invocar la funciÃ³n f.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLCode.
+ */
+public class Ejemplo05 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir las funciones sumar y restar, asÃ­ como la viariable f de tipo Code.
+        String code= "Real sumar(Real a, Real b) {Real r= a+b; r}; Real restar(Real a, Real b) {Real r= a-b; r}; Code f= sumar; Real x=5;";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se obtiene el valor de la variable f (debe ser el valor inicial "sumar").
+                Object objf= tm.getVariable("f");
+                //Se imprime el valor de la variable f.
+                System.out.println("Valor de f:["+objf+"]");
+                //Se asigna un nuevo valor a f, la funciÃ³n "restar" (el valor de informaciÃ³n no se tiene en cuenta).
+                tm.setVariableValue( "f", new TOLCode("restar", null));
+                //Se obtiene nuevamente el valor de la variable f (ya modificado deberÃ­a ser "restar").
+                objf= tm.getVariable("f");
+                //Se imprime el nuevo valor de la variable f.
+                System.out.println("NUEVO Valor de f:["+objf+"]");
+                //Se crea un arreglo de objetos que servirÃ¡ como lista de parÃ¡metros a la llamada a
+                //la funciÃ³n f, el 1er parÃ¡metro es una constante de Tipo TOLReal y el 2do es una
+                //cadena que representa el nombre de variable "x".
+                Object pars[]= {new TOLReal(12), "x"};
+                //Se hace una llamada a la funciÃ³n f pasando como argumentos el nombre de
+                //funciÃ³n "f" y el arreglo de parÃ¡metros. El resultado es asignado a la variable r3.
+                TOLObject or3= tm.callCode("f", pars);
+                TOLReal r3= (TOLReal)or3;
+                //Se muestra el valor de r3 que es resultado de invocar la funciÃ³n f.
+                System.out.println("f(12, x)="+r3);
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a la variable f.
+                System.out.println("ERROR accediendo a la variable f: "+ex.getMessage());
+            }
+        }
+    }
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo06.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo06.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo06.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,96 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLDate y TOLDateException.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLDate;
+import com.hcarralero.toljava.TOLDateException;
+
+/**
+ * 6to Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir la serie ser1.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene el valor (val1) de la serie en una fecha especÃ­fica.
+ *  6) Se muestra val1.
+ *  7) Se obtiene el valor (val2) de la serie en una posiciÃ³n especÃ­fica indicada por un Ã­ndice.
+ *  8) Se muestra val2.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLCode.
+ */
+public class Ejemplo06 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir una serie.
+        String code= "Serie ser1 = SubSer( Gaussian( 0, 1 ), y2009m1d1, y2009m12d31 );";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se crea una variable fecha con valor dentro del rango de fechas de la serie
+                TOLDate date= new TOLDate(2009, 3, 11);
+                //Se obtiene el valor de la serie en la fecha escogida
+                double val1= tm.getSerieValue("ser1", date);
+                //Se imprime el valor obtenido
+                System.out.println("Valor de val1:["+val1+"]");
+                //Se obtiene el valor de la serie en la posiciÃ³n 2 (tercer elemento de la serie)
+                double val2= tm.getSerieValue("ser1", 2);
+                //Se imprime el valor obtenido
+                System.out.println("Valor de val2:["+val2+"]");
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a la variable f.
+                System.out.println("ERROR accediendo a la serie ser1: "+ex.getMessage());
+            } catch (TOLDateException ex) {
+                //AlgÃºn error ha ocurrido en el manejo de la variable de fecha (date).
+                System.out.println("ERROR accediendo a la serie ser1: "+ex.getMessage());
+            }
+        }
+    }
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo07.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo07.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo07.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,104 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLReal y TOLCode.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLDate;
+import com.hcarralero.toljava.TOLDateException;
+import com.hcarralero.toljava.TSItem;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * 7mo Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir la serie ser1.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene un arreglo de valores (tsis1) de la serie a partir una fecha especÃ­fica.
+ *  6) Se muestran los valores obtenidos.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLCode.
+ */
+public class Ejemplo07 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir una serie aleatoria con valores para todos los dÃ­as del aÃ±o 2009.
+        String code= "Serie ser1 = SubSer( Gaussian( 0, 1 ), y2009m1d1, y2009m12d31 );";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se crea una variable fecha con valor dentro del rango de fechas de la serie
+                TOLDate date= new TOLDate(2009, 3, 11);
+                //Se obtiene un arreglo de a lo sumo 10 valores de la serie a partir de la fecha dada
+                TSItem tsis1[]= tm.getSerieItems("ser1", date, 10);
+                //Se imprime el nÃºmero real de elementos obtenidos (pudiera ser inferior a 10)
+                System.out.println("NÃºmero de elementos leÃ­dos: "+tsis1.length);
+                //Se crea una variable calendario usado para posteriormente imprimir las fechas de la serie
+                Calendar cal= Calendar.getInstance();
+                //Se recorre el arreglo obtenido
+                for (int i= 0; i<tsis1.length; ++i) {
+                    //Se obtiene la fecha de cada item
+                    TOLDate tsid= tsis1[i].getDate();
+                    //Se establece en el calendario la fecha obtenida para su impresiÃ³n
+                    cal.set(tsid.getYear(), tsid.getMonth(), tsid.getDay(), tsid.getHour(), tsid.getMinute(), (int)tsid.getSecond());
+                    //Se imprime la fecha y el valor de cada item de la serie
+                    System.out.println("["+new Date(cal.getTimeInMillis()).toString()+"]==>["+tsis1[i].getValue()+"]");
+                }
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a la variable f.
+                System.out.println("ERROR accediendo a la serie ser1: "+ex.getMessage());
+            } catch (TOLDateException ex) {
+                //AlgÃºn error ha ocurrido en el manejo de la variable de fecha (date).
+                System.out.println("ERROR accediendo a la serie ser1: "+ex.getMessage());
+            }
+        }
+    }
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo08.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo08.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo08.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,104 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLDate y TOLDateException.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLDate;
+import com.hcarralero.toljava.TOLDateException;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * 8vo Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir el TimeSet ts1.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene la primera fecha de ts1 y se muestra por pantalla.
+ *  6) Se obtiene la Ãºltima fecha de ts1 y se muestra por pantalla.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLCode.
+ */
+public class Ejemplo08 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir un TimeSet que representa a "todos los lunes del aÃ±o 2011"
+        String code= "TimeSet ts1= WD(1)*Y(2011);";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se crea una variable calendario usado para posteriormente imprimir las fechas del TimeSet
+                Calendar cal= Calendar.getInstance();
+                //Para obtener la fecha inicial usaremos una fecha que sabemos es anterior a la primera fecha del TimeSet
+                TOLDate f1= new TOLDate(2010, 12, 31);
+                //Se obtiene la primera fecha del TimeSet buscando el sucesor de una fecha del aÃ±o anterior
+                TOLDate fini= tm.getTimeSetNextDate("ts1", f1);
+                //Se establece en el calendario la fecha obtenida para su impresiÃ³n
+                cal.set(fini.getYear(), fini.getMonth()-1, fini.getDay(), fini.getHour(), fini.getMinute(), (int)fini.getSecond());
+                //Se imprime la primera fecha del TimeSet
+                System.out.println("Fecha Inicial==> ["+new Date(cal.getTimeInMillis()).toString()+"]");
+                //Para obtener la fecha final usaremos una fecha que sabemos es posterior a la Ãºltima fecha del TimeSet
+                TOLDate f2= new TOLDate(2012, 1, 1);
+                //Se obtiene la Ãºltima fecha del TimeSet buscando el antecesor de una fecha del aÃ±o siguiente
+                TOLDate ffin= tm.getTimeSetPrevDate("ts1", f2);
+                //Se establece en el calendario la fecha obtenida para su impresiÃ³n
+                cal.set(ffin.getYear(), ffin.getMonth()-1, ffin.getDay(), ffin.getHour(), ffin.getMinute(), (int)ffin.getSecond());
+                //Se imprime la primera fecha del TimeSet
+                System.out.println("Fecha Final==> ["+new Date(cal.getTimeInMillis()).toString()+"]");
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a la variable f.
+                System.out.println("ERROR accediendo al TimeSet ts1: "+ex.getMessage());
+            } catch (TOLDateException ex) {
+                //AlgÃºn error ha ocurrido en el manejo de la variable de fecha (date).
+                System.out.println("ERROR accediendo al TimeSet ts1: "+ex.getMessage());
+            }
+        }
+    }
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo09.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo09.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo09.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,98 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLDate y TOLDateException.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLObject;
+
+/**
+ * 9no Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir el Set set1.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene el elemento de la posiciÃ³n 3 y se muestra.
+ *  6) Se obtiene el tamaÃ±o de set1 y se muestra.
+ *  7) Se obtienen todos los elementos del conjunto y se muestran.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLCode.
+ */
+public class Ejemplo09 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir un Set de 5 nÃºmeros reales"
+//        String code= "Set  set1 = SetOfText(\"alfa01\", \"beta01\", \"alfa02\", \"beta03\", \"alfa04\");";
+//        String code= "Set  set1 = SetOfReal(5, 1.4, .23, 456, 83.85);";
+        String code= "Set  set1 = SetOfDate(y1995m12d3, y1996m11d15, y1994m1d4, y1994m12d04);";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                //Se obtiene el tercer elemento de set1
+                TOLObject to= tm.getSetElement("set1", 3);
+                //Se imprime el tercer elemento de set1
+                System.out.println("Tercer elemento de set1=> ["+to.toString()+"]");
+                //Se obtiene el tamaÃ±o de set1
+                int size= tm.getSetSize("set1");
+                //Se imprime el tamaÃ±o de set1
+                System.out.println("TamaÃ±o de set1=> ["+size+"]");
+                //Se obtienen todos los elementos del conjunto
+                TOLObject tos[]= tm.getSetElements("set1");
+                //Se imprime el arreglo que contiene los elementos del conjunto
+                System.out.println("Elementos de set1:");
+                for (int i= 0; i<tos.length; ++i) {
+                    System.out.println("\tset1("+(i+1)+")==>"+tos[i].toString());
+                }
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a la variable f.
+                System.out.println("ERROR accediendo al Set set1: "+ex.getMessage());
+            }
+        }
+    }
+}
Index: TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo10.java
===================================================================
--- TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo10.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
+++ TolJava/TOLJava-Ejemplos/src/com/hcarralero/toljava/ejemplos/Ejemplo10.java	(revision 9887b93153b64c5f5ce532953ef51510edbe9e84)
@@ -0,0 +1,127 @@
+package com.hcarralero.toljava.ejemplos;
+
+//Se deben importar del paquete com.hcarralero.toljava todas las clases a usarse,
+//para este ejemplo se requieren las clases: TOLMachine, TOLMachineException, TOLDate y TOLDateException.
+import com.hcarralero.toljava.TOLMachine;
+import com.hcarralero.toljava.TOLMachineException;
+import com.hcarralero.toljava.TOLObject;
+import com.hcarralero.toljava.TOLRSet;
+import com.hcarralero.toljava.TOLVariable;
+
+/**
+ * 10mo Ejemplo de TOLJava para Consola:
+ *  1) Se crea una instancia de TOLMachine.
+ *  2) Se ejecuta una sentencia TOL para definir el Set set1.
+ *  3) Se procesa el resultado.
+ *  4) Se muestran los mensajes devueltos por el intÃ©prete de TOL.
+ *  5) Se obtiene el elemento de la posiciÃ³n 3 y se muestra.
+ *  6) Se obtiene el tamaÃ±o de set1 y se muestra.
+ *  7) Se obtienen todos los elementos del conjunto y se muestran.
+ *
+ * @author Humberto AndrÃ©s Carralero LÃ³pez (hcarralero@gmail.com)
+ * @version 1.0
+ * @see com.hcarralero.toljava.TOLMachine, com.hcarralero.toljava.TOLMachineException,
+ *      com.hcarralero.toljava.TOLReal, com.hcarralero.toljava.TOLCode.
+ */
+public class Ejemplo10 {
+
+    /**
+     * @param args los argumenetos de la lÃ­nea de comandos.
+     */
+    public static void main(String[] args) {
+        //Se crea una instancia de la clase TOLMachine.
+        TOLMachine tm= new TOLMachine();
+        //En una cadena se almacena el cÃ³digo TOL que se ejecutarÃ¡; en este caso
+        //el cÃ³digo es para definir un Set de 5 nÃºmeros reales"
+//        String code= "Set  set1 = SetOfText(\"alfa01\", \"beta01\", \"alfa02\", \"beta03\", \"alfa04\");";
+//        String code= "Set  set1 = SetOfReal(5, 1.4, .23, 456, 83.85);";
+        String code= "#Require MMS;"+
+                     "NameBlock forecast = MMS::Container::LoadFile(\"/home/hcarralero/Objetos-MMS/MPAPME.AutPEmMEm.Trim_20110606_BSR_1.0_Point__1.0.oza\");"+
+                     "Set simInputs = Select(forecast::GetModel(?)::GetDataSet(?)::GetVariables(?), Real (NameBlock v) {"+
+                     "TextSub(v::GetName(?), -5, -1) == \"_Comb\""+
+                     "});"+
+                     "Set inputs = EvalSet(simInputs, Set (NameBlock v) {"+
+                     "Serie scenarioData = v::GetData(?);"+
+                     "Text inputName = TextSub(v::GetName(?), 1, TextFind(v::GetName(?), \"_\")-1);"+
+                     "NameBlock v0 = forecast::GetModel(?)::GetDataSet(?)::GetVariable(inputName);"+
+                     "Serie inputData = v0::GetData(?);"+
+                     "[[ inputName, inputData, scenarioData ]]"+
+                     "});"+
+                     "Set outputs= EvalSet(forecast::GetModel.Forecast(?)::GetSubmodels(?), Set (NameBlock submodel) {"+
+                     "Text outputName = submodel::GetName(?);"+
+                     "Serie outputData = submodel::GetObservations(?);"+
+                     "Serie scenarioData = submodel::GetObservations.Forecast.Mean(?);"+
+                     "Set outputExprterms= submodel::GetExpTerms(?);"+
+                     "Set outputInputs = Select(outputExprterms, Real (NameBlock expr) {"+
+                     "TextSub(expr::GetName(?), -9, -1) == \"_Comb_Ext\""+
+                     "});"+
+                     "Set simOutputInputsNames= EvalSet(outputInputs, Text (NameBlock oinput) {"+
+                     "Text inputName = TextSub(oinput::GetName(?), 1, TextFind(oinput::GetName(?), \"_\")-1)"+
+                     "});"+
+                     "[[ outputName, outputData, scenarioData, simOutputInputsNames ]]"+
+                     "});";
+        //Se invoca el intÃ©rprete de TOL para ejecutar el cÃ³digo pasado por parÃ¡metro.
+        //El resultado es un arreglo de cadenas Object.
+        Object res[]= tm.execute(code);
+        System.out.println();
+        if (res==null) {
+            //Si el resultado es nulo, entonces se ha producido un error en el acceso a TOL.
+            System.out.println("ERROR ACCEDIENDO A TOL->execute");
+        } else {
+            //Se ha logrado acceder al intÃ©rprete y ejecutar el cÃ³digo.
+            int ne= 0;
+            try {
+                //La primera cadena representa el nÃºmero de errores detectado por el IntÃ©rprete de TOL.
+                ne= Integer.parseInt((String)res[0]);
+                if (ne>0) {
+                    //El intÃ©rprete de TOL reportÃ³ al menos un error.
+                    System.out.println("Se ha(n) detectado "+ne+" error(es)");
+                } else {
+                    //El intÃ©rprete de TOL no reportÃ³ errores.
+                    System.out.println("No se han detectado errores");
+                }
+                //Los siguientes objetos que conforman la respuesta del intÃ©rprete pueden ser:
+                //Warnings, Errores o mensajes generados por el cÃ³digo TOL ejecutado.
+                //Para procesar los mensajes generados debe comprender el formato de
+                //estos mensajes. (Consulte la documentaciÃ³n de TOL).
+                for (int i= 1; i<res.length; ++i) {
+                    //Cada objeto es una cadena
+                    String strRes= (String)res[i];
+                    //Se obtiene la longitud de la cadena.
+                    int l= strRes.length();
+                    if (strRes.charAt(0)=='<'&&strRes.charAt(2)=='>'&&(strRes.charAt(1)=='E'||strRes.charAt(1)=='W')&&l>=7) {
+                        //En este caso el mensaje es un 'W'arning o un 'E'rror.
+                        System.out.println("\t"+strRes.substring(3, l-5));
+                    } else {
+                        //En este caso es un mensaje comÃºn.
+                        System.out.println("\t"+strRes);
+                    }
+                }
+                TOLVariable toInputs= tm.getVariable("inputs");
+                TOLObject to= toInputs.getValue();
+                System.out.println("\tinputs==>"+to.toString());
+                to= tm.getSetElement("inputs", 1);
+                System.out.println("\tinputs[1])==>"+to.toString());
+                int size= tm.getSetSize("inputs");
+                //Se imprime el tamaÃ±o de "inputs"
+                System.out.println("Cantidad de inputs=> ["+size+"]");
+                //Se obtienen todos los elementos del conjunto
+                TOLObject tos[]= tm.getSetElements("inputs");
+                //Se imprime el arreglo que contiene los elementos del conjunto
+                System.out.println("Elementos de inputs:");
+                for (int i= 0; i<tos.length; ++i) {
+                    System.out.println("\tinputs["+(i+1)+"]==>"+tos[i].toString());
+                }
+                for (int i= 0; i<size; ++i) {
+                    System.out.println("\tinputs["+(i+1)+"]==>"+tm.getSetElement("inputs", i+1).toString());
+                }
+            } catch (NumberFormatException ex) {
+                //Algo inusual (ERROR INTERNO DE TOLJava) ha ocurrido.
+                System.out.println("ERROR DE ACCESO AL NÃMERO DE ERRORES");
+            } catch (TOLMachineException ex) {
+                //AlgÃºn error ha ocurrido en el acceso a la variable f.
+                System.out.println("ERROR accediendo a 'inputs': "+ex.getMessage());
+            }
+        }
+    }
+}
