monadic_parser_combinators I took the material below and implemented it in C++. https://www.cs.nott.ac.uk/~pszgmh/monparsing.pdf