original IDL parser written by NDG