TOKTYPES.H

// --toktypes.h------------------------------------------------ 
//
// Token type definitions used by rulecls.
//
// Copyright (C) Microsoft Corp., 1986-1996. All rights reserved.
//
// ------------------------------------------------------------

#ifndef _TOKTYPES_H
#define _TOKTYES_H

//
// Enumeration, structure, and other type definitions used in parsing tokens.
//

enum TOKENTYPE// tt
{
AndOp,
BooleanTag,
ContainsOp,
EndOfString,
EqualOp,
GreaterThanOp,
InvalidTag,// Property tag not PT_BOOLEAN, PT_LONG, PT_STRING8,
// PT_UNICODE or PT_SYSTIME.
LeftParen,
LessThanOp,
NotRecognized,
NotEqualOp,
NotOp,
NumericLiteral,
NumericTag,
OrOp,
RightParen,
StringLiteral,
StringTag,
TimeLiteral,
TimeTag
};

// $$--TOKENINFO-----------------------------------------------
//
// Token information structure type definition.
//
// ------------------------------------------------------------

typedef struct _TOKENINFO// ti
{
CHAR *pch;
ULONGcch;
TOKENTYPEtt;
union
{
DWORDdwValue;// Used to store tags and numeric literals.
FILETIMEftValue;// Used to store time literals.

};
} TOKENINFO;

#endif