Implementing parse algorithms