Blocos vazios precisavam de informacao de numero de linha.
Aproveitei o numero de linha dos "nl" para isso.
gcc e' nosso amigo!
Alteracoes minimas para corrigir a construcao da arvore.
Nao testei a fundo para ver se sao todas as necessarias,
mas alterei o necessario para ver seu parser construindo a arvore.
Correcao da rotina de impressao da arvore.
Correcao basica da construcao dos nodos AST_FUNC,
para que eu pudesse ver os demais. Esta correcao nao
e' a melhor possivel; deixei um comentario ali indicando
um caminho possivel a seguir.

As demais alteracoes nos nodos AST_BLOCK sao para produzirem
um numero de linha mesmo em blocos vazios.