Empty program parse = really check

Changed how I'm tracking my nodes. Each function in the recursive
descent will have to be passed the address of the nonterminal node that
is being parsed. If an error happens, the whole thing (parseProgram())
is going to return true and we stop parsing.
I still can't lex+parse again without a refresh. Still not sure why.