SlideShare una empresa de Scribd logo
1 de 3
REGLAS DE PRODUCCIÓN
Código:
#include <iostream>
#include <cstdlib>
#include <fstream>
void alfabeto();
void reglas();
FILE *doc;
using namespace std;
int buscar (string v, string salida);
int buscar2 (string v, string salida);
int main(int argc, char** argv) {
alfabeto();
cout<<"t***REGLAS DE PRODUCCION***n"<<endl;
reglas();
return 0;
}
int buscar (string v, string salida){
for(int i=0;i<salida.length();i++){
if(v.compare(salida.substr(i,1))==0){
return -1;
}
}
return 0;
}
void alfabeto(){
ifstream le("alfabeto.txt");
ifstream entrada("texto.txt");
ofstream salida("alfabeto.dat");
ifstream produc("reglas.txt");
ofstream sderecho("terminales.txt");
ofstream sizquierdo("noterminales.txt");
ofstream alfaprodu("alfabetoproducciones.txt");
char renglon [100],r[100];
string cad, alfabeto("");
string cadena1;
string letra;
le.getline(r,100);
cadena1=r;
while(!entrada.eof()){
doc=fopen("alfabeto.dat","a+");
entrada.getline(renglon,100);
cad=renglon;
cout<<renglon<<"t";
cout<<"Tamanio: "<<cad.length()<<endl;
for(int i=0;i< cadena1.length(); i++){
for(int j=0;j< cad.length(); j++) {
if(cadena1.substr(i,1).compare(cad.substr(j,1) )==0){
if(buscar(cadena1.substr(i,1),alfabeto )==0){
alfabeto+=cad.substr(j,1) ;
}
}
}
}
}
cout<<"tnALFABETO-->"<<endl;
cout<<alfabeto<<endl;
doc=fopen("alfabeto.dat", "a+");
salida<<alfabeto;
cout<<endl;
}
void reglas(){
ifstream le("alfabeto.txt");
ifstream entrada("texto.txt");
ofstream salida("alfabeto.dat");
ifstream produc("reglas.txt");
ofstream sderecho("terminales.txt");
ofstream sizquierdo("noterminales.txt");
ofstream alfaprodu("alfabetoproducciones.txt");
char renglon3[200],r[100];
string cad3, alfabeto3(" ");
string cadena1;
le.getline(r,100);
cadena1=r;
string esp(" "),ladoizquierdo(""),temp,de(""),temp2;
int simb,rango;
while(!produc.eof()){
doc=fopen("noterminales.txt","a+");
produc.getline(renglon3,200);
cad3=renglon3;
temp2.assign(cad3);
temp.assign(cad3);
simb=cad3.find("->");
if(simb<=1000 && simb>=0){
rango=cad3.length()-(simb);
temp2.erase(0,simb+3);
temp.erase(simb,rango);
ladoizquierdo+=temp+esp;
de+=temp2+esp;
}
else{
}
}
cout<<"nEstos son los simbolos no terminales de las reglas de produccion-->n "<<endl;
cout<<ladoizquierdo<<endl;
cout<<"nEstos son los simbolos terminales de las reglas de produccion-->"<<endl;
cout<<de<<endl;
sizquierdo<<ladoizquierdo;
doc=fopen("terminales.txt","a+");
sderecho<<de;
cout<<endl<<endl;
for(int i=0;i< cadena1.length(); i++){
for(int j=0;j< de.length(); j++) {
if(cadena1.substr(i,1).compare(de.substr(j,1) )==0){
if(buscar(cadena1.substr(i,1),alfabeto3 )==0){
alfabeto3+=de.substr(j,1) ;
}
}
}
}
cout<<"t***GRAMATICA***n"<<endl;
cout<<alfabeto3<<endl;
doc=fopen("alfabetoproducciones.txt","a+");
alfaprodu<<alfabeto3;
cout<<endl<<endl;
system("pause");
}
Pantalla de salida:

Más contenido relacionado

La actualidad más candente (18)

Jenni
JenniJenni
Jenni
 
Saia
SaiaSaia
Saia
 
Arbol binario
Arbol binarioArbol binario
Arbol binario
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
 
criptografiaV1
criptografiaV1criptografiaV1
criptografiaV1
 
Blog
BlogBlog
Blog
 
2... arbol binario
2... arbol binario2... arbol binario
2... arbol binario
 
5... reglas de produccion
5... reglas de produccion5... reglas de produccion
5... reglas de produccion
 
Prueba#3 erika quillupangui
Prueba#3 erika quillupanguiPrueba#3 erika quillupangui
Prueba#3 erika quillupangui
 
Codigos hanoi
Codigos hanoiCodigos hanoi
Codigos hanoi
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Ejer
EjerEjer
Ejer
 
Ejercicios de la prueba
Ejercicios de la pruebaEjercicios de la prueba
Ejercicios de la prueba
 
Feb28
Feb28Feb28
Feb28
 
Correccion de la prueba mfsi
Correccion de la prueba mfsiCorreccion de la prueba mfsi
Correccion de la prueba mfsi
 
JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++
 
Include
IncludeInclude
Include
 
6. RS232 interfaces ARDUINO - 2020
6. RS232 interfaces   ARDUINO - 20206. RS232 interfaces   ARDUINO - 2020
6. RS232 interfaces ARDUINO - 2020
 

Destacado

билеты по пдд 2011
билеты по пдд 2011билеты по пдд 2011
билеты по пдд 2011svetgav
 
билеты пдд2012 год
билеты пдд2012 годбилеты пдд2012 год
билеты пдд2012 годsvetgav
 
2014_02_03_Final_Presentation
2014_02_03_Final_Presentation2014_02_03_Final_Presentation
2014_02_03_Final_PresentationCheng Zhang
 
MA_Presentation_TUM
MA_Presentation_TUMMA_Presentation_TUM
MA_Presentation_TUMCheng Zhang
 
профилактика детского дорожно транспортного травматизма
профилактика детского дорожно транспортного травматизмапрофилактика детского дорожно транспортного травматизма
профилактика детского дорожно транспортного травматизмаsvetgav
 
фотоотчет первокласникам схема безопасного пути
фотоотчет  первокласникам схема безопасного путифотоотчет  первокласникам схема безопасного пути
фотоотчет первокласникам схема безопасного путиsvetgav
 
остановка общественного транспорта
остановка общественного транспортаостановка общественного транспорта
остановка общественного транспортаsvetgav
 
bilety po pdd 2010
bilety po pdd 2010bilety po pdd 2010
bilety po pdd 2010svetgav
 
Igra bezopasnost zto vazhno
Igra bezopasnost  zto vazhnoIgra bezopasnost  zto vazhno
Igra bezopasnost zto vazhnosvetgav
 
Iuid znatoki pdd
Iuid znatoki pddIuid znatoki pdd
Iuid znatoki pddsvetgav
 
Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...
Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...
Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...Nathaly Moreno Parra
 
Стихи об участниках дорожного движения
Стихи об участниках дорожного движенияСтихи об участниках дорожного движения
Стихи об участниках дорожного движенияsvetgav
 

Destacado (16)

PROFILE
PROFILEPROFILE
PROFILE
 
SHAHNAWAZ SHAIKH
SHAHNAWAZ SHAIKHSHAHNAWAZ SHAIKH
SHAHNAWAZ SHAIKH
 
билеты по пдд 2011
билеты по пдд 2011билеты по пдд 2011
билеты по пдд 2011
 
билеты пдд2012 год
билеты пдд2012 годбилеты пдд2012 год
билеты пдд2012 год
 
2014_02_03_Final_Presentation
2014_02_03_Final_Presentation2014_02_03_Final_Presentation
2014_02_03_Final_Presentation
 
MA_Presentation_TUM
MA_Presentation_TUMMA_Presentation_TUM
MA_Presentation_TUM
 
профилактика детского дорожно транспортного травматизма
профилактика детского дорожно транспортного травматизмапрофилактика детского дорожно транспортного травматизма
профилактика детского дорожно транспортного травматизма
 
фотоотчет первокласникам схема безопасного пути
фотоотчет  первокласникам схема безопасного путифотоотчет  первокласникам схема безопасного пути
фотоотчет первокласникам схема безопасного пути
 
Compost!
Compost!Compost!
Compost!
 
остановка общественного транспорта
остановка общественного транспортаостановка общественного транспорта
остановка общественного транспорта
 
bilety po pdd 2010
bilety po pdd 2010bilety po pdd 2010
bilety po pdd 2010
 
Igra bezopasnost zto vazhno
Igra bezopasnost  zto vazhnoIgra bezopasnost  zto vazhno
Igra bezopasnost zto vazhno
 
Iuid znatoki pdd
Iuid znatoki pddIuid znatoki pdd
Iuid znatoki pdd
 
Seminar_Final
Seminar_FinalSeminar_Final
Seminar_Final
 
Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...
Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...
Actividad de aprendizaje unidad 1 introduccion a los sistemas de gestion de l...
 
Стихи об участниках дорожного движения
Стихи об участниках дорожного движенияСтихи об участниках дорожного движения
Стихи об участниках дорожного движения
 

Similar a Reglas de producción

Similar a Reglas de producción (20)

6... producciones por derecha e izquierda
6... producciones por derecha e izquierda6... producciones por derecha e izquierda
6... producciones por derecha e izquierda
 
4... alfabeto de cadenas
4... alfabeto de cadenas4... alfabeto de cadenas
4... alfabeto de cadenas
 
Union y concatenacion
Union y concatenacionUnion y concatenacion
Union y concatenacion
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
PROYECTO DE LISTA LINEAL DOBLE
PROYECTO DE LISTA LINEAL DOBLEPROYECTO DE LISTA LINEAL DOBLE
PROYECTO DE LISTA LINEAL DOBLE
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Lw2010 Pedro Valera
Lw2010 Pedro ValeraLw2010 Pedro Valera
Lw2010 Pedro Valera
 
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En RedesLw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
 
Practicas programacion 1 10
Practicas programacion 1 10Practicas programacion 1 10
Practicas programacion 1 10
 
Practicas programacion 1 10
Practicas programacion 1 10Practicas programacion 1 10
Practicas programacion 1 10
 
Ficheros C++
Ficheros C++Ficheros C++
Ficheros C++
 
Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
Blog
BlogBlog
Blog
 
1... conversor de bases
1... conversor de bases1... conversor de bases
1... conversor de bases
 
Practica
PracticaPractica
Practica
 

Último

NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
memoria de la empresa Pil Andina para d
memoria de la empresa Pil Andina para  dmemoria de la empresa Pil Andina para  d
memoria de la empresa Pil Andina para dRodrigoAveranga2
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 

Último (6)

NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
memoria de la empresa Pil Andina para d
memoria de la empresa Pil Andina para  dmemoria de la empresa Pil Andina para  d
memoria de la empresa Pil Andina para d
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 

Reglas de producción

  • 1. REGLAS DE PRODUCCIÓN Código: #include <iostream> #include <cstdlib> #include <fstream> void alfabeto(); void reglas(); FILE *doc; using namespace std; int buscar (string v, string salida); int buscar2 (string v, string salida); int main(int argc, char** argv) { alfabeto(); cout<<"t***REGLAS DE PRODUCCION***n"<<endl; reglas(); return 0; } int buscar (string v, string salida){ for(int i=0;i<salida.length();i++){ if(v.compare(salida.substr(i,1))==0){ return -1; } } return 0; } void alfabeto(){ ifstream le("alfabeto.txt"); ifstream entrada("texto.txt"); ofstream salida("alfabeto.dat"); ifstream produc("reglas.txt"); ofstream sderecho("terminales.txt"); ofstream sizquierdo("noterminales.txt"); ofstream alfaprodu("alfabetoproducciones.txt"); char renglon [100],r[100]; string cad, alfabeto(""); string cadena1; string letra; le.getline(r,100); cadena1=r; while(!entrada.eof()){ doc=fopen("alfabeto.dat","a+"); entrada.getline(renglon,100); cad=renglon; cout<<renglon<<"t"; cout<<"Tamanio: "<<cad.length()<<endl; for(int i=0;i< cadena1.length(); i++){ for(int j=0;j< cad.length(); j++) {
  • 2. if(cadena1.substr(i,1).compare(cad.substr(j,1) )==0){ if(buscar(cadena1.substr(i,1),alfabeto )==0){ alfabeto+=cad.substr(j,1) ; } } } } } cout<<"tnALFABETO-->"<<endl; cout<<alfabeto<<endl; doc=fopen("alfabeto.dat", "a+"); salida<<alfabeto; cout<<endl; } void reglas(){ ifstream le("alfabeto.txt"); ifstream entrada("texto.txt"); ofstream salida("alfabeto.dat"); ifstream produc("reglas.txt"); ofstream sderecho("terminales.txt"); ofstream sizquierdo("noterminales.txt"); ofstream alfaprodu("alfabetoproducciones.txt"); char renglon3[200],r[100]; string cad3, alfabeto3(" "); string cadena1; le.getline(r,100); cadena1=r; string esp(" "),ladoizquierdo(""),temp,de(""),temp2; int simb,rango; while(!produc.eof()){ doc=fopen("noterminales.txt","a+"); produc.getline(renglon3,200); cad3=renglon3; temp2.assign(cad3); temp.assign(cad3); simb=cad3.find("->"); if(simb<=1000 && simb>=0){ rango=cad3.length()-(simb); temp2.erase(0,simb+3); temp.erase(simb,rango); ladoizquierdo+=temp+esp; de+=temp2+esp; } else{ } } cout<<"nEstos son los simbolos no terminales de las reglas de produccion-->n "<<endl; cout<<ladoizquierdo<<endl; cout<<"nEstos son los simbolos terminales de las reglas de produccion-->"<<endl; cout<<de<<endl;
  • 3. sizquierdo<<ladoizquierdo; doc=fopen("terminales.txt","a+"); sderecho<<de; cout<<endl<<endl; for(int i=0;i< cadena1.length(); i++){ for(int j=0;j< de.length(); j++) { if(cadena1.substr(i,1).compare(de.substr(j,1) )==0){ if(buscar(cadena1.substr(i,1),alfabeto3 )==0){ alfabeto3+=de.substr(j,1) ; } } } } cout<<"t***GRAMATICA***n"<<endl; cout<<alfabeto3<<endl; doc=fopen("alfabetoproducciones.txt","a+"); alfaprodu<<alfabeto3; cout<<endl<<endl; system("pause"); } Pantalla de salida: