Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

282 lines
7.8 KiB

//
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//
const ABSENT = 257;
const ANY = 258;
const APPLICATION = 259;
const BAR = 260;
const BGIN = 261;
const BIT = 262;
const BITSTRING = 263;
const _BOOLEAN = 264;
const BY = 265;
const CCE = 266;
const CHOICE = 267;
const COMMA = 268;
const COMPONENT = 269;
const COMPONENTS = 270;
const COMPONENTSOF = 271;
const CONTROL = 272;
const DECODER = 273;
const DEFAULT = 274;
const DEFINED = 275;
const DEFINITIONS = 276;
const DOT = 277;
const DOTDOT = 278;
const DOTDOTDOT = 279;
const ENCODER = 280;
const ENCRYPTED = 281;
const END = 282;
const ENUMERATED = 283;
const EXPORTS = 284;
const EXPLICIT = 285;
const FALSE_VAL = 286;
const FROM = 287;
const ID = 288;
const IDENTIFIER = 289;
const IMPLICIT = 290;
const IMPORTS = 291;
const INCLUDES = 292;
const INTEGER = 293;
const LANGLE = 294;
const LBRACE = 295;
const LBRACKET = 296;
const LITNUMBER = 297;
const LIT_HEX_STRING = 298;
const LIT_BINARY_STRING = 299;
const LITSTRING = 300;
const LPAREN = 301;
const MIN = 302;
const MAX = 303;
const NAME = 304;
const NIL = 305;
const OBJECT = 306;
const OCTET = 307;
const OCTETSTRING = 308;
const OF = 309;
const PARAMETERTYPE = 310;
const PREFIXES = 311;
const PRESENT = 312;
const PRINTER = 313;
const PRIVATE = 314;
const RBRACE = 315;
const RBRACKET = 316;
const REAL = 317;
const RPAREN = 318;
const SECTIONS = 319;
const SEMICOLON = 320;
const SEQUENCE = 321;
const SEQUENCEOF = 322;
const SET = 323;
const _SIZE = 324;
const STRING = 325;
const TAGS = 326;
const TRUE_VAL = 327;
const UNIVERSAL = 328;
const WITH = 329;
const PLUSINFINITY = 330;
const MINUSINFINITY = 331;
const MODULEID = 332;
const LASTUPDATE = 333;
const ORGANIZATION = 334;
const CONTACTINFO = 335;
const DESCRIPTION = 336;
const REVISION = 337;
const OBJECTIDENT = 338;
const STATUS = 339;
const REFERENCE = 340;
const OBJECTYPE = 341;
const SYNTAX = 342;
const BITSXX = 343;
const UNITS = 344;
const MAXACCESS = 345;
const ACCESS = 346;
const INDEX = 347;
const IMPLIED = 348;
const AUGMENTS = 349;
const DEFVAL = 350;
const NOTIFY = 351;
const OBJECTS = 352;
const TRAPTYPE = 353;
const ENTERPRISE = 354;
const VARIABLES = 355;
const TEXTCONV = 356;
const DISPLAYHINT = 357;
const OBJECTGROUP = 358;
const NOTIFYGROUP = 359;
const NOTIFICATIONS = 360;
const MODCOMP = 361;
const MODULE = 362;
const MANDATORY = 363;
const GROUP = 364;
const WSYNTAX = 365;
const MINACCESS = 366;
const AGENTCAP = 367;
const PRELEASE = 368;
const SUPPORTS = 369;
const INCLUDING = 370;
const VARIATION = 371;
const CREATION = 372;
typedef union {
void *yy_void;
SIMCNumberInfo *yy_number;
int yy_int;
long yy_long;
SIMCModule *yy_module;
CList <SIMCModule *, SIMCModule *> *yy_module_list;
SIMCSymbolReference *yy_symbol_ref;
SIMCNameInfo * yy_name;
SIMCHexStringInfo *yy_hex_string;
SIMCBinaryStringInfo *yy_binary_string;
SIMCAccessInfo *yy_access;
SIMCAccessInfoV2 *yy_accessV2;
SIMCStatusInfo *yy_status;
SIMCStatusInfoV2 *yy_statusV2;
SIMCObjectIdentityStatusInfo *yy_object_identity_status;
SIMCNotificationTypeStatusInfo *yy_notification_type_status;
SIMCIndexInfo *yy_index;
SIMCIndexInfoV2 *yy_indexV2;
SIMCVariablesList *yy_variables_list;
SIMCObjectsList *yy_objects_list;
SIMCRangeOrSizeItem *yy_range_or_size_item;
SIMCRangeList *yy_range_list;
SIMCNamedNumberItem *yy_named_number_item;
SIMCNamedNumberList *yy_named_number_list;
SIMCDefValInfo *yy_def_val;
} YYSTYPE;
extern YYSTYPE yylval;
// C++ YACC parser header
// Copyright 1991 by Mortice Kern Systems Inc. All rights reserved.
//
// yy_parse => class defining a parsing object
// yy_parse needs a class yy_scan, which defines the scanner.
// %prefix or option -p xx determines name of this class; if not used,
// defaults to 'yy_scan'
//
// constructor fills in the tables for this grammar; give it a size
// to determine size of state and value stacks. Default is 150 entries.
// destructor discards those state and value stacks
//
// int yy_parse::yyparse(yy_scan *) invokes parse; if this returns,
// it can be recalled to continue parsing at last point.
// void yy_parse::yyreset() can be called to reset the parse;
// call yyreset() before yy_parse::yyparse(yy_scan *)
#include <stdio.h> // uses printf(), et cetera
#include <stdlib.h> // uses exit()
const YYERRCODE = 256; // YACC 'error' value
// You can use these macros in your action code
#define YYERROR goto yyerrlabel
#define YYACCEPT YYRETURN(0)
#define YYABORT YYRETURN(1)
#define YYRETURN(val) return(val)
#if YYDEBUG
typedef struct yyNamedType_tag { /* Tokens */
char * name; /* printable name */
short token; /* token # */
short type; /* token type */
} yyNamedType;
typedef struct yyTypedRules_tag { /* Typed rule table */
char * name; /* compressed rule string */
short type; /* rule result type */
} yyTypedRules;
#endif
#ifdef YACC_WINDOWS
// include all windows prototypes, macros, constants, etc.
#include <windows.h>
// the following is the handle to the current
// instance of a windows program. The user
// program calling yyparse must supply this!
extern HANDLE hInst;
#endif /* YACC_WINDOWS */
class yy_parse {
protected:
#ifdef YACC_WINDOWS
// protected member function for actual scanning
int win_yyparse(yy_scan * ps); // parse with given scanner
#endif /* YACC_WINDOWS */
int mustfree; // set if tables should be deleted
int size; // size of state and value stacks
int reset; // if set, reset state
short yyi; // table index
short yystate; // current state
short * stateStack; // states stack
YYSTYPE * valueStack; // values stack
short * yyps; // top of state stack
YYSTYPE * yypv; // top of value stack
YYSTYPE yylval; // saved yylval
YYSTYPE yyval; // $
YYSTYPE * yypvt; // $n
int yychar; // current token
int yyerrflag; // error flag
int yynerrs; // error count
#if YYDEBUG
int done; // set from trace to stop parse
int rule, npop; // reduction rule # and length
short * typeStack; // type stack to mirror valueStack[]
short * yytp; // top of type stack
char * yygetState(int); // read 'states.out'
#endif
public:
#if YYDEBUG
// C++ has trouble with initialized arrays inside classes
static long * States; // pointer to yyStates[]
static yyTypedRules * Rules; // pointer to yyRules[]
static yyNamedType * TokenTypes; // pointer to yyTokenTypes[]
static int yyntoken; // number of tokens
static int yynvar; // number of variables (nonterminals)
static int yynstate; // number of YACC-generated states
static int yynrule; // number of rules in grammar
char* yyptok(int); // printable token string
int yyExpandName(int, int, char *, int);
// expand encoded string
virtual int yyGetType(int); // return type of token
virtual void yyShowRead(); // see newly read token
virtual void yyShowState(); // see state, value stacks
virtual void yyShowReduce(); // see reduction
virtual void yyShowGoto(); // see goto
virtual void yyShowShift(); // see shift
virtual void yyShowErrRecovery(); // see error recovery
virtual void yyShowErrDiscard(); // see token discard in error
#endif
yy_scan* scan; // pointer to scanner
int yydebug; // if set, tracing if compiled with YYDEBUG=1
yy_parse(int = 150); // constructor for this grammar
yy_parse(int, short *, YYSTYPE *); // another constructor
~yy_parse(); // destructor
int yyparse(yy_scan * ps); // parse with given scanner
void yyreset() { reset = 1; } // restore state for next yyparse()
void setdebug(int y) { yydebug = y; }
// The following are useful in user actions:
void yyerrok() { yyerrflag = 0; } // clear error
void yyclearin() { yychar = -1; } // clear input
int YYRECOVERING() { return yyerrflag != 0; }
};
// end of .hpp header