> Is it worth my time to construct a true abstract syntax> tree rather than a parse tree?

Yes, you will find that the AST is much easier to deal with in a
multi-pass environment.

You should also build a visual tool which will allow you to pump some
code through the parser and view the AST which is generated. Semantic
checking involves looking at a pattern
(e.g. node,right,right,down,right) and it's a real pain to have to
work out the patterns on a piece of paper.