Natural Language Parsing Algorithm