Completed

Lenguajes Automatas

Published on the October 12, 2017 in IT & Programming

About this project

Open

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)

Category IT & Programming
Subcategory Desktop apps
What is the scope of the project? Create a new app
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Required platforms Windows

Delivery term: October 17, 2017

Skills needed