The application reads free text, and tags it using a dynamically extending dictionary, then builds the parse chain.