Moved abstract components from parser repo to this one to make a
library.