Exemplo de execução do programa completo (EP6 Parte C)

Python 3.4.3 (default, Mar 26 2015, 22:03:40)
[GCC 4.9.2] on linux
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>

==================================================
     C A L C U L A D O R A    P O L O N E S A
==================================================

Digite:
  - uma expressão em notação polonesa como "soma 2 3 + ="; ou
  - "ver" para ligar/desligar o modo verboso; ou
  - "dic" para exibir o dicionário de variáveis; ou
  - "fim" para terminar.

Operadores possíveis:
   + - * / % :cinco operações aritméticas básicas
   ^ : exponeciação
   ! : menos unário
   = : atribuição

calc >>>  2 3 4- *!
2
calc >>> dic
{}
calc >>> var 3=
3
calc >>> var
3
calc >>> dic
{var: 3}
calc >>> ver
AVISO: modo verboso ativado.
calc >>> va 314 va 3.14= 5 */ =
lista de tokens: [V('va'), N(314), V('va'), N(3.14), O('='), N(5), O('*'), O('/'), O('=')]
pilha de execução: []
dicionário de variáveis: {'var': 3.0}
modo verboso: ativado

lista de tokens: [N(314), V('va'), N(3.14), O('='), N(5), O('*'), O('/'), O('=')]
pilha de execução: [V('va')]
dicionário de variáveis: {'var': 3.0}
modo verboso: ativado

lista de tokens: [V('va'), N(3.14), O('='), N(5), O('*'), O('/'), O('=')]
pilha de execução: [V('va'), N(314)]
dicionário de variáveis: {'var': 3.0}
modo verboso: ativado

lista de tokens: [N(3.14), O('='), N(5), O('*'), O('/'), O('=')]
pilha de execução: [V('va'), N(314), V('va')]
dicionário de variáveis: {'var': 3.0}
modo verboso: ativado

lista de tokens: [O('='), N(5), O('*'), O('/'), O('=')]
pilha de execução: [V('va'), N(314), V('va'), N(3.14)]
dicionário de variáveis: {'var': 3.0}
modo verboso: ativado

lista de tokens: [N(5), O('*'), O('/'), O('=')]
pilha de execução: [V('va'), N(314), N(3.14)]
dicionário de variáveis: {'var': 3.0, 'va': 3.14}
modo verboso: ativado

lista de tokens: [O('*'), O('/'), O('=')]
pilha de execução: [V('va'), N(314), N(3.14), N(5)]
dicionário de variáveis: {'var': 3.0, 'va': 3.14}
modo verboso: ativado

lista de tokens: [O('/'), O('=')]
pilha de execução: [V('va'), N(314), N(15.7)]
dicionário de variáveis: {'var': 3.0, 'va': 3.14}
modo verboso: ativado

lista de tokens: [O('=')]
pilha de execução: [V('va'), N(20)]
dicionário de variáveis: {'var': 3.0, 'va': 3.14}
modo verboso: ativado

lista de tokens: []
pilha de execução: [N(20)]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

20
calc >>> vb va3%4^!=
lista de tokens: [V('vb'), V('va3'), O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: []
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [V('va3'), O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: [V('vb')]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: [V('vb'), V('va3')]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

ERRO: Variável 'va3' não tem valor
calc >>> vb va 3%4^!=
lista de tokens: [V('vb'), V('va'), N(3), O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: []
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [V('va'), N(3), O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: [V('vb')]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [N(3), O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: [V('vb'), V('va')]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [O('%'), N(4), O('^'), O('!'), O('=')]
pilha de execução: [V('vb'), V('va'), N(3)]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [N(4), O('^'), O('!'), O('=')]
pilha de execução: [V('vb'), N(2)]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [O('^'), O('!'), O('=')]
pilha de execução: [V('vb'), N(2), N(4)]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [O('!'), O('=')]
pilha de execução: [V('vb'), N(16)]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: [O('=')]
pilha de execução: [V('vb'), N(-16)]
dicionário de variáveis: {'var': 3.0, 'va': 20.0}
modo verboso: ativado

lista de tokens: []
pilha de execução: [N(-16)]
dicionário de variáveis: {'var': 3.0, 'vb': -16.0, 'va': 20.0}
modo verboso: ativado

-16
calc >>> ver
AVISO: modo verboso desativado.
calc >>> dic
{var: 3, vb: -16, va: 20}
calc >>> 2.7 320 40 va vb + / * -
-3197.3
calc >>> dic
{var: 3, vb: -16, va: 20}
calc >>> fim
Curta a nossa página no feiçebuqui.

>>>

This Page