diff options
author | Juan Manuel Tomás <jtomas1815@gmail.com> | 2022-11-12 01:08:18 -0300 |
---|---|---|
committer | Juan Manuel Tomás <jtomas1815@gmail.com> | 2022-11-12 01:08:18 -0300 |
commit | f205d4c5dbd0ccb26cb9020e3ef8ae86d1336403 (patch) | |
tree | a0bd616a6dd21191293d631df2cd8e70edb727a1 /README.md | |
parent | 94dda7a8e56d6db537e307b1ec3cf59b8d70a629 (diff) | |
download | monparser-f205d4c5dbd0ccb26cb9020e3ef8ae86d1336403.tar.gz monparser-f205d4c5dbd0ccb26cb9020e3ef8ae86d1336403.zip |
Introduce critical failure type
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -7,3 +7,24 @@ The goal is to have a good enough parser generator for use in my other personal # 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 |