Source code of Windows XP (NT5)
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.
|
|
/*****************************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1987-1999 **/ /*****************************************************************************/ /*****************************************************************************
File : control.hxx Title : compiler controller object History : 05-Aug-1991 VibhasC Created
*****************************************************************************/
#ifndef __CONTROL_HXX__
#define __CONTROL_HXX__
#include "listhndl.hxx"
#include "idict.hxx"
#include "nodeskl.hxx"
#define IDL_PASS (1)
#define ACF_PASS (2)
#define SEMANTIC_PASS (3)
#define ILXLAT_PASS (4)
#define CODEGEN_PASS (5)
#define NDR64_ILXLAT_PASS (6)
#define NDR64_CODEGEN_PASS (7)
/***
*** The pass 1 controller. ***/
typedef class _pass1 { private:
public:
STATUS_T Go(); _pass1(); ~_pass1() { };
} PASS_1;
/***
*** The pass 2 controller. ***/
typedef class _pass2 { private: node_file * pFileNode; MEMLIST AcfIncludeList; public: STATUS_T Go(); _pass2(); ~_pass2() { };
void InsertAcfIncludeFile( node_file *pFile ) { AcfIncludeList.AddLastMember( pFile ); }
node_file * GetFileNode() { return pFileNode; }
} PASS_2;
/***
*** The pass 3 controller. ***/
typedef class _pass3 { public: STATUS_T Go(); _pass3(); ~_pass3() { }; } PASS_3;
/***
*** The pass 4 controller. ***/
typedef class _pass4 { public: STATUS_T Go(); _pass4() { }; ~_pass4() { }; } PASS_4;
/***
*** The compiler controller class ***/
typedef class ccontrol { private: short PassNumber; class _cmd_arg * pCommandProcessor; class _nfa_info * pImportController; PASS_1 * pPass1Controller; PASS_2 * pPass2Controller; PASS_3 * pPass3Controller; PASS_4 * pPass4Controller; short ErrorCount;
public: ccontrol( class _cmd_arg* pCommand ); ~ccontrol(); class _cmd_arg * GetCommandProcessor() { return pCommandProcessor; } class _cmd_arg * SetCommandProcessor( class _cmd_arg *p ) { return pCommandProcessor = p; } class _nfa_info * GetImportController() { return pImportController; } class _nfa_info * SetImportController( class _nfa_info *p ) { return pImportController = p; } STATUS_T Go(); void IncrementErrorCount() { ErrorCount++; } short GetErrorCount() { return ErrorCount; } void SetPassNumber( short PN ) { PassNumber = PN; } short GetPassNumber() { return PassNumber; } } CCONTROL;
#endif // __CONTROL_HXX__
|