File: keyword.hpp

package info (click to toggle)
libcompiler-lexer-perl 0.23-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 612 kB
  • sloc: cpp: 5,127; perl: 1,167; makefile: 3
file content (39 lines) | stat: -rw-r--r-- 1,025 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#define TRIPLE_OPERATOR_TOTAL_KEYWORDS 24
#define TRIPLE_OPERATOR_MIN_WORD_LENGTH 3
#define TRIPLE_OPERATOR_MAX_WORD_LENGTH 3
#define TRIPLE_OPERATOR_MIN_HASH_VALUE 3
#define TRIPLE_OPERATOR_MAX_HASH_VALUE 50

#define DOUBLE_OPERATOR_TOTAL_KEYWORDS 79
#define DOUBLE_OPERATOR_MIN_WORD_LENGTH 2
#define DOUBLE_OPERATOR_MAX_WORD_LENGTH 2
#define DOUBLE_OPERATOR_MIN_HASH_VALUE 2
#define DOUBLE_OPERATOR_MAX_HASH_VALUE 200

class TripleCharactorOperatorMap {
private:
	static inline unsigned int hash(const char *str);
public:
	static const char *in_word_set(const char *str);
};

class DoubleCharactorOperatorMap {
private:
	static inline unsigned int hash(const char *str);
public:
	static const char *in_word_set(const char *str);
};

typedef struct _ReservedKeyword {
    const char *name;
    TokenInfo info;
} ReservedKeyword;

class ReservedKeywordMap
{
private:
  static inline unsigned int hash (const char *str, unsigned int len);
public:
  static ReservedKeyword *in_word_set (const char *str, unsigned int len);
};