Skip to content

Commit 94a9dae

Browse files
committed
Change the way that the pending operations are applied to symbol table
parsers. Instead of trying to find all of them at the start of the top-level parse, they are recorded in the context, and then applied at the end of the top-level parse. The previous technique did not work, simplt because the top-level parse cannot see all the parser involded -- some are behind rule firewalls, by design. Related to #183. Fixes #204.
1 parent 4344dd3 commit 94a9dae

File tree

5 files changed

+285
-112
lines changed

5 files changed

+285
-112
lines changed

include/boost/parser/concepts.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ namespace boost { namespace parser {
5858
std::declval<int &>(),
5959
std::declval<ErrorHandler const &>(),
6060
std::declval<detail::nope &>(),
61-
std::declval<detail::symbol_table_tries_t &>()));
61+
std::declval<detail::symbol_table_tries_t &>(),
62+
std::declval<detail::pending_symbol_table_operations_t &>()));
6263

6364
template<typename T, typename I, typename S, typename GlobalState>
6465
concept error_handler =

0 commit comments

Comments
 (0)