Está en la página 1de 3

//Rivera Hernandez Sandra Yislene, Rojas Vargas, Ascencio Morales

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include "../mibiblioteca/PilaT.h"
#include "../mibiblioteca/ColaT.h"

using namespace std;

template <typename T>


void guardaEnCola(ColaT<T>& CT1);

template <typename T>


void verifica(ColaT<T>& CT1);

int main()
{
ColaT <string> CT1;
PilaT <string> PT1;
guardaEnCola(CT1);
return 0;
}

template <typename T>


void guardaEnCola(ColaT<T>& CT1)
{
stringstream SS;
string palabra;
string a= " Proceso Ejemplo1";
string b= " Definir i Como Entero;";
string c= " Definir j Como Entero;";
string d= " Para i <- 0 Hasta 10 Con Paso 1 Hacer";
string e= " Si i MOD 2 = 0 Entonces";
string f= " j <- i;";
string g= " Escribir \"j: \", j";
string h= " Mientras j > 0 Hacer";
string i= " Escribir \"Hola mundo\"";
string j= " j <- j-1;";
string k= " FinMientras";
string l= " FinSi";
string m= " FinPara ";
string n= " FinProceso";
string r=a+b+c+d+f+g+h+i+j+k+l+m+n;
SS.str(r);
while( SS >> palabra)
{
if(palabra == "Proceso"
||palabra == "Para"
||palabra == "Si"
||palabra == "Mientras"
||palabra == "FinMientras"
||palabra == "FinSi"
||palabra == "FinPara"
||palabra == "FinProceso")
{
CT1.suma(palabra);
}
}
}

template <typename T>


void verifica(ColaT<T>& CT1)
{
PilaT <string> PT1;
string Palabra1;
string Palabra2;
string Palabra3;
bool bandera;
if(!CT1.colaVacia() && bandera == true)
{
CT1.suma(Palabra1);

if(Palabra1 == "Proceso"
|| Palabra1 == "Para"
|| Palabra1 == "Si"
|| Palabra1 == "Mientras")
{
PT1.push(Palabra1);
}
else
{
if(!PT1.pilaVacia())
{
bandera = false;
}
else
{
PT1.push(Palabra2);
Palabra3 = "Fin" + Palabra2;
if(Palabra1 != Palabra3)
{
bandera = false;
}
}
}
if(!PT1.pilaVacia() && bandera == true)
{
cout << "Palabras Completas";
}
else
{
cout << "Error de sintaxis";
}
}
}

También podría gustarte