CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 18 Oct 2017 10:14

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 23 mensajes ]  Ir a página Anterior  1, 2
Autor Mensaje
NotaPublicado: 24 May 2016 07:02 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
dddddd escribió:
edlobez escribió:
En el caso del compilador, con windows, es un proyecto en Visual Studio?

Eso parece. Fíjate que hay un directorio compiler/VisualStudio/ en el repositorio https://github.com/Utodev/ngPAWS

También hay Makefile, por si tienes las herramientas compatibles para usar make.


Me he descargado un VStudio (free) https://www.visualstudio.com/products/f ... rs-vs.aspx

También debo tener uno del año catapum por un disco duro, VS 6.0, que usaba hace años, a ver si lo encuentro.

Investigaré un poco sobre el Makefile.

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
NotaPublicado: 24 May 2016 07:06 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
La función aMayuscula está en el fichero lexico.c, que tiene codificación...
Código:
$ file lexico.c
lexico.c: ISO-8859 C program text

Por lo tanto, «ñ», «ç» y demás no van a coincidir necesariamente con lo que hay en database.start.spanish y derivados, que están en UTF-8.

No creo que sea suficiente convertir lexico.c a UTF-8, principalmente porque en esta codificación una letra puede ocupar más de un byte... lo que no parece compatible con el bucle que vemos (recorre bytes).

Si el compilador está manejando ficheros y cadenas en UTF-8, la solución pasa por tratarlos como tal, con las librerías adecuadas. Todo lo demás serían hacks (como la misma aMayuscula parece ser, incluso para su época ¿no había funciones --pregunto desde el desconocimiento-- que fueran sensibles a la codepage adecuada?) que fallarían en una situación u otra.

http://stackoverflow.com/questions/9929 ... upper-case


Arriba
 Perfil  
 
NotaPublicado: 24 May 2016 08:05 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Cuando se trata del compilador, muchas veces el código es tan desconocido para mi como para los demás, porque viene del código original de Paguaglus, y aunque yo he retocado cosas en todo este tiempo para Superglus y ngPAWS, realmente no soy el padre de la criatura, y no lo conozco a fondo. Efectivamente esa función aMayuscula es poco ortodoxa, y seguro que habría algo en su día más limpio. El hecho de la codificacion del propio fichero no sea UTF hace desde luego imposible que eso funcione, pero como bien dice dddddd además es que no puede funcionar comparando chars. Toca buscar una función compatible y portable, o en su defecto una librería.

El proyecto original era para Windows se compilaba con Visual Studio, con el tiempo Yokiyoki lo hizo también para linux y con su makefile. Al principio yo usaba gcc bajo msys para compilar para Windows, pero eso me daba dos problemas:

1) usar el debugger era un infierno, y en general tenía que usarlo mucho, para ver como funcionaba (de nuevo, no soy el padre de la criatura)
2) el ejecutable generado pesaba muchisimo (cosa que por aquel entonces era más importante)

Así que yo mismo empecé a usar VS para compilar para Windows, y así hasta hoy. Supongo que aun es posible compilar para Windows usando mingw, pero hace mucho que no lo hago.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 24 May 2016 08:50 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
edlobez escribió:
dddddd escribió:
edlobez escribió:
En el caso del compilador, con windows, es un proyecto en Visual Studio?

Eso parece. Fíjate que hay un directorio compiler/VisualStudio/ en el repositorio https://github.com/Utodev/ngPAWS

También hay Makefile, por si tienes las herramientas compatibles para usar make.


Me he descargado un VStudio (free) https://www.visualstudio.com/products/f ... rs-vs.aspx

También debo tener uno del año catapum por un disco duro, VS 6.0, que usaba hace años, a ver si lo encuentro.

Investigaré un poco sobre el Makefile.


Pero vamos, que no te compliques la vida, que lo arreglaré cuando tenga un hueco :-)

Por ahora con poner el vocabulario, o al menos las eñes y cedillas del mismo, en mayúsculas, no tendrás problema alguno.

En el fondo hasta se puede parchear en el intérprete donde es mucho más fácil, pero lo correcto es hacerlo en el origen, el compilador.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 28 May 2016 10:21 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
He estado investigando un poco, y parece que todo lleva a usar una librería Unicode adecuada, y todas las entradas de Stackoverflow.com llevan a UCI, pero al examinar la licencia me encuentro con esto:

http://www.unicode.org/copyright.html#License

Que luego en la FAQ dice que es "compatible" con GPL, pero no se que quiere decir con eso de compatible.

Recientemente estuve retocando las licencias de ngPAWS y su documentación de modo que fueran adecuadas entre otras cosas, para poder ser incluidas en Debian. Sinceramente no tengo ganas de andar pensando en licencias y si valen o no vale, por lo que UCI me echa para atrás por que no es GPL o LGPL como el resto de ngPAWS.

Si alguno tenéis alguna sugerencia de otra librería, sería de ayuda, en caso contrario puedo optar por tres cosas:

1) Tratar de hacer un aMayusculas yo mismo, centrandome en la eñe y la cedilla, que son las unicas letras que realmente nos importan ahora mismo
2) Modificar la documentación de ngPAWS para indicar que el vocabulario debe ir en mayúsculas, o incluso modificar el compilador para forzarlo, asi si alguien pone cañon fallará ya por la primera "c"
3) Parchearlo en el intérprete, donde es bastante fácil, aunque añadiría un tiempo de procesado, probablemente inapreciable, al inicio. Recorrería todo el vocabulario y haría que voc[x]=voc[x].toUpper()

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 28 May 2016 15:29 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
No encuentro eso en la FAQ, ¿tienes un enlace?

En principio, el término compatible indica que la librería se puede usar con tu código GPL. https://en.wikipedia.org/wiki/License_c ... patibility


Arriba
 Perfil  
 
NotaPublicado: 28 May 2016 16:11 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
dddddd escribió:
No encuentro eso en la FAQ, ¿tienes un enlace?

En principio, el término compatible indica que la librería se puede usar con tu código GPL. https://en.wikipedia.org/wiki/License_c ... patibility


http://userguide.icu-project.org/icufaq ... -licensed-

Pero lo que me preocupa no es poder usarla con GPL, que por lo que he leido de la licencia es posible (yo diría que con GPL o con cualquier cosa la verdad, siempre que les cites como piden y tal), sino si al incluir esos fuentes el proyecto general no podría ya considerarse libre en los términos que Debian requiere, por ejemplo.

Ahora que lo pienso, una forma de verlo sería ver si la propia librería esta en Debian.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 28 May 2016 16:40 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
Está: https://packages.debian.org/source/jessie/icu


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 23 mensajes ]  Ir a página Anterior  1, 2

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM