diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2014-10-15 12:04:23 -0700 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2014-10-15 12:04:23 -0700 |
commit | ff7108877be5d6ace18ff91a75bd3c73ac02d09c (patch) | |
tree | bb355e4fe2e990ad44727ee138a4d00745f5152f /parse_constants.h | |
parent | 1927ebbc5dda3b130241cc3e0bbf6002662cd98f (diff) |
Use binary search to determine what tokens are keywords
Diffstat (limited to 'parse_constants.h')
-rw-r--r-- | parse_constants.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/parse_constants.h b/parse_constants.h index 54670c79..559aad29 100644 --- a/parse_constants.h +++ b/parse_constants.h @@ -77,27 +77,27 @@ enum parse_token_type_t FIRST_PARSE_TOKEN_TYPE = parse_token_type_string } __packed; +/* These must be maintained in sorted order (except for none, which isn't a keyword). This enables us to do binary search. */ enum parse_keyword_t { parse_keyword_none, - parse_keyword_if, - parse_keyword_else, - parse_keyword_for, - parse_keyword_in, - parse_keyword_while, + parse_keyword_and, parse_keyword_begin, - parse_keyword_function, - parse_keyword_switch, + parse_keyword_builtin, parse_keyword_case, - parse_keyword_end, - parse_keyword_and, - parse_keyword_or, - parse_keyword_not, parse_keyword_command, - parse_keyword_builtin, + parse_keyword_else, + parse_keyword_end, parse_keyword_exec, - - LAST_KEYWORD = parse_keyword_exec + parse_keyword_for, + parse_keyword_function, + parse_keyword_if, + parse_keyword_in, + parse_keyword_not, + parse_keyword_or, + parse_keyword_switch, + parse_keyword_while, + LAST_KEYWORD = parse_keyword_while } __packed; /* Statement decorations. This matches the order of productions in decorated_statement */ |