Como dice el título, de nuevo se pueden guardar los datos en disco. Al cambiar radicalmente la estructura de datos, se había perdido esta funcionalidad.
Como se iba a programar desde cero, se pensó usar bases de dados. Se han visto ciertos factores que no nos terminaba de convencer.
La aplicación pretende tener todos los datos en memoria, todos. Sólo se guarda en disco para cuando la aplicación se finalice y poder recuperarlos después. La estructura de datos pretende realizar las búsquedas lo más rápido posible y las lecturas a disco son muy lentas. Por lo que tener una base de datos a la que no se le realizarán consultas parece un poco innecesario.
El código anterior guardaba los datos en distintos archivos con extensión '.dat'. Se ha seguido el mismo camino. De modo secuencial, se leen y guardan los datos. Cada tipo de 'cadena' tiene asociado su archivo '.dat'. A la hora de guardar, sólo se guardarán las listas de cadenas que hayan añadido o modificado alguna cadena.
Es un poco tosco a la hora de guardar, pero se pretende que la aplicación no se apague, sino que periódicamente guarde los cambios, pero que siga en marcha.
Otro factor importante es que no nos obliga a tener MySql instalado.
Otra cosa más, cada tipo de cadena tiene asociado un array de bytes con toda la información, pero cada tipo es de un tamaño diferente. Cada tipo tiene unos campos, si usáramos tablas, debería de crear para cada tipo una tabla, por lo que la base de esta nueva estructura resultaría inútil. Otra opción sería una única tabla con los siguientes campos: index, tipo, array de bytes. Por lo que nos obliga a añadir el campo index en las cadenas. No nos convence.
En resumen, se ha añadido el código para poder leer y escribir las cadenas añadidas a la estructura.
Se agradecen los comentarios.
Se irá comentando el desarrollo de una aplicación capaz de realizar análisis sintáctico y morfológico del castellano.
lunes, 28 de noviembre de 2011
viernes, 18 de noviembre de 2011
Implementado el tipo Natural y el Ordinal
A lo largo de la mañana hemos implementado dos tipos más. El tipo Natural era una tontería, pero el Ordinal lleva más trabajo.
Dado un Ordinal como por ejemplo 'décimo tercero', que también puede escribirse como 'decimotercero' y sus correspondientes cifras (o abreviaciones) como '13º' o '13ro.' como se viene haciendo en la actualidad, o '13.º' que es como debería de escribirse. Nuestra aplicación acepta cualquiera de las formas. A partir de una, genera las otras y las inserta en la estructura, junto con su género, número y función. De esta forma, da lo mismo que pongamos '13º' o 'decimotercero', va a saber que nos referimos a lo mismo.
Como es lógico, se han quedado implementados los métodos para pasar de Ordinal a Natural y de Natural a Ordinal. No se comentó antes, pero también están los métodos para pasar de Romano a Natural y de Natural a Romano.
El rango de los ordinarios es del 1 al 1000 y 1000000, los más comunes. Según se vea se implementarán más.
Dado un Ordinal como por ejemplo 'décimo tercero', que también puede escribirse como 'decimotercero' y sus correspondientes cifras (o abreviaciones) como '13º' o '13ro.' como se viene haciendo en la actualidad, o '13.º' que es como debería de escribirse. Nuestra aplicación acepta cualquiera de las formas. A partir de una, genera las otras y las inserta en la estructura, junto con su género, número y función. De esta forma, da lo mismo que pongamos '13º' o 'decimotercero', va a saber que nos referimos a lo mismo.
Como es lógico, se han quedado implementados los métodos para pasar de Ordinal a Natural y de Natural a Ordinal. No se comentó antes, pero también están los métodos para pasar de Romano a Natural y de Natural a Romano.
El rango de los ordinarios es del 1 al 1000 y 1000000, los más comunes. Según se vea se implementarán más.
Ubicación:
Roda, San Javier, España
Tipos de cadenas que almacena
Tipos que es capaz de tratar:
- Adjetivos (sin terminar).
- Adjetivos Determinados.
- Adverbios
- Adverbios terminados en 'mente'.
- Artículos.
- Cardinales.
- Complementos de Adjetivo.
- Complementos de Adverbio.
- Complementos del Verbo.
- Demostrativos.
- Determinantes.
- Locuciones Adverbiales.
- Números Enteros.
- Números Fraccionarios (sin terminar).
- Números Reales.
- Números Romanos.
- Posesivos.
- Pronombres.
A fecha de hoy es capaz de almacenar todos estos tipos de cadenas. Ahora estamos con los Naturales, Ordinales, fraccionarios y multiplicativos.
Código fuente. Corresponde al archivo GR18&11&11.zip
Como podréis ver, no tiene que ver nada con lo anterior.
Un saludo.
Etiquetas:
adjetivo,
adverbio,
artículo,
cardinal,
Código fuente,
complemento,
demostrativo,
determinante,
entero,
fraccionario,
locución,
natural,
posesivo,
pronombre,
real,
romano,
tipos
Ubicación:
Roda, San Javier, España
Suscribirse a:
Comentarios (Atom)