Methods and Tools for Automating Language Engineering