Skip to content
Snippets Groups Projects
Select Git revision
  • df528221a8dc30eb87f7170d01fa671aecd1ecad
  • master default protected
  • packrat-iterative-WIP
  • ACL2print
  • pdf
  • luajit-operator-overloading
  • llvm-backend
  • old-llvm-backend
  • old-valgrind-cleanup
  • windows-vs2013
  • c++
  • refactor-build
  • cxx
  • 2020-04-27_RELEASE
  • 2020-06-27_RELEASE
  • 2020-08-27_RELEASE
  • 2020-10-27_RELEASE
  • 2020-12-23_RELEASE
  • 2021-02-27_RELEASE
  • 2021-04-27_RELEASE
  • 2021-06-27_RELEASE
  • 2021-08-27_RELEASE
  • 2021-10-28_RELEASE
  • 2021-12-30_RELEASE
  • 2022-02-28_RELEASE
  • 2022-03-17_RELEASE
  • 2022-03-31_merged
  • 2022-04-29_RELEASE
  • 2022-06-30_RELEASE
  • 2022-08-31_RELEASE
  • 2022-10-28_RELEASE
  • eval1_2020-03-09
  • evalThree
33 results

hammer

Forked from Hammer / hammer
Source project has a limited visibility.
user avatar
Sven M. Hallberg authored
Analyzing the call sites of update_cached_result shows, I hope, that the call
to perform_lowlevel_parse() in grow() will not modify the cached result if it
fails:

1. The call in h_do_parse() is in the non-recursive case.
2. The call in lr_answer() happens before entering the grow() recursion.
3. The call at the end of grow() is not reached until later because grow() is
   only called recursively by itself.
4. The call in recall() only applies to parsers in the eval set of the parser
   in question, which is initialized from its involved set and only shrunk
   after that. The involved set of a parser p, however, does not include p
   itself.
df528221
History
Name Last commit Last update