CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 12 Ago 2020 23:15

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 18 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 13 Dic 2011 10:34 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
Para el que no lo sepa, el vocabulario de cada uno de los objetos en TADS3 se inicializa mediante una cadena, actualmente del estilo 'nombre nombre nombre / adjetivo / adjetivo / adjetivo * plural plural'. Siguiendo la recomendación de Michael, el número y el género se reconocen mediante el uso de artículos, una manera que, aunque me chirría bastante, hay que reconocer que es práctica. Así:

'un fruto una naranjota una naranja / grande / gran * naranjas fruta cítrico'

Los plurales son marcas de conjuntos de objetos, de tal manera que al intentar "> coger fruta" el parser intenta coger cada uno de los objetos accesibles que contengan el plural 'fruta'. Los nombres en plural para referenciar al objeto irían al principio. Así, podríamos tener:

'unos pantalones / tejanos / vaqueros * ropa'

El problema que yo le veo es que el artículo indefinido puede llevar a confusión, ya que puede parecer un numeral y llevar a intentar crear objetos múltiples (que se puede, pero no de esta forma). Usar artículos definidos se acepta, pero en mi opinión suena un poco forzado.

¿Opiniones al respecto?


Arriba
 Perfil  
 
NotaPublicado: 13 Dic 2011 20:11 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
¿No hay comment? ¡qué poco querido me siento!

No, en serio. Me vendría bien una opinión de fuera, porque soy muy nuevo en el tema. ¿Os parece bien así?


Arriba
 Perfil  
 
NotaPublicado: 13 Dic 2011 21:54 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1955
Siento tener más preguntas que respuestas :)

Comely escribió:
El problema que yo le veo es que el artículo indefinido puede llevar a confusión, ya que puede parecer un numeral y llevar a intentar crear objetos múltiples (que se puede, pero no de esta forma). Usar artículos definidos se acepta, pero en mi opinión suena un poco forzado.


¿Confundirá al parser o al programador? ¿A ambos?

¿Cómo es la sintaxis para crear objetos múltiples?


Arriba
 Perfil  
 
NotaPublicado: 13 Dic 2011 22:08 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
Confundirá al programador, al parser le da igual.

Ahora mismo estoy un poco liado como para pasarte la manera de crear objetos múltiples, pero vendría a ser más o menos crear un objeto individual y hacer los new() que te hagan falta. No es exactamente así, pero para que te hagas una idea.

El tema es más que nada una cuestión de estilo, porque funcionar, funciona bien. Todo esto lo comento yo porque los aventureros vienen y van, pero el parser queda. Si un día yo desaparezco no estaría bien dejar una librería que no le guste a nadie.


Arriba
 Perfil  
 
NotaPublicado: 13 Dic 2011 22:44 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1955
Comely escribió:
Confundirá al programador, al parser le da igual.

[...]la manera de crear objetos múltiples, [...] vendría a ser más o menos crear un objeto individual y hacer los new() que te hagan falta. No es exactamente así, pero para que te hagas una idea.


Si la diferencia es tan notoria... personalmente no me preocuparía por el posible intento de crear un múltiple con la sintaxis del individual... Son "declaraciones" diferentes y como tal lo tendrá que entender el programador.

Comely escribió:
El tema es más que nada una cuestión de estilo, porque funcionar, funciona bien. Todo esto lo comento yo porque los aventureros vienen y van, pero el parser queda. Si un día yo desaparezco no estaría bien dejar una librería que no le guste a nadie.


Lo reposasé un poco más e intentaré crearme una opinión. Visualmente, sin estar acostumbrado a la sintaxis, las barras y los asteriscos no me dan una sensación de estructura [a veces hay que usar símbolos para separar (barras), otras no]. Sí me gusta que haya que escribir muy poco. ¿Hasta qué punto es la sintaxis modificable? Supongo que prefieras no hacerla muy diferente a la actual.

Seguro que hay decisiones de diseño y ventajas en casos extremos (corner-cases) que sólo podremos entender conociendo la historía que llevó a esa sintaxis. Lo interesante sería saber si es flexible para castellano...

¿Hay soporte para mezclar géneros? ¿Es necesario? Echo en falta artículos en los plurales.

En concreto: ¿Cómo diferencia el género de fruta vs. cítrico?

Código:
un fruto una naranjota una naranja / grande / gran * naranjas fruta cítrico


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 09:04 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
dddddd escribió:
Lo reposasé un poco más e intentaré crearme una opinión. Visualmente, sin estar acostumbrado a la sintaxis, las barras y los asteriscos no me dan una sensación de estructura [a veces hay que usar símbolos para separar (barras), otras no]. Sí me gusta que haya que escribir muy poco. ¿Hasta qué punto es la sintaxis modificable? Supongo que prefieras no hacerla muy diferente a la actual.

Los asteriscos y las barras es lo que se usa en el original, se mantienen por esa misma razón. La sintaxis es modificable a lo que se quiera, siempre que no me lleve mucho trabajo programarlo :) Aún así, para no romper el tono con el original, preferiría mantener el formato lo máximo que sea posible.

dddddd escribió:
Seguro que hay decisiones de diseño y ventajas en casos extremos (corner-cases) que sólo podremos entender conociendo la historía que llevó a esa sintaxis. Lo interesante sería saber si es flexible para castellano...

No conozco la historia que llevó a Michael a usar este formato (de hecho el original no es igual, ya que los adjetivos se colocan delante). Supongo que es el que le gustaba.

dddddd escribió:
¿Hay soporte para mezclar géneros? ¿Es necesario?

¿A qué te refieres con lo de mezclar géneros? ¿a que un nombre pueda tener más de un género?

dddddd escribió:
Echo en falta artículos en los plurales.

En concreto: ¿Cómo diferencia el género de fruta vs. cítrico?

No son necesarios, porque como ya expliqué antes, no son "plurales" sino marcas de conjuntos que son tratados individualmente. Lo explico con un ejemplo:

Código:
una naranja / valencia / late * naranjas fruta frutas cítricos
una manzana / royal / gala * manzanas fruta frutas
un pomelo / sanguino * pomelos fruta frutas cítricos

El resultado sería:

Código:
>coger fruta

naranja: Cogida.
manzana: Cogida.
pomelo sanguino: Cogido.

>dejar cítricos

naranja: Dejada.
pomelo sanguino: Dejado.


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 09:41 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 23 Mar 2010 20:11
Mensajes: 1141
Ubicación: Valencia
Supongo que dddddd se refiere a, por ejemplo, "el mar" y "la mar".

O el caso de "una pistola" y "un revolver"... si se pueden definir en la misma línea.

_________________
El humor existe para recordarnos que por muy alto que sea el trono en el que uno se siente, todo el mundo usa su culo para sentarse.


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 09:50 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
Un revólver y una pistola sí, está puesto en el ejemplo de arriba:

Código:
'un fruto una naranja / grande / gran * naranjas fruta cítrico'

También se pueden definir objetos con diferente número:

Código:
'un ropaje unos ropajes una ropa unas ropas / viejo / viejos / vieja / viejas'

En el caso de 'el mar' y 'la mar' se podrían definir, aunque cuando el jugador se refiriera a ello en sus comandos, el parser cogería el primero que se hubiera definido, sin tener en cuenta el artículo. Pero eso sucedería en el resto de sistemas actuales, ¿no?


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 10:20 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Yo veo la sintaxis bien para las naranjas; pero ¿cómo se trataría el caso de los nombres propios? ¿Habría que poner "un Manolo" para que se sepa que Manolo es masculino? ¿Y cómo distingue luego TADS que el nombre es propio para no poner el artículo en las descripciones?

P.D: curioso el gran parecido con AGE, el tema de los plurales funciona exactamente igual (y no, no lo copié en su momento :D)

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 10:34 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
Al-Khwarizmi escribió:
Yo veo la sintaxis bien para las naranjas; pero ¿cómo se trataría el caso de los nombres propios? ¿Habría que poner "un Manolo" para que se sepa que Manolo es masculino? ¿Y cómo distingue luego TADS que el nombre es propio para no poner el artículo en las descripciones?

¡Eso ya lo tengo hecho, hombre!

Los nombre propios se ponen sin artículo y el mismo sistema se encarga de no ponerlo. El sexo se define con las propiedades 'isHim', 'isHer' e 'isIt' (en el caso de un ser asexuado). Incluso se podría definir un ser con nombre propio que tuviera que tratarse en plural con la propiedad 'isPlural'. Altamente improbable, pero recuerdo un personaje de "La Historia Interminable" al que se trataba de esta manera.

Como podeis imaginar, todas esas propiedades son reutilizadas de la librería inglesa, en la que tienen un uso totalmente distinto. Ahí me he pasado la compatibilidad por el forro, pero me parecía la mejor manera. Mejor usarlas para eso que tener unas propiedades muertas de risa.


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 11:59 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Pues entonces me parece bien esa sintaxis, la verdad. Lo de confundir al usuario... bueno, el usuario se tendrá que leer la documentación o aprender a usarlo, como siempre. Yo no veo formas mucho más sencillas de hacerlo que a la vez tengan la misma expresividad, y TADS no es Papaíto.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 13:28 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1955
Comely escribió:
Código:
'nombre nombre nombre / adjetivo / adjetivo / adjetivo * plural plural'

dddddd escribió:
¿Hay soporte para mezclar géneros? ¿Es necesario? Echo en falta artículos en los plurales.
En concreto: ¿Cómo diferencia el género de fruta vs. cítrico?
Código:
un fruto una naranjota una naranja / grande / gran * naranjas fruta cítricos


Comely escribió:
No son necesarios


Me refería a la parte del plural en los singulares. Gracias por las explicaciones. Entiendo que en el caso de esos 'plural' (mejor llamado conjunto) el parser no tiene en cuenta el artículo en casos como "coger [toda] la fruta" ó "coger [todos] los cítricos".

Puestos a proponer una alternativa, por aquello de tener un contrapunto (es mejor mentenerse lo más cercano al original en inglés, pero si ya hay un ligero cambio en el orden, quizás otro no le haría daño):

Código:
'nombre, nombre, nombre / adjetivo, adjetivo, adjetivo * plural, plural'
El motivo: generalizar el separador dentro de cada sección (la coma) y todavía poder detectar los grupos (primero los nombres y luego tras la barra los adjetivos y/o tras el asterisco los plural-conjunto).

Sé que en los nombres el artículo es obligatorio y sirve como separador, pero esta sintaxis propuesta me parece más... no sé... predecible. Por supuesto, siéntete libre para ignorar la propuesta (puede ser una locura si cada uno empezamos a proponer una ligeramente diferente) pero, al pedir opiniones, alguna puede aparecer :P


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 13:38 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1955
Y ahora, tomaré otra opinión....
Comely escribió:
de hecho el original no es igual, ya que los adjetivos se colocan delante


Eso explica que la barra se utilice para separar cada adjetivo. En el original no empezaban los nombres hasta que acababan las barras, y creo que por eso se ha de repetir.

En castellano puede parecer menos normal poner los adjetivos delante y supongo que ese es el motivo de tu cambio en el orden. Dificultará hasta cierto punto las posibles traducciones, que aún siendo uno de los múltiples cambios a afectuar, sería uno inevitable para cada uno de los objetos (que es de lo que más suele haber)... ¿Merecerá la pena tener eso en cuenta o las traducciones serán las menos y mejor no darle ningún peso a esa posibilidad?

0.02


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 13:49 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 27 Ene 2010 20:38
Mensajes: 1524
TADS3 no es el Papaíto, eso está claro. Gracias, Al-Khwarizmi.

Lo de usar sólo una barra '/' al inicio para separar los adjetivos en lugar de una para cada uno es algo que estaba sopesando. No me desagrada lo de las comas como separador, pero igual se puede dejar sin. Para ahorrar trabajo al crear objetos, más que nada, cuanto más tipeo se pueda ahorrar uno, mejor. Michael en ese aspecto lo tiene claro y me parece adecuado seguir esa filosofía.

En cuanto a lo que comentas, yo creo que hay que dar prioridad a las aventuras nuevas respecto a las traducciones. Más que nada porque he traducido TADS para uso propio y no tengo intención de hacer ninguna :)


Arriba
 Perfil  
 
NotaPublicado: 14 Dic 2011 20:09 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
¿Soy el único al que esta sintaxis le parece poco intuitiva y/o fácil de olvidar?

En la mayoría de sistemas esos atributos se definen con propiedades separadas (en este caso de tipo lista) identificadas con un nombre, ejemplo:

Código:
nombres=nombre1,nombre2,nombre3
adjetivos=adjetivo1,adjetivo2,adjetivo3
plurales=plural1,plural2,plural3


Lo que facilita a quién lee el código saber qué es exactamente lo que se está definiendo.

Aparte si por alguna razón queremos cambiar esos atributos en tiempo de ejecución, con el sistemas de la cadena única, ¿se podría cambiar esa cadena?, ¿habría que parsearla para cambiar una palabra por otra? A priori lo veo más inflexible.

Por supuesto si es por ser fiel al formato original de TADS, creo que no hay nada más que discutir pero no deja de sorprenderme que esto sea así en un sistema que tiene bastante buena fama.


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

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados


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