• Jueves 2 de Mayo de 2024, 21:09

Autor Tema:  GENERADOR DE PALABRAS  (Leído 3095 veces)

luis8sl

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
GENERADOR DE PALABRAS
« en: Domingo 2 de Noviembre de 2008, 18:28 »
0
Buenas, aver si alguno me podeis ayudar, tengo que hacer lo siguiente, programar en delphi un generador de palabras construido a partir de una gramática de tipo 3 Lineal Derecha (G3LD) y que denominaremos gramática de diálogo. La longitud de las palabras generadas será de 2 a 6. Tengo que leer la gramatica del fichero y apartir de ahi con las producciones ir cambiandolos para crear todas las palabras posibles con los terminales. La gramatica seria de este estilo:
a b c
A B C D E
S
S::=aA
A::=b
A::=c
A::=bB
A::=cB
B::=a
B::=aC
C::=b
C::=c
C::=bD
C::=cD
D::=a
D::=aE
E::=b
E::=c

Y para los que no sepas de que va lo de las gramaticas, y aver si me pueden ayudar,les digo, que generar una palabra es ir sustituyendo las letras mayusculas(simbolos no terminales) de la derecha por minusculas(simbolos terminales), para crear todo tipo de palabras, como por ejemplo:
una palabra que generaria de la gramatica anterior podria ser ab, xo tambien podria generar ac, o tambien puede generar acB, es decir, ir sustiyendo dicha letra mayuscula (simbolos no terminal) por las posibilidades que ofrezca dicho simbolo, asi con todas hasta poder formar todas las palabras posibles, siempre acabando en minusculas (simbolos terminales). Haber si alguno me puede ayudar. Gracias

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: GENERADOR DE PALABRAS
« Respuesta #1 en: Domingo 2 de Noviembre de 2008, 18:54 »
0
Hazlo con una máquina de estados.

luis8sl

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: GENERADOR DE PALABRAS
« Respuesta #2 en: Domingo 2 de Noviembre de 2008, 21:17 »
0
si eso ya lo habia pensado hacerlo asi, pero la cuestion es que nose como programarlo...

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: GENERADOR DE PALABRAS
« Respuesta #3 en: Lunes 3 de Noviembre de 2008, 12:33 »
0
Pues con procedimientos que representen los estados.

luis8sl

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: GENERADOR DE PALABRAS
« Respuesta #4 en: Lunes 3 de Noviembre de 2008, 12:37 »
0
pero es que en realidad no necesito estados, porque lo que realmente tiene que hacer la funcion es sustuir y sustuir, no entiendo para que tengo que hacer una maquina de estados..nose, es que soy bastante novato en delphi, y por eso nose que hacer..

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: GENERADOR DE PALABRAS
« Respuesta #5 en: Lunes 3 de Noviembre de 2008, 12:54 »
0
Cita de: "luis8sl"
si eso ya lo habia pensado hacerlo asi
Cita de: "luis8sl"
es que en realidad no necesito estados, porque lo que realmente tiene que hacer la funcion es sustuir y sustuir, no entiendo para que tengo que hacer una maquina de estados
Aclárate...

Necesitas un autómata finito (o máquina de estados) porque son los que descomponen los leguajes. Igual puedes hacerlo sin autómatas (en realidad sería un autómata simplificado) pero te aconsejo que lo hagas con estados, así entenderás mejor las gramáticas posteriores más avanzadas (L2, L3...) y sólo tendrás que ampliar el autómata que ya tengas.