abstraction parser