⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cxx_keywords.hashgen

📁 产生哈希函数的代码
💻 HASHGEN
字号:
# Hashgen input file example: 
# Lookup class for C++ reserved words.

# The [entries] section: lists keys and associated data.
# The [entries] section header is implied by default.
# Double quotes around the key values are omitted.

asm,        TOKEN_ASM
auto,       TOKEN_AUTO
break,      TOKEN_BREAK
case,       TOKEN_CASE
catch,      TOKEN_CATCH
char,       TOKEN_CHAR
class,      TOKEN_CLASS
const,      TOKEN_CONST
continue,   TOKEN_CONTINUE
default,    TOKEN_DEFAULT
delete,     TOKEN_DELETE
do,         TOKEN_DO
double,     TOKEN_DOUBLE
else,       TOKEN_ELSE
enum,       TOKEN_ENUM
extern,     TOKEN_EXTERN
float,      TOKEN_FLOAT
for,        TOKEN_FOR
friend,     TOKEN_FRIEND
goto,       TOKEN_GOTO
if,         TOKEN_IF
inline,     TOKEN_INLINE
int,        TOKEN_INT
long,       TOKEN_LONG
new,        TOKEN_NEW
operator,   TOKEN_OPERATOR
overload,   TOKEN_OVERLOAD
private,    TOKEN_PRIVATE
protected,  TOKEN_PROTECTED
public,     TOKEN_PUBLIC
register,   TOKEN_REGISTER
return,     TOKEN_RETURN
short,      TOKEN_SHORT
signed,     TOKEN_SIGNED
sizeof,     TOKEN_SIZEOF
static,     TOKEN_STATIC
struct,     TOKEN_STRUCT
switch,     TOKEN_SWITCH
template,   TOKEN_TEMPLATE
this,       TOKEN_THIS
typedef,    TOKEN_TYPEDEF
union,      TOKEN_UNION
unsigned,   TOKEN_UNSIGNED
virtual,    TOKEN_VIRTUAL
void,       TOKEN_VOID
volatile,   TOKEN_VOLATILE
while,      TOKEN_WHILE


[options]

# All the options set explicitly for demonstration purposes
# (for most the default values would be okay.)

language = C++  
header = cxx_keywords.h
source = cxx_keywords.cxx
test = cxx_keywords_test.cxx
namespace-name = Scanner 
entry-struct-name = Token
key-name = text 
lookup-struct-name = TokenHash
lookup-data-name = tokenHash
lookup-func-name = lookup 
key-table-name = tokens
weight-table-name = charWeights
length-table-name = keyLengths
hash-table-name = hashTable
collision-table-name = hashCollisions

optimize-hits = yes 
length-switch = yes 
#inline-lookup-func = yes
static-lookup-data = no 
min-expected-char = 0x30
max-expected-char = 0x7a


# The [declarations] sections: defines the structure 
# of a key table entry (`Token' in this example).
# Also may contain any additional declarations,
# everything is copied verbatim into the generated header.

[declarations]

struct Token {
  const char* text;
  int token; 
};

enum { 
  TOKEN_ASM,
  TOKEN_AUTO,
  TOKEN_BREAK,
  TOKEN_CASE,
  TOKEN_CATCH,
  TOKEN_CHAR,
  TOKEN_CLASS,
  TOKEN_CONST,
  TOKEN_CONTINUE,
  TOKEN_DEFAULT,
  TOKEN_DELETE,
  TOKEN_DO,
  TOKEN_DOUBLE,
  TOKEN_ELSE,
  TOKEN_ENUM,
  TOKEN_EXTERN,
  TOKEN_FLOAT,
  TOKEN_FOR,
  TOKEN_FRIEND,
  TOKEN_GOTO,
  TOKEN_IF,
  TOKEN_INLINE,
  TOKEN_INT,
  TOKEN_LONG,
  TOKEN_NEW,
  TOKEN_OPERATOR,
  TOKEN_OVERLOAD,
  TOKEN_PRIVATE,
  TOKEN_PROTECTED,
  TOKEN_PUBLIC,
  TOKEN_REGISTER,
  TOKEN_RETURN,
  TOKEN_SHORT,
  TOKEN_SIGNED,
  TOKEN_SIZEOF,
  TOKEN_STATIC,
  TOKEN_STRUCT,
  TOKEN_SWITCH,
  TOKEN_TEMPLATE,
  TOKEN_THIS,
  TOKEN_TYPEDEF,
  TOKEN_UNION,
  TOKEN_UNSIGNED,
  TOKEN_VIRTUAL,
  TOKEN_VOID,
  TOKEN_VOLATILE,
  TOKEN_WHILE
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -