llvm-project/clang-tools-extra/pseudo/include
Sam McCall bd5cc6575b [pseudo] Start rules are `_ := start-symbol EOF`, improve recovery.
Previously we were calling glrRecover() ad-hoc at the end of input.
Two main problems with this:
 - glrRecover() on two separate code paths is inelegant
 - We may have to recover several times in succession (e.g. to exit from
   nested scopes), so we need a loop at end-of-file
Having an actual shift action for an EOF terminal allows us to handle
both concerns in the main shift/recover/reduce loop.

This revealed a recovery design bug where recovery could enter a loop by
repeatedly choosing the same parent to identically recover from.
Addressed this by allowing each node to be used as a recovery base once.

Differential Revision: https://reviews.llvm.org/D130550
2022-08-19 16:49:37 +02:00
..
clang-pseudo [pseudo] Start rules are `_ := start-symbol EOF`, improve recovery. 2022-08-19 16:49:37 +02:00
CMakeLists.txt [pseudo] Make sure we rebuild pseudo_gen tool. 2022-07-21 10:09:21 +02:00