split ast stuff into two headers
separate the semantic tree from the AST analyzer
split interpreter into an evaluation tree and its preparation