Document error recovery
This commit is contained in:
parent
9777ab029d
commit
25e346b8cd
|
@ -126,6 +126,10 @@ Comments are from a `#` to the end of the line.
|
|||
Of course, how you use the generated parser highly depends on which backend you used to generate it. For the default c++ backend however, the easiest way of getting to know the parser is probably having a look at the class definition in the generated header file, usually named *<Parsername>.h*.
|
||||
In general, there should be some way to run the parser, along with user defined actions, and get back the generated structure or abstract syntax tree.
|
||||
|
||||
### Error recovery
|
||||
|
||||
If you provide a rule with `<error>` somewhere inside the body, this can be used to recover from errors. The generated parser will discard states until it encounters somewhere it can use such a rule. Afterwards, it will start discarding tokens until it can proceed in parsing. If it's impossible to recover from the error (cannot find a recovery rule or cannot find a synchronizing token before EOF), there will generally be an error (depending on the backend). Usually, some sort of reporting mechanism should also be in place by the generated parser.
|
||||
|
||||
### Bash completion
|
||||
|
||||
A file that provides bash completion is also provided for your convenience, to use it, do:
|
||||
|
|
Loading…
Reference in New Issue