14887Schin /*********************************************************************** 24887Schin * * 34887Schin * This software is part of the ast package * 4*10898Sroland.mainz@nrubsig.org * Copyright (c) 1986-2009 AT&T Intellectual Property * 54887Schin * and is licensed under the * 64887Schin * Common Public License, Version 1.0 * 78462SApril.Chin@Sun.COM * by AT&T Intellectual Property * 84887Schin * * 94887Schin * A copy of the License is available at * 104887Schin * http://www.opensource.org/licenses/cpl1.0.txt * 114887Schin * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 124887Schin * * 134887Schin * Information and Software Systems Research * 144887Schin * AT&T Research * 154887Schin * Florham Park NJ * 164887Schin * * 174887Schin * Glenn Fowler <gsf@research.att.com> * 184887Schin * * 194887Schin ***********************************************************************/ 204887Schin #pragma prototyped 214887Schin /* 224887Schin * Glenn Fowler 234887Schin * AT&T Research 244887Schin * 254887Schin * preprocessor C language keyword token values 264887Schin * handles classic, ANSI and C++ 274887Schin * additional non-standard keyword tokens are 284887Schin * crammed into T_NOISE and T_X_* 294887Schin */ 304887Schin 314887Schin #ifndef _PPKEY_H 324887Schin #define _PPKEY_H 334887Schin 344887Schin /* 354887Schin * NOTE: preserve the ranges for is*() 364887Schin */ 374887Schin 384887Schin #define ppisnoise(x) ((x)>=T_NOISE&&(x)<T_KEYWORD) 394887Schin 404887Schin /* 414887Schin * classic 424887Schin */ 434887Schin 444887Schin #define T_AUTO (T_TOKEN+0) 454887Schin #define T_BREAK (T_TOKEN+1) 464887Schin #define T_CASE (T_TOKEN+2) 474887Schin #define T_CHAR (T_TOKEN+3) 484887Schin #define T_CONTINUE (T_TOKEN+4) 494887Schin #define T_DEFAULT (T_TOKEN+5) 504887Schin #define T_DO (T_TOKEN+6) 514887Schin #define T_DOUBLE_T (T_TOKEN+7) 524887Schin #define T_ELSE (T_TOKEN+8) 534887Schin #define T_EXTERN (T_TOKEN+9) 544887Schin #define T_FLOAT_T (T_TOKEN+10) 554887Schin #define T_FOR (T_TOKEN+11) 564887Schin #define T_GOTO (T_TOKEN+12) 574887Schin #define T_IF (T_TOKEN+13) 584887Schin #define T_INT (T_TOKEN+14) 594887Schin #define T_LONG (T_TOKEN+15) 604887Schin #define T_REGISTER (T_TOKEN+16) 614887Schin #define T_RETURN (T_TOKEN+17) 624887Schin #define T_SHORT (T_TOKEN+18) 634887Schin #define T_SIZEOF (T_TOKEN+19) 644887Schin #define T_STATIC (T_TOKEN+20) 654887Schin #define T_STRUCT (T_TOKEN+21) 664887Schin #define T_SWITCH (T_TOKEN+22) 674887Schin #define T_TYPEDEF (T_TOKEN+23) 684887Schin #define T_UNION (T_TOKEN+24) 694887Schin #define T_UNSIGNED (T_TOKEN+25) 704887Schin #define T_WHILE (T_TOKEN+26) 714887Schin 724887Schin /* 734887Schin * ANSI 744887Schin */ 754887Schin 764887Schin #define T_CONST (T_TOKEN+27) 774887Schin #define T_ENUM (T_TOKEN+28) 784887Schin #define T_SIGNED (T_TOKEN+29) 794887Schin #define T_VOID (T_TOKEN+30) 804887Schin #define T_VOLATILE (T_TOKEN+31) 814887Schin 824887Schin /* 834887Schin * C++ 844887Schin */ 854887Schin 864887Schin #define T_ASM (T_TOKEN+32) 874887Schin #define T_BOOL (T_TOKEN+33) 884887Schin #define T_CATCH (T_TOKEN+34) 894887Schin #define T_CLASS (T_TOKEN+35) 904887Schin #define T_CONST_CAST (T_TOKEN+36) 914887Schin #define T_DELETE (T_TOKEN+37) 924887Schin #define T_DYNAMIC_CAST (T_TOKEN+38) 934887Schin #define T_EXPLICIT (T_TOKEN+39) 944887Schin #define T_FALSE (T_TOKEN+40) 954887Schin #define T_FRIEND (T_TOKEN+41) 964887Schin #define T_INLINE (T_TOKEN+42) 974887Schin #define T_MUTABLE (T_TOKEN+43) 984887Schin #define T_NAMESPACE (T_TOKEN+44) 994887Schin #define T_NEW (T_TOKEN+45) 1004887Schin #define T_OPERATOR (T_TOKEN+46) 1014887Schin #define T_OVERLOAD (T_TOKEN+47) 1024887Schin #define T_PRIVATE (T_TOKEN+48) 1034887Schin #define T_PROTECTED (T_TOKEN+49) 1044887Schin #define T_PUBLIC (T_TOKEN+50) 1054887Schin #define T_REINTERPRET_CAST (T_TOKEN+51) 1064887Schin #define T_STATIC_CAST (T_TOKEN+52) 1074887Schin #define T_TEMPLATE (T_TOKEN+53) 1084887Schin #define T_THIS (T_TOKEN+54) 1094887Schin #define T_THROW (T_TOKEN+55) 1104887Schin #define T_TRUE (T_TOKEN+56) 1114887Schin #define T_TRY (T_TOKEN+57) 1124887Schin #define T_TYPEID (T_TOKEN+58) 1134887Schin #define T_USING (T_TOKEN+59) 1144887Schin #define T_VIRTUAL (T_TOKEN+60) 1154887Schin #define T_WCHAR_T (T_TOKEN+61) 1164887Schin 1174887Schin /* 1184887Schin * future 1194887Schin */ 1204887Schin 1214887Schin #define T_INT64 (T_TOKEN+62) 1224887Schin 1234887Schin /* 1244887Schin * non-standard 1254887Schin */ 1264887Schin 1274887Schin #define T_BUILTIN (T_TOKEN+63) 1284887Schin #define T_NOISES (T_TOKEN+64) 1294887Schin #define T_NOISE (T_TOKEN+65) 1304887Schin #define T_X_GROUP (T_TOKEN+66) 1314887Schin #define T_X_LINE (T_TOKEN+67) 1324887Schin #define T_X_STATEMENT (T_TOKEN+68) 1334887Schin 1344887Schin /* 1354887Schin * first available keyword token value 1364887Schin */ 1374887Schin 1384887Schin #define T_KEYWORD (T_TOKEN+69) 1394887Schin 1404887Schin /* 1414887Schin * implementation globals 1424887Schin */ 1434887Schin 1444887Schin extern struct ppkeyword ppkey[]; 1454887Schin 1464887Schin #endif 147