1N/A/***********************************************************************
1N/A* *
1N/A* This software is part of the ast package *
1N/A* Copyright (c) 1986-2010 AT&T Intellectual Property *
1N/A* and is licensed under the *
1N/A* Common Public License, Version 1.0 *
1N/A* by AT&T Intellectual Property *
1N/A* *
1N/A* A copy of the License is available at *
1N/A* http://www.opensource.org/licenses/cpl1.0.txt *
1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
1N/A* *
1N/A* Information and Software Systems Research *
1N/A* AT&T Research *
1N/A* Florham Park NJ *
1N/A* *
1N/A* Glenn Fowler <gsf@research.att.com> *
1N/A* *
1N/A***********************************************************************/
1N/A#pragma prototyped
1N/A/*
1N/A * Glenn Fowler
1N/A * AT&T Research
1N/A *
1N/A * preprocessor C language keyword token values
1N/A * handles classic, ANSI and C++
1N/A * additional non-standard keyword tokens are
1N/A * crammed into T_NOISE and T_X_*
1N/A */
1N/A
1N/A#ifndef _PPKEY_H
1N/A#define _PPKEY_H
1N/A
1N/A/*
1N/A * NOTE: preserve the ranges for is*()
1N/A */
1N/A
1N/A#define ppisnoise(x) ((x)>=T_NOISE&&(x)<T_KEYWORD)
1N/A
1N/A/*
1N/A * classic
1N/A */
1N/A
1N/A#define T_AUTO (T_TOKEN+0)
1N/A#define T_BREAK (T_TOKEN+1)
1N/A#define T_CASE (T_TOKEN+2)
1N/A#define T_CHAR (T_TOKEN+3)
1N/A#define T_CONTINUE (T_TOKEN+4)
1N/A#define T_DEFAULT (T_TOKEN+5)
1N/A#define T_DO (T_TOKEN+6)
1N/A#define T_DOUBLE_T (T_TOKEN+7)
1N/A#define T_ELSE (T_TOKEN+8)
1N/A#define T_EXTERN (T_TOKEN+9)
1N/A#define T_FLOAT_T (T_TOKEN+10)
1N/A#define T_FOR (T_TOKEN+11)
1N/A#define T_GOTO (T_TOKEN+12)
1N/A#define T_IF (T_TOKEN+13)
1N/A#define T_INT (T_TOKEN+14)
1N/A#define T_LONG (T_TOKEN+15)
1N/A#define T_REGISTER (T_TOKEN+16)
1N/A#define T_RETURN (T_TOKEN+17)
1N/A#define T_SHORT (T_TOKEN+18)
1N/A#define T_SIZEOF (T_TOKEN+19)
1N/A#define T_STATIC (T_TOKEN+20)
1N/A#define T_STRUCT (T_TOKEN+21)
1N/A#define T_SWITCH (T_TOKEN+22)
1N/A#define T_TYPEDEF (T_TOKEN+23)
1N/A#define T_UNION (T_TOKEN+24)
1N/A#define T_UNSIGNED (T_TOKEN+25)
1N/A#define T_WHILE (T_TOKEN+26)
1N/A
1N/A/*
1N/A * ANSI
1N/A */
1N/A
1N/A#define T_CONST (T_TOKEN+27)
1N/A#define T_ENUM (T_TOKEN+28)
1N/A#define T_SIGNED (T_TOKEN+29)
1N/A#define T_VOID (T_TOKEN+30)
1N/A#define T_VOLATILE (T_TOKEN+31)
1N/A
1N/A/*
1N/A * C++
1N/A */
1N/A
1N/A#define T_ASM (T_TOKEN+32)
1N/A#define T_BOOL (T_TOKEN+33)
1N/A#define T_CATCH (T_TOKEN+34)
1N/A#define T_CLASS (T_TOKEN+35)
1N/A#define T_CONST_CAST (T_TOKEN+36)
1N/A#define T_DELETE (T_TOKEN+37)
1N/A#define T_DYNAMIC_CAST (T_TOKEN+38)
1N/A#define T_EXPLICIT (T_TOKEN+39)
1N/A#define T_FALSE (T_TOKEN+40)
1N/A#define T_FRIEND (T_TOKEN+41)
1N/A#define T_INLINE (T_TOKEN+42)
1N/A#define T_MUTABLE (T_TOKEN+43)
1N/A#define T_NAMESPACE (T_TOKEN+44)
1N/A#define T_NEW (T_TOKEN+45)
1N/A#define T_OPERATOR (T_TOKEN+46)
1N/A#define T_OVERLOAD (T_TOKEN+47)
1N/A#define T_PRIVATE (T_TOKEN+48)
1N/A#define T_PROTECTED (T_TOKEN+49)
1N/A#define T_PUBLIC (T_TOKEN+50)
1N/A#define T_REINTERPRET_CAST (T_TOKEN+51)
1N/A#define T_STATIC_CAST (T_TOKEN+52)
1N/A#define T_TEMPLATE (T_TOKEN+53)
1N/A#define T_THIS (T_TOKEN+54)
1N/A#define T_THROW (T_TOKEN+55)
1N/A#define T_TRUE (T_TOKEN+56)
1N/A#define T_TRY (T_TOKEN+57)
1N/A#define T_TYPEID (T_TOKEN+58)
1N/A#define T_USING (T_TOKEN+59)
1N/A#define T_VIRTUAL (T_TOKEN+60)
1N/A#define T_WCHAR_T (T_TOKEN+61)
1N/A
1N/A/*
1N/A * future
1N/A */
1N/A
1N/A#define T_INT64 (T_TOKEN+62)
1N/A
1N/A/*
1N/A * non-standard
1N/A */
1N/A
1N/A#define T_BUILTIN (T_TOKEN+63)
1N/A#define T_NOISES (T_TOKEN+64)
1N/A#define T_NOISE (T_TOKEN+65)
1N/A#define T_X_GROUP (T_TOKEN+66)
1N/A#define T_X_LINE (T_TOKEN+67)
1N/A#define T_X_STATEMENT (T_TOKEN+68)
1N/A
1N/A/*
1N/A * first available keyword token value
1N/A */
1N/A
1N/A#define T_KEYWORD (T_TOKEN+69)
1N/A
1N/A/*
1N/A * implementation globals
1N/A */
1N/A
1N/Aextern struct ppkeyword ppkey[];
1N/A
1N/A#endif