Ayuda de Idiomak
Por Pablo Barenbaum, v.3.00
- Introducción
- Léxicos
- Lenguajes
- Raíces
- Lenguas
- Cambios de Sonido
- Tablas
- Comandos
- Gramática
- Introducción:
Cuando se construye un lenguaje,
se suelen seguir ciertos pasos que no voy a detallar aquí, pero voy a mencionar
a rasgos generales. Este programa no intenta reemplazar todas las funciones que
un verdadero constructor de lenguajes hace; se limita a facilitar algunas
que pueden resultar las más tediosas o mecánicas.
Quede claro que llamo "idiomas" al conjunto de todos los componentes que
aparecen en el programa. Aunque la definición de idioma no sea exactamente
esta, lo hago para diferenciarlo bien de los "lenguajes" y las "lenguas"
(y estas palabras tampoco están bien utilizadas) a falta de mejores
sinónimos.
Para construir un lenguaje, suele establecerse primero el sistema fonológico,
esto es cuáles son los sonidos que sus hablantes pronuncian y distinguen
y cómo se organiza la estructura de sus sílabas. Se puede inventar o no
también un sistema de escritura distinto al nuestro, pero eso es un paso
que no se contempla en el programa. Tras crear el sistema fonológico se
debe construir una gramática. Esto es decidir (al menos a grandes rasgos)
qué tipo de lengua será y luego definir las clases de palabras existentes,
las flexiones de éstas, el orden de los compuestos y otros detalles menores
(menores pero sin embargo importantes).
Una vez hecha la base, se comienza a construir el léxico, que podría ser
simplemente una serie de palabras al azar (siempre respetando el sistema
fonológico definido), pero es conveniente consista en cierta cantidad
de raíces derivadas para formar el léxico propiamente dicho. Para esto hay
que inventar una palabra madre de la que surgen las posteriores
(para un ejemplo claro, mover > moción, promover, promoción, remover, etc.)
preferiblemente (para mi gusto) con afijos regulares (no necesariamente
regulares en cuanto a su forma sino en cuanto a su uso).
Un último paso es construir una familia de lenguas (como el español y el
francés derivan del latín, el inglés y el alemán del germánico y a su
vez el latín y el germánico del proto-indoeuropeo, al menos según las
actuales teorías).
- Léxicos:
Los primeros componentes de los idiomas
en el programa son los léxicos, consistentes simplemente en una palabra por línea
(separadas por "enters"). Las líneas se pueden editar a mano o resultar de otros
procesos. Se pueden importar léxicos (y todos los otros componentes) desde el
menú.
- Lenguajes:
Los segundos componentes de los idiomas
son los lenguajes. Un lenguaje sirve para crear un léxico al azar basado en un
sistema fonológico determinado. Al abrir un lenguaje se despliega un diálogo en el que hay
dieciséis cuadros similares. En estos, el cuadro que permite seleccionar una letra
o número es el identificador. Dentro del cuadro de texto se deben escribir
las letras que corresponden a esa categoría separadas por comas ",".
Una vez definidos los identificadores y contenidos (tantos como sean necesarios),
se define la estructura silábica (en el cuadro de texto abajo), que consiste
en series de identificadores ordenados como correspondan separados por comas
",". El programa selecciona una de estas estructuras al azar y una letra al
azar dentro de cada categoría presente.
Se pueden determinar caracteres literales incluyendo en la estructura de la
sílaba el caracter.
Se define la cantidad mínima y máxima de sílabas que forman una palabra (puede
ser una sola), la cantidad de palabras que se quieren crear y el léxico donde
quedarán las palabras construídas. Se presiona generar léxico para obtener el
resultado (para verlo, se debe ir a "Léxicos" y allí abrir el que fue elegido
como destino).
- Raíces:
Los terceros componentes de los idiomas
son las raíces. Las raíces sirven para crear un léxico estructurado y no
elaborado simplemente en forma azarosa. Cuando se abre una raíz se despliega
un cuadro. Sobre los cuatro cuadros de texto se deben escribir respectivamente
la primera clave, la segunda clave, la palabra y el nivel. Las primera y segunda
claves consisten en cualquier palabra o cadena. Es conveniente que la segunda
clave sea la palabra en español (o al que se quiera traducir). La primera clave
puede ser un número ordinal, una palabra en otro idioma o cualquier cadena
deseada. La palabra consiste en una serie de componentes que indican cómo se
forma la palabra. Para seleccionar una palabra al azar se pone un cero "0".
Si se quiere poner una cadena literal se escribe directamente. Para sumar
componentes, se escribe un más "+" entre ellos (por ejemplo "duk+0" indicará
que la palabra será "duk" y un componente al azar). Las palabras formadas
sólo por componentes al azar y cadenas literales son de nivel 1.
Si se quieren formar compuestos de raíces ya existentes, se usan dos símbolos
especiales. Lo explicaré con un ejemplo: creo la raíz "belleza" con clave
1 = "1", clave 2 = "belleza", palabra = "0", nivel = "1"; creo la raíz
"negativo" con clave 1 = "2", clave 2 = "negativo", palabra = "0", nivel = "1".
Si deseo crear la palabra fealdad, podría crear una nueva raíz (cosa no
tan extraña en el caso particular) o componer la palabra. Para esto pondría
clave 1 = "3", clave 2 = "fealdad" y en palabra ubico primero una raíz y luego
la otra (en el orden deseado). Para remitirme a la raíz "belleza" puedo poner
el signo cardinal "#" antes que su clave primera "#1" o el signo de dólar "$"
antes que su clave segunda "$belleza". Para remitirme a la raíz "negativo" puedo
poner el signo cardinal "#" antes que su clave primera "#2" o el signo de dólar "$"
antes que su clave segunda "$negativo". Quedaría entonces la palabra formada
como "$belleza+$negativo" o "#1+#2" o sus combinaciones. En cuanto al nivel,
debe ser mayor a la palabra que lo compone de mayor nivel. En este caso, las
palabras que lo componen de mayor nivel, son de nivel 1, por lo tanto el nivel
sería "2".
Una vez creadas las raíces, se especifica el léxico de origen de las palabras
al azar que se usarán (preferentemente de una sílaba para que los compuestos
no sean muy largos) y la lengua de destino. El orden de los
modificadores puede ser "AM" (queda igual) o "MA" (se invierte). De esta manera
podrían crearse varias lenguas basadas en las mismas raíces pero en distintos
léxicos.
- Lenguas:
Los cuartos componentes de los idiomas
son las lenguas. Las lenguas son muy similares a las raíces. Consisten en
una clave primera (igual a la de las raíces), una clave segunda (igual a
la de las raíces) y una palabra que consiste en la palabra directamente
en el lenguaje construído. Las lenguas son el resultado de generar lenguas
a partir de raíces, pero pueden modificarse a mano en este estado. Personalmente,
no las uso mucho.
- Cambios de Sonido:
Los quintos componentes de
los idiomas son los cambios de sonido. Las lenguas evolucionan y se diversifican.
Sus sistemas fonológicos cambian surgiendo dialectos distintos y si esto no
se controla, se transforman en distintas lenguas. Los cambios de sonido consiten
en reglas que permiten alterar en forma regular los léxicos. Cuando se abre un
cambio de sonido se despliega un diálogo. En el cuadro de texto principal se
deben escribir las reglas, separadas por comas ",". Las reglas simples respetan
el formato original>destino, en el que original es el sonido original y destino
el sonido cambiado. Por ejemplo si toda "p" cambia a "b" se debe escribir
"p>b". Pueden escribirse grupos de sonidos. Por ejemplo, toda "p" cambia a
"b" antes de "a", se escribe "pa>ba". Puede haber sonidos que desaparezcan.
Para indicar el comienzo y el fin de una palabra se utiliza el cardinal
"#". Si todo "fa" se transforma a "ha" al principio de la palabra, se
escribe "#fa/#ha". Si todo "os" se transforma en "us" al final de la
palabra, se escribe "os#/us#".
Existen otras reglas, las reglas complejas, que permiten otros dos implementos.
Se pueden definir variables y determinar el ambiente o fonemas que lo
rodean. Las variables son una letra que funciona como identificador
de otras y respeta la forma identificador=definición. Por ejemplo, si
se desea definir una variable que contenga a todas las consonantes labiales
en español, llamada B, se hará "B=pbm". Nótese que los identificadores
constan de un único caracter.
Los cambios de sonido complejos se determinan de modo distinto a los simples,
respetando la forma original/destino/ambiente, que pueden poseer variables.
El ambiente debe tener un subrayado "_" reemplazando al lugar que corresponde
al original. Notar que tanto el original como el destino deben tener una
única letra.
Por ejemplo, para "cambiar toda p intervocálica por b", se escribe
"V=aeiou,p/b/V_V", en el que se incluye la definición de la variable
V "V=", que consta de las vocales "aeiou", y el cambio complejo de p "p",
por b "b" cuando se encuentre entre dos vocales "V_V". Para "cambiar
toda consonante sorda por sonora cuando se encuentre entre dos
vocales" se escribiría "S=ptks,Z=bdgz,S/Z/V_V". Notar que la
matriz de origen (S) debe tener la misma cantidad de letras que la
de destino (Z), para evitar errores. Es importante que las definiciones
de variables estén antes que los cambios. Pueden indicarse al igual
que en los cambios simples, los comienzos y finales de palabra con
el signo cardinal "#".
Además de cambios de sonido simples y complejos, puede añadirse en
todo cambio un sufijo o prefijo con el símbolo más "+". Por ejemplo,
para que a toda palabra se agregue como prefijo ak- y como sufijo
-til, se escribirá "ak+til". Pueden también restarse sufijos y
prefijos (para restar los del ejemplo anterior, "ak-til").
Las formas del cambio de sonido pueden combinarse entre sí.
Por ejemplo "V=aeiou,W=áéíóú,V/W/_#,pe>be,+i".
Una vez determinadas las reglas de cambio de sonido, se especifica el léxico
que contiene las palabras de la lengua madre y el léxico que contendrá
las palabras de la lengua hija y se presiona "Aplicar".
- Tablas:
Los sextos componentes de los idiomas
son las tablas. Las tablas son simples archivos de texto, en las que se
pueden almacenar distintas cosas, como diccionarios, notas y textos planos.
También sirven como lugares para almacenar información transitoria o cualquier
información que el usuario desee.
- Comandos:
Los comandos son ciertas acciones que
se pueden ejecutar para afectar la información de léxicos y tablas.
- Redistribución de datos: sirve para cambiar de lugar la información.
Las uniones/separaciones sirven para unir dos léxicos en una tabla o para
separar una tabla en dos léxicos por medio de una cadena separadora
como puede ser " = ", " > " o "%". Se puede usar para crear diccionarios
o tablas de léxicos (usadas en las traducciones). Las exportaciones
sirven para transformar un léxico en una tabla o viceversa, para el
caso en que esto sea necesario (por ejemplo, si se quieren unir tres
léxicos en una tabla, primero se debe exportar una tabla de dos
léxicos como si fuera un léxico y luego unirla con otro). Las adiciones
sirven para unir dos léxicos en una tabla; es útil para crear importaciones
de otros lenguajes construídos (como el español recibió del árabe palabras
que no existían). Las transformaciones sirven para transformar una tabla
a una raíz o a una lengua o viceversa.
- Modificación de datos: sirve para cambiar la información propiamente
dicha. Las transformaciones pasan un léxico de mayúsculas a minúsculas
o viceversa y quitan los espacios laterales. Los ordenamientos ordenan
una tabla por orden alfabético línea por línea.
- Combinación de datos: sirve para crear una tabla a partir de léxicos
seleccionados en base a porcentajes (por ejemplo, si se elige un léxico
de 10 líneas y se establece un porcentaje de 30% y otro léxico de 10 líneas
y se establece un porcentaje de 70%, podría generarse una tabla con 3 líneas
del primero y 7 del segundo; las combinaciones pueden no respetar exactamente
el porcentaje ya que se basan en cálculos con números al azar). Es útil para
mezclar lenguajes que conviven en determinada zona y ponerle un porcentaje
bajo al del pueblo menos culto o sometido.
- Traducción de datos: sirve para traducir una tabla a otra con las
correspondientes flexiones y vocabulario. En gramática de origen se debe
poner una clave de tres letras y en gramática de destino otra clave
de tres letras; representan a la gramática que se usará al traducir los
textos. La tabla de léxicos corresponde al nombre de la tabla en la que
está el diccionario de los términos. La tabla debe tener tres partes
separadas por el símbolo de porcentaje "%", correspondientes a clase
de palabra (un sólo caracter), palabra en lenguaje de origen y palabra
en lenguaje de destino. Por ejemplo: "n%flor%toulthoupia": "nombre sustantivo",
"flor", "toulthoupia". En tabla de origen se debe poner el nombre de la
tabla donde está el texto a traducir y en tabla de destino el nombre
de la tabla donde quedará el texto traducido.
- Gramática:
- Morfología: es un texto en el que se deben ubicar las flexiones
de los idiomas que se desea participen en las traducciones. En el
texto puede haber comentarios (líneas precedidas por una comilla simple
"'") y líneas en blanco. Las líneas restantes son cabeceras o definiciones.
Las cabeceras son líneas que se ubican entre corchetes "[]" y en las
que se escribe en primer lugar la clase de palabra afectada (un único
caracter) y un identificador de la flexión. Por ejemplo, [nPl] implicaría
que las palabras afectadas son los nombres sustantivos ("n"), y la
flexión es el plural ("Pl"); obviamente los identificadores pueden ser
cualquier cadena, tenga o no que ver con la clase de palabra o la
flexión. Otro ejemplo sería "[vIFs1]", que implica a los verbos y
la flexión es "indicativo futuro simple primera persona".
Las definiciones son una línea con dos partes, separadas por un igual
"=". Las partes son el identificador de la gramática de tres letras
(utilizado en las traducciones) y la forma de las flexiones, en
el mismo formato que los cambios de sonido (sólo
se pueden utilizar las reglas simples, las reglas complejas quedan
limitadas a los cambios de sonido). Además se pueden agregar prefijos
y sufijos en la forma "prefijo+sufijo", o restar prefijos y sufijos en
la forma "prefijo-sufijo", además los cambios son estructurados, de
modo que hay grupos separados por punto y coma ";" y dentro de éstos,
grupos separados por coma ",". Si se cumple la primera condición del
grupo se realiza toda la serie de cambios. En caso contrario se continúa.
Por ejemplo:
[vIFs1]
esp=ar#>aré#;er#>eré#;ir#>iré
eng=I will +
Este ejemplo muestra la conjugación de los verbos en indicativo, futuro,
primera persona, en español e inglés. Por supuesto, habría que incluir abajo
otra definición del lenguaje construído correspondiente (o incluso de otro idioma
real si se quiere traducir de español a inglés y viceversa, por ejemplo).
El sistema de traducción es incompleto y complejo, especialmente con las
lenguas naturales debido a las irregularidades, pero puede servir.
- Sintaxis: se escribe de manera similar a la morfología. Consiste
en un texto con cabeceras y definiciones. Las cabeceras son líneas entre
corchetes "[]" con la descripción de la regla de sintaxis definida (en este
caso sin especificar el tipo de palabra a la que afecta). Las definiciones
tienen dos partes separadas por igual "=", que corresponden a la gramática
(clave de tres letras) la primera y a la regla propiamente dicha la segunda.
La regla propiamente dicha es el orden de los compuestos que se desea. Al
igual que en la morfología, se obvian aquellas líneas en blanco y aquellas
precedidas por punto y coma ";".
Por ejemplo:
[Modificadores]
esp=na
eng=an
Indicando que mientras en español los adjetivos se encuentran tras los nombres
y en inglés, éstos se encuentran antes de los nombres.
- Notas: son simples anotaciones y aclaraciones en forma de texto plano.