Parser Generator ================ This parser generator expands on [this paper](https://www.cs.nott.ac.uk/~pszgmh/monparsing.pdf). The goal is to have a good enough parser generator for use in my other personal projects. # The type of parsers Parsers are lambdas that receive some *input* and return either a *parsing* or a *failure*. A *parsing* denotes a successful execution of the parser on the given input. Failures can be either *normal-failure* or *critical-failure*. The distinction of failure types allows to discern between an input that needs to be parsed with another parser, and a syntax error. ## Interaction with parser control flow ### Choice (either) - parsing -> exit - normal-failure -> continue - critical-failure -> exit ### Sequence (comp) - parsing -> continue - normal-failure -> exit - critical-failure -> exit