notación postfix (o rpn: reverse polish notation)
los operadores van después de los operandos, y todo funciona con una pila (stack)
por ejemplo, para sumar dos números:
leyendo de izquierda a derecha:
- primero se hace "push" al 3
- luego se hace "push" al 4
- el operador + hace "pop" dos veces, suma los valores, y hace "push" al resultado
tres números:
nota: el primer operador + realiza la suma entre 4 y 2, y el segundo operador + realiza la suma entre ese resultado y 3.
otra posibilidad:
operadores de stack
- pop: saca (y descarta) el elemento de arriba de la pila
- swp o swap o reverse: intercambia los dos elementos superiores en la pila
- dup: duplica el elemento superior en la pila
- ovr u over: copia el segundo elemento de la pila, y colócalo hasta arriba
- rot: quita el tercer elemento de la pila, y colócalo hasta arriba
rutinas con firth
firth es una calculadora rpn con fracciones:
el operador . imprime el estado de la pila
tiempos
convierte (minutos, segundos) a una cantidad de segundos. en el ejemplo, son 8 minutos, 49 segundos:
convierte (minutos, segundos) correspondientes a un "paso" min/km, a una velocidad km/hr:
convierte una velocidad km/hr, a un "paso" min/km
o para obtener minutos y segundos:
¿se nota el gusto por el running?
herramientas
forth, un lenguaje/ambiente de programación basado en pilas
dc, una calculadora incluida con el paquete bc.
firth, una calculadora rpn con fracciones:
uxn, una máquina virtual basada en pilas