summaryrefslogtreecommitdiff
path: root/pptok.pl
AgeCommit message (Collapse)AuthorFilesLines
2007-09-18Change the token prehash function for better convergenceH. Peter Anvin1-2/+2
Combining arithmetric (add) and bitwise (xor) mixing seems to give better result than either. With the new prehash function, we find a valid hash much quicker.
2007-09-13pptok.c: don't insist on C99 compiler behaviourH. Peter Anvin1-2/+3
Declarations that are not at the head is C99 behaviour, but it's rather pointless for this little piece of code. Fix to work with older compilers.
2007-09-12pptok.c: quick-and-dirty downcasing during prehashingH. Peter Anvin1-1/+7
Speed up pptok.c by just doing |= 0x20 instead of calling tolower() for every character during prehashing. This is good enough for our needs, since we don't have any tokens containing the characters @ [ \ ] _ nor any high-bit characters (in which case we'd have to worry about multibyte anyway.)
2007-09-12pptok.c: handle holes in the pp_directives arrayH. Peter Anvin1-1/+1
We need to fail if we land in a hole in the pp_directives array, since we have a noncontiguous enum preproc_token now.
2007-09-12More automation in the preprocessor conditionals handlingH. Peter Anvin1-23/+64
Further automate the production of preprocessor conditionals. Now the code automatically folds if/elif and the negatives.
2007-09-12pptok.c: fix spacingH. Peter Anvin1-1/+1
2007-09-12Generate automatically correct tests for %if and %elifH. Peter Anvin1-0/+14
Automatically generate macros to test for %if and %elif variants, which are guaranteed to be correct across future changes.
2007-09-12Use a perfect hash to look up preprocessor directivesH. Peter Anvin1-0/+147
Use a perfect hash to look up preprocessor directives, and generate the preprocessor directive list automatically.