parse source tree