[C con Clase] necesito ayuda, urgente para mañana

Steven Davidson steven en conclase.net
Sab Ene 13 01:50:04 CET 2007


Hola Anónimo,

El pasado 2007-01-12 23:07:50, anónimo escribió:
 
a> Hola necesito q me ayuden, tengo que hacer un programa con este bnf
a> S---->A/B/e
a> A----> abA/B/ab
a> B----> baB/A/ba

Sugiero implementar funciones para cada regla de producción. Por ejemplo,

enum estado_t { ESTADO_ERROR, ESTADO_S, ESTADO_A, ESTADO_B };

estado_t S( char *pszEntrada, int &indice_ref );
estado_t A( char *pszEntrada, int &indice_ref );
estado_t B( char *pszEntrada, int &indice_ref );

Según el estado en que nos encontramos, comprobamos si tal regla de producción es válida o no. También sugiero cambiar de BNF a EBNF. Por ejemplo,

A <-- {ab} | B
B <-- {ba} | A

Esto implicaría que la implementación consistiría de un bucle para {ab}.


Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase