Split up abstract-compile into flat and hierarchical parts