diff options
| author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-01 19:55:02 +0100 |
|---|---|---|
| committer | Josh Triplett <josh@freedesktop.org> | 2006-10-24 05:23:24 -0700 |
| commit | 758c8a83cebba4e7e762792719d26246a8cf8ac2 (patch) | |
| tree | 260f05cece59def5d65063abaac3628048b154ea /token.h | |
| parent | 70ada4fad4c4a9f59862677dc7f905482c4f4e99 (diff) | |
| download | sparse-dev-758c8a83cebba4e7e762792719d26246a8cf8ac2.tar.gz | |
switch to hash-based get_one_special()
Weird, but true: the set of C two-character punctuators and
two-symbol prefixes of three-character punctuators is
distinguishable by 5-bit hash function (27 out of 32).
Application is obvious - we get much faster get_one_special()
out of that...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Josh Triplett <josh@freedesktop.org>
Diffstat (limited to 'token.h')
| -rw-r--r-- | token.h | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -88,13 +88,13 @@ enum token_type { "*=", \ "/=", \ "%=", \ - "..", "...", \ - "<=", "<<", "<<=", \ - ">=", ">>", ">>=", \ + "<=", ">=", \ "==", "!=", \ "&&", "&=", \ "||", "|=", \ "^=", "##", \ + "<<", ">>", "..", \ + "<<=", ">>=", "..." \ "", \ "<", ">", "<=", ">=" \ } @@ -111,14 +111,8 @@ enum special_token { SPECIAL_MUL_ASSIGN, SPECIAL_DIV_ASSIGN, SPECIAL_MOD_ASSIGN, - SPECIAL_DOTDOT, - SPECIAL_ELLIPSIS, SPECIAL_LTE, - SPECIAL_LEFTSHIFT, - SPECIAL_SHL_ASSIGN, SPECIAL_GTE, - SPECIAL_RIGHTSHIFT, - SPECIAL_SHR_ASSIGN, SPECIAL_EQUAL, SPECIAL_NOTEQUAL, SPECIAL_LOGICAL_AND, @@ -127,6 +121,12 @@ enum special_token { SPECIAL_OR_ASSIGN, SPECIAL_XOR_ASSIGN, SPECIAL_HASHHASH, + SPECIAL_LEFTSHIFT, + SPECIAL_RIGHTSHIFT, + SPECIAL_DOTDOT, + SPECIAL_SHL_ASSIGN, + SPECIAL_SHR_ASSIGN, + SPECIAL_ELLIPSIS, SPECIAL_ARG_SEPARATOR, SPECIAL_UNSIGNED_LT, SPECIAL_UNSIGNED_GT, |
