Move parser-context code to its own file
Add list-based parser context