@@ -1126,24 +1126,12 @@ the second `'X'` is recognized by the symbol table parser. However:
11261126
11271127If we parse again, we find that `"X"` did not stay in the symbol table. The
11281128fact that `symbols` was declared const might have given you a hint that this
1129- would happen. Also, notice that the call to `insert()` in the semantic action
1130- uses the parse context; that's where all the symbol table changes are stored
1131- during the parse.
1129+ would happen.
11321130
11331131The full program:
11341132
11351133[self_filling_symbol_table_example]
11361134
1137- [tip _symbols_ also has a call operator that does exactly what
1138- `.insert_for_next_parse()` does. This allows you to chain additions with a
1139- convenient syntax, like this:
1140-
1141- ```
1142- symbols<int> roman_numerals;
1143- roman_numerals.insert_for_next_parse("I", 1)("V", 5)("X", 10);
1144- ```
1145- ]
1146-
11471135[important _symbols_ stores all its strings in UTF-32 internally. If you do
11481136Unicode or ASCII parsing, this will not matter to you at all. If you do
11491137non-Unicode parsing of a character encoding that is not a subset of Unicode
@@ -1163,6 +1151,11 @@ erase and clear for the current parse, and another that applies only to
11631151subsequent parses. The full set of operations can be found in the _symbols_
11641152API docs.
11651153
1154+ [mpte There are two versions of each of the _symbols_ `*_for_next_parse()`
1155+ functions _emdash_ one that takes a context, and one that does not. The one
1156+ with the context is meant to be used within a semantic action. The one
1157+ without the context is for use outside of any parse.]
1158+
11661159[endsect]
11671160
11681161[section The Parsers And Their Uses]
0 commit comments