Práctica: Traducción de Infijo a Postfijo

Modifique el programa Jison realizado en la práctica 5.3.1 para traducir de infijo a postfijo. Añada los operadores de comparación e igualdad. Por ejemplo

Infijo Postfijo
a = 3+2*4 3 2 4 * + &a =
b = a == 11 a 11 == &b =
En estas traducciones la notación &a indica la dirección de la variable a y a indica el valor almacenado en la variable a.

Añada sentencias if ... then e if ... then ... else

Para realizar la traducción de estas sentencias añada instrucciones jmp label y jmpz label (por jump if zero) y etiquetas:

Infijo Postfijo
a = (2+5)*3;
if a == 0 then b = 5 else b = 3;
c = b + 1;
        2
        5
        +
        3
        *
        &a
        =
        a
        0
        ==
        jmpz else1
        5
        &b
        =
        jmp endif0
:else1
        3
        &b
        =
:endif0
        b
        1
        +
        &c
        =
Parta del repositorio https://github.com/crguezl/jison-simple-html-calc.

Casiano Rodríguez León
2016-03-27