📄 asm_res.h
字号:
/* C code produced by gperf version 3.0.1 *//* Command-line: gperf --language=C --struct-type --slot-name=name --hash-fn-name=asm_hash --lookup-fn-name=asm_lookup *//* Computed positions: -k'3,5' */#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))/* The character set is not based on ISO-646. */error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."#endif#include "strmake.h"#define START_VARIABLE 1001#define START_WORD 2001#define START_SHARP 3001#define START_YACC 4001#define IS_RESERVED_WORD(a) ((a) >= START_WORD)#define IS_RESERVED_VARIABLE(a) ((a) >= START_VARIABLE && (a) < START_WORD)#define IS_RESERVED_SHARP(a) ((a) >= START_SHARP && (a) < START_YACC)#define IS_RESERVED_YACC(a) ((a) >= START_YACC)#define SHARP_SHARP 3001#define SHARP_ASSERT 3002#define SHARP_DEFINE 3003#define SHARP_ELIF 3004#define SHARP_ELSE 3005#define SHARP_ENDIF 3006#define SHARP_ERROR 3007#define SHARP_IDENT 3008#define SHARP_IF 3009#define SHARP_IFDEF 3010#define SHARP_IFNDEF 3011#define SHARP_IMPORT 3012#define SHARP_INCLUDE 3013#define SHARP_INCLUDE_NEXT 3014#define SHARP_LINE 3015#define SHARP_PRAGMA 3016#define SHARP_SCCS 3017#define SHARP_UNASSERT 3018#define SHARP_UNDEF 3019#define SHARP_WARNING 3020struct keyword { char *name; int token; };#define TOTAL_KEYWORDS 20#define MIN_WORD_LENGTH 2#define MAX_WORD_LENGTH 13#define MIN_HASH_VALUE 2#define MAX_HASH_VALUE 32/* maximum key range = 31, duplicates = 0 */#ifdef __GNUC____inline#else#ifdef __cplusplusinline#endif#endifstatic unsigned intasm_hash (str, len) register const char *str; register unsigned int len;{ static unsigned char asso_values[] = { 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 15, 33, 10, 10, 0, 15, 5, 33, 5, 33, 33, 0, 0, 0, 10, 33, 33, 10, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33 }; register int hval = len; switch (hval) { default: hval += asso_values[(unsigned char)str[4]]; /*FALLTHROUGH*/ case 4: case 3: hval += asso_values[(unsigned char)str[2]]; /*FALLTHROUGH*/ case 2: break; } return hval;}#ifdef __GNUC____inline#endifstruct keyword *asm_lookup (str, len) register const char *str; register unsigned int len;{ static struct keyword wordlist[] = { {""}, {""}, {"##", SHARP_SHARP}, {""}, {""}, {"#else", SHARP_ELSE}, {"#undef", SHARP_UNDEF}, {"#assert", SHARP_ASSERT}, {"#include", SHARP_INCLUDE}, {"#unassert", SHARP_UNASSERT}, {"#line", SHARP_LINE}, {"#endif", SHARP_ENDIF}, {"#define", SHARP_DEFINE}, {"#include_next", SHARP_INCLUDE_NEXT}, {""}, {"#sccs", SHARP_SCCS}, {"#ident", SHARP_IDENT}, {"#import", SHARP_IMPORT}, {"#if", SHARP_IF}, {""}, {"#elif", SHARP_ELIF}, {"#ifdef", SHARP_IFDEF}, {"#pragma", SHARP_PRAGMA}, {"#warning", SHARP_WARNING}, {""}, {""}, {"#error", SHARP_ERROR}, {""}, {""}, {""}, {""}, {""}, {"#ifndef", SHARP_IFNDEF} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = asm_hash (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register const char *s = wordlist[key].name; if (*str == *s && !strcmp (str + 1, s + 1)) return &wordlist[key]; } } return 0;}int asm_reserved_sharp(const char *, int);intasm_reserved_sharp(str, len) const char *str; int len;{ struct keyword *keyword; /* Delete blanks. Ex. ' # define ' => '#define' */ str = strtrim(str, TRIM_ALL, &len); keyword = asm_lookup(str, len); return (keyword && IS_RESERVED_SHARP(keyword->token)) ? keyword->token : 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -