Terminado

Lenguajes Automatas

Publicado el 12 Octubre, 2017 en Programación y Tecnología

Sobre este proyecto

Abierto

Emulador automata de pila

definicion

el estudiante debe desarrollar un programa escrito en lenguaje c o c++ que sea capaz de leer desde un archivo de texto la definición de un autómata de pila. Para leer el archivo debe de estar la opción de preguntar al principio del programa el nombre del .txt que desea abrir. Una vez cargada la definición, el programa mostrará la pila en pantalla, permitiendo al usuario ingresar desde teclado una cadena de caracteres del alfabeto contenido en la definición previamente cargada.


El programa NO debe aceptar el ingreso de símbolos que no pertenezca al alfabeto, esto se deduce a partir de la definición del autómata previamente cargado. Se dará por concluido el ingreso de los caracteres cuando el usuario presione la tecla de ENTER.

Al terminar de ingresar la cadena y haber presionado ENTER deben aparecer dos opciones:
    1. Mostrar Procesamiento Automático. (Simular automáticamente el comportamiento de la pila.)

    2. Mostrar Procesamiento Manual. (Al presionar cada ENTER tiene que mostrar el siguiente paso del procesamiento de la pila.)

El programa deberá mostrar en pantalla el procesamiento de los caracteres de la entrada, así como el comportamiento de la pila, hasta que se alcance un estado de aceptación o se llegue a algún punto en el que no se puede hacer otro movimiento.

formato archivo de entrada

la definición del ap será mediante la lectura de una tabla de transición desde un archivo de texto, existirá una transición por línea en el archivo y los elementos de la transición estarán separados por espacios en blanco o tabuladores. En el archivo de entrada se pueden adicionar comentarios, estos comentarios empezarán con los símbolos /+, tomando como comentario todos los caracteres que vengan a continuación hasta que se encuentre el símbolo de fin de línea. La cadena vacía se representará con el símbolo $.
A continuación, se muestra un ejemplo del formato del archivo de entrada:

EJEMPLO DEL ARCHIVO DE TEXTO

/+ Esta es una definición de un Autómata de Pila
/+ para el curso de Lenguajes Formales y Autómatas
/+ Este autómata reconoce una cadena palíndroma de símbolos a’s y b’s y una c al
/+ centro de la cadena

S = {q0,q1,q2}
S0 = {q0}
A = {a,b,c}
AC = {Z0}
T = {q2}
Z0 = {Z0}

q0     a     Z0     (a,Z0,q0)
q0    a     a     (a,a,q0)
q0     c     Z0     ($,Z0,q1)
q0     c     a     (a,Z0,q1)
q1     b     a     ($,$,q1)
q1     $     Z0     ($,Z0,q2)

Categoría Programación y Tecnología
Subcategoría Aplicaciones de escritorio
¿Cuál es el alcance del proyecto? Crear una aplicación nueva
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Plataformas requeridas Windows

Plazo de Entrega: 17 Octubre, 2017

Habilidades necesarias