More ParseTree stuff.  The ZZ_* identifiers are temporary while I try to
make sense out of the crazy grammar for variable specifications.