Universidad de Costa Rica
|
|
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.
|
Adolfo Di Mare <adolfo@di-mare.com>.
|