- Sep 22, 2022
-
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
Also includes a very important cosmetic whitespace change.
-
Sven M. Hallberg authored
Drive-by elimination of an age-old TODO. :) Code should be functionally equivalent. Changes: - Remove broken code under CONSISTENCY_CHECK. - Transform to chip-away style. - Remove braces around single statements. - Declare variables at top of function. - Shorten some variable names (tmp_res and bit_length). - Limit line length to 80 columns.
-
Sven M. Hallberg authored
A very first step. This implementation still expects all input in a single chunk but allows the use of the iterative API. If the parser attempts to read past the first chunk, the parse fails. Contains some comments for next steps towards full support. Adds tests for the single-chunk case.
-
- Aug 09, 2022
-
-
picomeg authored
-
- Oct 06, 2021
-
-
picomeg authored
default of k=1 is used.
-
- Sep 09, 2021
-
-
picomeg authored
-
- Oct 27, 2020
- Sep 29, 2020
-
-
Andrea Shepard authored
-
- Aug 11, 2020
-
-
picomeg authored
-
- Jul 31, 2020
-
-
picomeg authored
-
- Jul 22, 2020
-
-
picomeg authored
that we also check to confirm both engines have consume the same number of tokens (and thus have actually both arrived at the same state for the same partial input stream)
-
- Apr 23, 2020
-
-
Andrea Shepard authored
-
- Mar 10, 2020
-
-
Andrea Shepard authored
Using _POSIX_C_SOURCE in the middle of a header is incorrect and may work unreliably because of multiple-include guards
-
- Feb 21, 2020
-
-
Sven M. Hallberg authored
fixes issue #83
-
Sven M. Hallberg authored
hammer/hammer#83
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
doh! fixes issue 92 again.
-
- Feb 20, 2020
-
-
Sven M. Hallberg authored
tentative commit. this should solve issue 92, but isn't working, yet. the idea is to taint any memoized follow set that hit a recursive loop, directly or indirectly. the recursive calls (h_follow_rec) are allowed to use these intermediates, but propagate the taint. the top-level routine (h_follow) places the original taint on its result and may remove it at the end. it will not return memoized results that are tainted (but compute them afresh).
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
without it, our test for issue 92 is no good (will always pass). we could probably officially put it back if we simplify "dead" symbols (that have no productions) out of the grammar beforehand.
-
- Feb 17, 2020
-
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
there is a case where fs can be empty: when reducing by lhs would lead to certain parse failure, by means of h_nothing_p() for instance. fixes issue 83.
-
Sven M. Hallberg authored
cf. hammer/hammer#83
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
this makes the computation more wasteful but avoids issue 92. intermediate results could end up in the memoization table and be treated as final by later calls to h_follow(). this problem could appear or not depending on the order of nonterminals (i.e. pointers) in a hashtable.
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
-
Sven M. Hallberg authored
#92
-