Está en la página 1de 4

Compiladores C1113

Jesús Barboza (C.I: 30355420)

Explique brevemente el análisis sintáctico y semántico durante el proceso de


compilación.

Durante la fase del análisis sintáctico el compilador agrupa a los lexemas


jerárquicamente y los convierte en unos componentes gramaticales, los cuales son
utilizados para comparar con el lenguaje si son gramáticamente correctos. Por otro
lado, durante el análisis semántico el compilador se asegura que el código introducido
no contenga errores semánticos y que los datos introducidos sean soportados por el
lenguaje, usando la jerarquía previamente establecida durante el análisis sintáctico.

---------------------------------------------------------------------------------------------------------------------

Suma:

1100010101

+ 1011110001

11000000110

Resta:

101011001

- 10011100

10111101
Multiplicación:

1001001010

* 11010

0000000000

1001001010+

0000000000++

1001001010+++

1001001010++++

11101110000100

---------------------------------------------------------------------------------------------------------------------

Convertir a notación post-fija las siguientes expresiones:

 (4/2+3)^3 + (5+12)
+ + 12 5 ^ 3 + 3 / 2 4

4 2 / 3 + 3 ^ 5 12 + +

Comprobar:

(4/2) 3 + 3 ^ 5 12 + +

((4/2 + 3)) 3 ^ 5 12 + +

((4/2 + 3))^3 5 12 + +

((4/2 + 3))^3(5+12) +

((4/2 + 3)) 3 + (5+12)

35*[(5+3/2) + (2*5)]^(48*(7/3))
* ^ * / 3 7 48 + * 5 2 + / 2 3 5 35

35 5 3 2 / + 2 5 * + 48 7 3 / * ^ *

Comprobar:

35 5 (3/2) + 2 5 * + 48 7 3 / * ^ *

35 (5 + 3/2) 2 5 * + 48 7 3 / * ^ *

35 (5 + 3/2) (2*5) + 48 7 3 / * ^ *

35 [(5 + 3/2) + (2*5)] 48 7 3 / * ^ *

35 [(5 + 3/2) + (2*5)] 48 (7/3) * ^ *

35 [(5 + 3/2) + (2*5)] (48*(7/3)) ^ *

35 [(5 + 3/2) + (2*5)]^(48*(7/3)) *

35*[(5 + 3/2) + (2*5)]^(48*(7/3))

También podría gustarte