if it is not used. (2) Fix an off-by-one problem so that 'unsigned char' can
be used for symbol numbers if the number of symbols is 256.
FossilOrigin-Name: 3b7801acff91905d0e78e06121ebcf2664f6de5f605699dc8726ec9bcb558eb8
range check is needed on the lookahead table to verify that the next input
token is valid. This makes the lookahead table slightly larger (about 120
bytes) but helps the parser to run faster.
FossilOrigin-Name: 7eb0198d0102e97e4b7ad9e359d95985e55e09c510ea4b360265ac8feb9ed814
so that reduce actions occur last. This means that the most common case
(reduce actions) can be recognized with a single comparison operation, thus
speeding up the main parser loop, slightly.
FossilOrigin-Name: 7bfe7a360261ac7227840db49487c2f0fe338a2f1b868fcaada1e04a8d2b8f7a
rule as a negative number and add it to the stack pointer, rather than storing
the value as a positive and subtracting it. This makes the parser faster.
FossilOrigin-Name: b362f0d8ed34839bf3b29d10ed0853ab94245fba135ccd28e619caa6ee6992d5
nonterminal systems to pure REDUCE actions, for a performance enhancement.
FossilOrigin-Name: c46d94a8cde816ca383e771721ebd4900de77950cba700e35a26f70fd5b794a4
SQLite grammar. The bug was introduced by prior work to optimize the
Lemon-generated parser used by SQLite.
FossilOrigin-Name: f9035b8e2ea331801402bcb62b203ab092949770
YY_SHIFT_USE_DFLT constant in the Lemon-generated parser tables so as
to guarantee that it is always out of range of the yy_lookahead[] table.
FossilOrigin-Name: 83622f3f50030e4d6abafb99d99742928aaf157c
actions occur at the end and so that the first rule is number 0. This
reduces the size of the jump table on the reduce switch, and helps the parser
to run faster.
FossilOrigin-Name: d5712f21ec758ff096a7b1bb8ed4fc5ec400ca5d
command-line options. This permits most of the same options that are passed
to the compiler to also be harmlessly passed to lemon, and thus
simplifies makefiles.
FossilOrigin-Name: da408d128b4301d9fc7a3a00f219dce7ed48bc60
error rather than a parsing conflict. This changes is due to a bug report
on the mailing list. SQLite does not use the %nonassoc directive in its
grammar so this change does not affect SQLite.
FossilOrigin-Name: 1925f3a0a2caa709569df015a8e0d26412f1a9ff
the program will never experience integer overflow. To be doubly sure,
use calloc() instead of malloc() when allocating arrays.
FossilOrigin-Name: 29ba458d849ad8864711cbe59fb10447a947e06a
the possibility of simplifying the parser. Also remove all calls to
sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings
on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings
that was the cause of the reason spat of bugs.)
FossilOrigin-Name: 8eb48c04bd0a14031488b3160fde67307eb8b35d
commit. Also add the new "%token_class" directive for defining symbolic
names that stand any one of a collection of tokens.
FossilOrigin-Name: da7890ca6b1d8e511377a469047120220e8c3b2d
make sure that the proposed new output and the preexisting output are the
same size before deciding that they are the same.
FossilOrigin-Name: 0c2fb18d25217ada7e75dcab8b342bbc632875d8
empty string. This bug and the fix make absolutely no difference for the
grammar used by SQLite, but it can make a difference when lemon is used
in other grammars.
FossilOrigin-Name: ce32775b232da894343f62deefaf19b0ec484636