added semantic tree generator