Skip to content
Snippets Groups Projects
  1. Sep 22, 2022
    • Sven M. Hallberg's avatar
      fail packrat parsers if they need more input · 866fd4d6
      Sven M. Hallberg authored
      This commit changes the contract for the combinator parse functions:
      
       (1) The input state on failure must retain valid overrun and last_chunk
           fields. The latter is never changed, but overrun would be cleared by
           various combinators that backtrack in case of failure. All other
           fields of the input stream are still considered indeterminate after a
           failed parse.
      
       (2) If an overrun condition is encountered before the final chunk
           (last_chunk is false), the parse *must* fail. A helper want_suspend()
           is introduced as a shorthand for this check.
      
      Fixes the packrat/iterative/dummy test.
      866fd4d6
  2. Jun 04, 2021
  3. May 08, 2021
    • picomeg's avatar
      Parsers use backend-vtable pointers without needing the enum. TODO: · 5c30b9c7
      picomeg authored
      right now there is duplication as the enum backend value is still
      present- need to find out if it's OK to make a breaking change for
      anyone who is for reasons known only to themselves chekcing which
      backend enum value is one a parser they may have created and compiled...
      5c30b9c7
  4. Jan 12, 2020
  5. Nov 26, 2019
    • xentrac's avatar
      Fix bug #19 in permutations and sequences too · 032430e3
      xentrac authored
      In `h_sequence__ma` the same bug occurs, and it manifests as a crash
      in the same way, so I've added a test for it.  In `h_permutation__ma`
      it evidently exists in the same form, but I haven't figured out how to
      reproduce it; in that case I added a fix to the implementation, but no
      test.
      032430e3
  6. Oct 03, 2015
  7. Jun 18, 2014
Loading