On 2024-10-14 09:36, Janneke Nieuwenhuizen wrote:
Janneke Nieuwenhuizen writes:

From: Rutger van Beusekom <rut...@dezyne.org>

This allows production of incomplete parse trees, without errors, e.g.,
for code completion.

* module/ice-9/peg/codegen.scm (%peg:fall-back?): New exported
parameter.
(%enable-expect, %continuation, %final-continuation): New parameter.
(final-continuation): New function.
(cg-or-rest): New function.
(cg-and-int): Recover from expectation failures, fall-back by skipping
forward or escalating upward.
(cg-*): Prepare fall-back %continuation.
* test-suite/tests/peg.test ("Fall-back parser"): Test it.
* doc/ref/api-peg.texi (PEG Internals): Document it.

Co-authored-by: Janneke Nieuwenhuizen <jann...@gnu.org>

fall-back

fall-back

fallback

Oops, find cleaned-up version attached.




Hi all,

I think this change is not compatible with the PEG syntax. In PEG # is a line comment:

https://bford.info/pub/lang/peg.pdf

I think we should take a look to what PEG/LEG does to see if they implement the same idea and copy the syntax they use. If they do.

https://github.com/gpakosz/peg/blob/upstream/src/peg.1

I'll take a deeper look to it, the rest of the commits seem good, but I'll also review in detail and propose something compatible with what I'm trying to push for in #73188.

Thanks for sharing all these commits, they are very interesting and helpful.

Ekaitz

Reply via email to