Closed DavidENicolasC closed 9 months ago
Hice algunas pruebas y el único error que encontré es cuando creas un while y no lo cierras con la segunda '}', lo muestra así:
=> G
=> while(C){G}
=> while(CR){G}
=> while(ID OR NE){G}
=> while(ID == NE){G}
=> while(ID == NE){G
=> while(ID == NE){ID = S
=> while(ID == NE){ID = NE;
=> while(ID == NE){ID = NE;G
=> while(ID == NE){ID = NE;ID = S
=> while(ID == NE){ID = NE;ID = NE;
El archivo fuente era:
while( a == 2 )
{
y = 8;
a = 4;
Y en cambio cuando lo que haces es no cerrar los parentesis, si imprime error sintáctico:
=> G
=> while(C){G}
=> while(CR){G}
Error Sintactico: Se esperaba un parentesis de cierre o una expresion logica
Como se comentó, la gramática while() reconoce las condiciones anidadas.
Para el siguiente programa:
Se muestra solamente la derivación para la estructura while(), por simplicidad.
Nota: Como se mencionó, la gramática while(), por el momento requiere que se escriban las expresiones condicionales con espacios entre los paréntesis, como en el ejemplo de arriba.