Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1322
II Semestre 2002
[<=] [home] [<>] [\/] [=>]
CI-1322 Autómatas y compiladores

Tarea #5 [solución]

Cálculo del árbol sintáctico

      Modifique el programa de la tarea anterior para que, en lugar de evaluar una expresión, calcule el árbol sintáctico de la expresión. Una vez que ya tenga ese árbol, muestre en un renglón aparte cada nodo del árbol, bien indentado, de acuerdo a su nivel de anidamiento.

      Por ejemplo, si la expresión que recibe su programa es "(1 + 2) * (3 - 4)", su programa generaría esta salida:

OP_MUL(*)
  OP_SUM(+)
    1
    2
  OP_SUM(-)
    3
    4
==> -3

      Para cada nodo, entre paréntesis, aparece el operador, para diferenciar la suma de la resta, y la multiplicación de la división. Los hijos aparecen indentados 2 espacios, bajo el padre. Al final está el resultado de evaluar la expresión.

      Entregue su tarea por correo electrónico, como lo hizo anteriormente.

[mailto:] Entrega de Tareas

Tiempo de entrega: 10 días
Modalidad: En parejas

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2002
Derechos de autor reservados © 2002
[home] <> [/\]