diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2019-08-31 19:22:32 -0500 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2019-09-14 10:09:08 +0200 |
commit | 3ca713abd0f64086c820457d8b25ad0fb9696638 (patch) | |
tree | 7981954ff70a4332391bb8b54856c5507bc4539e /NEWS | |
parent | 8c18e3f18c73359f72ab54ec27418c3544be2e9d (diff) | |
download | bison-3ca713abd0f64086c820457d8b25ad0fb9696638.tar.gz |
api.token.raw: document it
* doc/bison.texi: here.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -21,6 +21,20 @@ GNU Bison NEWS The C++ deterministic skeleton (lalr1.cc) now supports LAC, via the %define variable parse.lac. +*** Variable api.token.raw: Optimized token numbers (all skeletons) + + In the generated parsers, tokens have two numbers: the "external" token + number as returned by yylex (which starts at 257), and the "internal" + symbol number (which starts at 3). Each time yylex is called, a table + lookup maps the external token number to the internal symbol number. + + When the %define variable api.token.raw is set, tokens are assigned their + internal number, which saves one table lookup per token, and also saves + the generation of the mapping table. + + The gain is typically moderate, but in extreme cases (very simple user + actions), a 10% improvement can be observed. + *** Debug traces in Java The Java backend no longer emits code and data for parser tracing if the |