switch from boost spirit to just a forward only parser, this will be faster to compile and easier to maintain