Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/lib/libpp/ppkey.h
1808 views
1
/***********************************************************************
2
* *
3
* This software is part of the ast package *
4
* Copyright (c) 1986-2011 AT&T Intellectual Property *
5
* and is licensed under the *
6
* Eclipse Public License, Version 1.0 *
7
* by AT&T Intellectual Property *
8
* *
9
* A copy of the License is available at *
10
* http://www.eclipse.org/org/documents/epl-v10.html *
11
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
12
* *
13
* Information and Software Systems Research *
14
* AT&T Research *
15
* Florham Park NJ *
16
* *
17
* Glenn Fowler <[email protected]> *
18
* *
19
***********************************************************************/
20
#pragma prototyped
21
/*
22
* Glenn Fowler
23
* AT&T Research
24
*
25
* preprocessor C language keyword token values
26
* handles classic, ANSI and C++
27
* additional non-standard keyword tokens are
28
* crammed into T_NOISE and T_X_*
29
*/
30
31
#ifndef _PPKEY_H
32
#define _PPKEY_H
33
34
/*
35
* NOTE: preserve the ranges for is*()
36
*/
37
38
#define ppisnoise(x) ((x)>=T_NOISE&&(x)<T_KEYWORD)
39
40
/*
41
* classic
42
*/
43
44
#define T_AUTO (T_TOKEN+0)
45
#define T_BREAK (T_TOKEN+1)
46
#define T_CASE (T_TOKEN+2)
47
#define T_CHAR (T_TOKEN+3)
48
#define T_CONTINUE (T_TOKEN+4)
49
#define T_DEFAULT (T_TOKEN+5)
50
#define T_DO (T_TOKEN+6)
51
#define T_DOUBLE_T (T_TOKEN+7)
52
#define T_ELSE (T_TOKEN+8)
53
#define T_EXTERN (T_TOKEN+9)
54
#define T_FLOAT_T (T_TOKEN+10)
55
#define T_FOR (T_TOKEN+11)
56
#define T_GOTO (T_TOKEN+12)
57
#define T_IF (T_TOKEN+13)
58
#define T_INT (T_TOKEN+14)
59
#define T_LONG (T_TOKEN+15)
60
#define T_REGISTER (T_TOKEN+16)
61
#define T_RETURN (T_TOKEN+17)
62
#define T_SHORT (T_TOKEN+18)
63
#define T_SIZEOF (T_TOKEN+19)
64
#define T_STATIC (T_TOKEN+20)
65
#define T_STRUCT (T_TOKEN+21)
66
#define T_SWITCH (T_TOKEN+22)
67
#define T_TYPEDEF (T_TOKEN+23)
68
#define T_UNION (T_TOKEN+24)
69
#define T_UNSIGNED (T_TOKEN+25)
70
#define T_WHILE (T_TOKEN+26)
71
72
/*
73
* ANSI
74
*/
75
76
#define T_CONST (T_TOKEN+27)
77
#define T_ENUM (T_TOKEN+28)
78
#define T_SIGNED (T_TOKEN+29)
79
#define T_VOID (T_TOKEN+30)
80
#define T_VOLATILE (T_TOKEN+31)
81
82
/*
83
* C++
84
*/
85
86
#define T_ASM (T_TOKEN+32)
87
#define T_BOOL (T_TOKEN+33)
88
#define T_CATCH (T_TOKEN+34)
89
#define T_CLASS (T_TOKEN+35)
90
#define T_CONST_CAST (T_TOKEN+36)
91
#define T_DELETE (T_TOKEN+37)
92
#define T_DYNAMIC_CAST (T_TOKEN+38)
93
#define T_EXPLICIT (T_TOKEN+39)
94
#define T_FALSE (T_TOKEN+40)
95
#define T_FRIEND (T_TOKEN+41)
96
#define T_INLINE (T_TOKEN+42)
97
#define T_MUTABLE (T_TOKEN+43)
98
#define T_NAMESPACE (T_TOKEN+44)
99
#define T_NEW (T_TOKEN+45)
100
#define T_OPERATOR (T_TOKEN+46)
101
#define T_OVERLOAD (T_TOKEN+47)
102
#define T_PRIVATE (T_TOKEN+48)
103
#define T_PROTECTED (T_TOKEN+49)
104
#define T_PUBLIC (T_TOKEN+50)
105
#define T_REINTERPRET_CAST (T_TOKEN+51)
106
#define T_STATIC_CAST (T_TOKEN+52)
107
#define T_TEMPLATE (T_TOKEN+53)
108
#define T_THIS (T_TOKEN+54)
109
#define T_THROW (T_TOKEN+55)
110
#define T_TRUE (T_TOKEN+56)
111
#define T_TRY (T_TOKEN+57)
112
#define T_TYPEID (T_TOKEN+58)
113
#define T_USING (T_TOKEN+59)
114
#define T_VIRTUAL (T_TOKEN+60)
115
#define T_WCHAR_T (T_TOKEN+61)
116
117
/*
118
* future
119
*/
120
121
#define T_INT64 (T_TOKEN+62)
122
123
/*
124
* non-standard
125
*/
126
127
#define T_BUILTIN (T_TOKEN+63)
128
#define T_NOISES (T_TOKEN+64)
129
#define T_NOISE (T_TOKEN+65)
130
#define T_X_GROUP (T_TOKEN+66)
131
#define T_X_LINE (T_TOKEN+67)
132
#define T_X_STATEMENT (T_TOKEN+68)
133
134
/*
135
* first available keyword token value
136
*/
137
138
#define T_KEYWORD (T_TOKEN+69)
139
140
/*
141
* implementation globals
142
*/
143
144
extern struct ppkeyword ppkey[];
145
146
#endif
147
148