Check In tool source code based on Build tool project revision r1655.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8964 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
359
BaseTools/Source/C/VfrCompile/Pccts/h/pcctscfg.h
Normal file
359
BaseTools/Source/C/VfrCompile/Pccts/h/pcctscfg.h
Normal file
@@ -0,0 +1,359 @@
|
||||
#ifndef PCCTS_CONFIG_H
|
||||
#define PCCTS_CONFIG_H
|
||||
/*
|
||||
* pcctscfg.h (formerly config.h) (for ANTLR, DLG, and SORCERER)
|
||||
*
|
||||
* This is a simple configuration file that doesn't have config stuff
|
||||
* in it, but it's a start.
|
||||
*
|
||||
* SOFTWARE RIGHTS
|
||||
*
|
||||
* We reserve no LEGAL rights to the Purdue Compiler Construction Tool
|
||||
* Set (PCCTS) -- PCCTS is in the public domain. An individual or
|
||||
* company may do whatever they wish with source code distributed with
|
||||
* PCCTS or the code generated by PCCTS, including the incorporation of
|
||||
* PCCTS, or its output, into commerical software.
|
||||
*
|
||||
* We encourage users to develop software with PCCTS. However, we do ask
|
||||
* that credit is given to us for developing PCCTS. By "credit",
|
||||
* we mean that if you incorporate our source code into one of your
|
||||
* programs (commercial product, research project, or otherwise) that you
|
||||
* acknowledge this fact somewhere in the documentation, research report,
|
||||
* etc... If you like PCCTS and have developed a nice tool with the
|
||||
* output, please mention that you developed it using PCCTS. In
|
||||
* addition, we ask that this header remain intact in our source code.
|
||||
* As long as these guidelines are kept, we expect to continue enhancing
|
||||
* this system and expect to make other tools available as they are
|
||||
* completed.
|
||||
*
|
||||
* Used by PCCTS 1.33 (SORCERER 1.00B11 and up)
|
||||
* Terence Parr
|
||||
* Parr Research Corporation
|
||||
* with Purdue University and AHPCRC, University of Minnesota
|
||||
* 1989-2000
|
||||
*/
|
||||
|
||||
/* This file knows about the following ``environments''
|
||||
UNIX (default)
|
||||
DOS (use #define PC)
|
||||
MAC (use #define MPW; has a few things for THINK C, Metrowerks)
|
||||
MS/C++ (MR14 Microsoft Visual C++ environment uses symbol _MSC_VER)
|
||||
|
||||
*/
|
||||
|
||||
/* should test __STDC__ for 1, but some compilers don't set value, just def */
|
||||
|
||||
#ifndef __USE_PROTOS
|
||||
#ifdef __STDC__
|
||||
#define __USE_PROTOS
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
#define __USE_PROTOS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef PCCTS_USE_NAMESPACE_STD
|
||||
#define PCCTS_NAMESPACE_STD namespace std {}; using namespace std;
|
||||
#else
|
||||
#define PCCTS_NAMESPACE_STD
|
||||
#endif
|
||||
|
||||
#include "pccts_stdio.h"
|
||||
#include "pccts_stdlib.h"
|
||||
|
||||
/* largest file name size */
|
||||
|
||||
#ifdef _MAX_PATH
|
||||
#define MaxFileName _MAX_PATH /* MR9 RJV: MAX_PATH defined in stdlib.h (MSVC++ 5.0) */
|
||||
#else
|
||||
#define MaxFileName 300
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define PC32 if in a 32-bit PC environment (e.g. extended DOS or Win32).
|
||||
* The macros tested here are defined by Watcom, Microsoft, Borland,
|
||||
* and djgpp, respectively, when they are used as 32-bit compilers.
|
||||
* Users of these compilers *must* be sure to define PC in their
|
||||
* makefiles for this to work correctly.
|
||||
*/
|
||||
#ifdef PC
|
||||
# if (defined(__WATCOMC__) || defined(_WIN32) || defined(__WIN32__) || \
|
||||
defined(__GNUC__) || defined(__GNUG__))
|
||||
# ifndef PC32
|
||||
# define PC32
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* MR1 10-Apr-97 Default for PC is short file names */
|
||||
/* MR1 Default for non-PC is long file names */
|
||||
/* MR1 Can override via command line option LONGFILENAMES */
|
||||
|
||||
#ifndef LONGFILENAMES
|
||||
#ifndef PC
|
||||
#define LONGFILENAMES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef LONGFILENAMES
|
||||
#define ATOKEN_H "AToken.h"
|
||||
#define ATOKPTR_H "ATokPtr.h"
|
||||
#define ATOKPTR_IMPL_H "ATokPtrIm.h"
|
||||
#define ATOKENBUFFER_H "ATokBuf.h"
|
||||
#define ATOKENBUFFER_C "ATokBuf.cpp"
|
||||
#define ATOKENSTREAM_H "ATokStr.h"
|
||||
#define APARSER_H "AParser.h"
|
||||
#define APARSER_C "AParser.cpp"
|
||||
#define ASTBASE_H "ASTBase.h"
|
||||
#define ASTBASE_C "ASTBase.cpp"
|
||||
#define PCCTSAST_C "PCCTSAST.cpp"
|
||||
#define LIST_C "List.cpp"
|
||||
#define DLEXERBASE_H "DLexBase.h"
|
||||
#define DLEXERBASE_C "DLexBase.cpp"
|
||||
#define DLEXER_H "DLexer.h"
|
||||
#define STREESUPPORT_C "STreeSup.C"
|
||||
#else
|
||||
#define ATOKEN_H "AToken.h"
|
||||
#define ATOKPTR_H "ATokPtr.h"
|
||||
#define ATOKPTR_IMPL_H "ATokPtrImpl.h"
|
||||
#define ATOKENBUFFER_H "ATokenBuffer.h"
|
||||
#define ATOKENBUFFER_C "ATokenBuffer.cpp"
|
||||
#define ATOKENSTREAM_H "ATokenStream.h"
|
||||
#define APARSER_H "AParser.h"
|
||||
#define APARSER_C "AParser.cpp"
|
||||
#define ASTBASE_H "ASTBase.h"
|
||||
#define ASTBASE_C "ASTBase.cpp"
|
||||
#define PCCTSAST_C "PCCTSAST.cpp"
|
||||
#define LIST_C "List.cpp"
|
||||
#define DLEXERBASE_H "DLexerBase.h"
|
||||
#define DLEXERBASE_C "DLexerBase.cpp"
|
||||
#define DLEXER_H "DLexer.h"
|
||||
#define STREESUPPORT_C "STreeSupport.cpp"
|
||||
#endif
|
||||
|
||||
/* SORCERER Stuff */
|
||||
|
||||
/* MR8 6-Aug-97 Change from ifdef PC to ifndef LONGFILENAMES */
|
||||
|
||||
#ifndef LONGFILENAMES
|
||||
#define STPARSER_H "STreePar.h"
|
||||
#define STPARSER_C "STreePar.C"
|
||||
#else
|
||||
#define STPARSER_H "STreeParser.h"
|
||||
#define STPARSER_C "STreeParser.cpp"
|
||||
#endif
|
||||
|
||||
#ifdef MPW
|
||||
#define CPP_FILE_SUFFIX ".cp"
|
||||
#define CPP_FILE_SUFFIX_NO_DOT "cp"
|
||||
#define OBJ_FILE_SUFFIX ".o"
|
||||
#else
|
||||
#ifdef PC
|
||||
#define CPP_FILE_SUFFIX ".cpp"
|
||||
#define CPP_FILE_SUFFIX_NO_DOT "cpp"
|
||||
#define OBJ_FILE_SUFFIX ".obj"
|
||||
#else
|
||||
#ifdef __VMS
|
||||
#define CPP_FILE_SUFFIX ".cpp"
|
||||
#define CPP_FILE_SUFFIX_NO_DOT "cpp"
|
||||
#define OBJ_FILE_SUFFIX ".obj"
|
||||
#else
|
||||
#define CPP_FILE_SUFFIX ".cpp"
|
||||
#define CPP_FILE_SUFFIX_NO_DOT "cpp"
|
||||
#define OBJ_FILE_SUFFIX ".o"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* User may redefine how line information looks */ /* make it #line MR7 */
|
||||
/* MR21 Use #ifndef */
|
||||
|
||||
#ifndef LineInfoFormatStr
|
||||
#define LineInfoFormatStr "#line %d \"%s\"\n"
|
||||
#endif
|
||||
|
||||
#ifdef MPW /* Macintosh Programmer's Workshop */
|
||||
#define ErrHdr "File \"%s\"; Line %d #"
|
||||
#else
|
||||
#ifdef _MSC_VER /* MR14 Microsoft Visual C++ environment */
|
||||
#define ErrHdr "%s(%d) :"
|
||||
#else
|
||||
#define ErrHdr "%s, line %d:" /* default */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* must assume old K&R cpp here, can't use #if defined(..)... */
|
||||
|
||||
#ifdef MPW
|
||||
#define TopDirectory ":"
|
||||
#define DirectorySymbol ":"
|
||||
#define OutputDirectoryOption "Directory where all output files should go (default=\":\")"
|
||||
#else
|
||||
#ifdef PC
|
||||
#define TopDirectory "."
|
||||
#define DirectorySymbol "\\"
|
||||
#define OutputDirectoryOption "Directory where all output files should go (default=\".\")"
|
||||
#else
|
||||
#ifdef __VMS
|
||||
#define TopDirectory "[000000]"
|
||||
#define DirectorySymbol "]"
|
||||
#define OutputDirectoryOption "Directory where all output files should go (default=\"[]\")"
|
||||
#else
|
||||
#define TopDirectory "."
|
||||
#define DirectorySymbol "/"
|
||||
#define OutputDirectoryOption "Directory where all output files should go (default=\".\")"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef MPW
|
||||
|
||||
/* Make sure we have prototypes for all functions under MPW */
|
||||
|
||||
#include "pccts_string.h"
|
||||
#include "pccts_stdlib.h"
|
||||
|
||||
/* MR6 2-Jun-97 Fixes false dependency caused by VC++ #include scanner */
|
||||
/* MR6 Reported by Brad Schick (schick@interaccess.com) */
|
||||
#define MPW_CursorCtl_Header <CursorCtl.h>
|
||||
#include MPW_CursorCtl_Header
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
extern void fsetfileinfo (const char *filename, unsigned long newcreator, unsigned long newtype);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* File creators for various popular development environments */
|
||||
|
||||
#define MAC_FILE_CREATOR 'MPS ' /* MPW Text files */
|
||||
#if 0
|
||||
#define MAC_FILE_CREATOR 'KAHL' /* THINK C/Symantec C++ Text files */
|
||||
#endif
|
||||
#if 0
|
||||
#define MAC_FILE_CREATOR 'CWIE' /* Metrowerks C/C++ Text files */
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef MPW
|
||||
#define DAWDLE SpinCursor(1)
|
||||
#else
|
||||
#define DAWDLE
|
||||
#endif
|
||||
|
||||
#ifdef MPW
|
||||
#define SPECIAL_INITS
|
||||
#define SPECIAL_FOPEN
|
||||
#endif
|
||||
|
||||
#ifdef MPW
|
||||
#ifdef __cplusplus
|
||||
inline
|
||||
#else
|
||||
static
|
||||
#endif
|
||||
void special_inits()
|
||||
{
|
||||
InitCursorCtl((acurHandle) 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MPW
|
||||
#ifdef __cplusplus
|
||||
inline
|
||||
#else
|
||||
static
|
||||
#endif
|
||||
void special_fopen_actions(char * s)
|
||||
{
|
||||
fsetfileinfo (s, MAC_FILE_CREATOR, 'TEXT');
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Define usable bits for set.c stuff */
|
||||
#define BytesPerWord sizeof(unsigned)
|
||||
#define WORDSIZE (sizeof(unsigned)*8)
|
||||
#define LogWordSize (WORDSIZE==16?4:5)
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
#if defined(VAXC) || defined(__VMS)
|
||||
#include <ssdef.h>
|
||||
#define PCCTS_EXIT_SUCCESS 1
|
||||
#define PCCTS_EXIT_FAILURE SS$_ABORT
|
||||
#define zzDIE return SS$_ABORT;
|
||||
#define zzDONE return 1;
|
||||
|
||||
#else /* !VAXC and !__VMS */
|
||||
|
||||
#define PCCTS_EXIT_SUCCESS 0
|
||||
#define PCCTS_EXIT_FAILURE 1
|
||||
#define zzDIE return 1;
|
||||
#define zzDONE return 0;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef USER_ZZMODE_STACK
|
||||
# ifndef ZZSTACK_MAX_MODE
|
||||
# define ZZSTACK_MAX_MODE 32
|
||||
# endif
|
||||
# define ZZMAXSTK (ZZSTACK_MAX_MODE * 2)
|
||||
#endif
|
||||
|
||||
#ifndef DllExportPCCTS
|
||||
#define DllExportPCCTS
|
||||
#endif
|
||||
|
||||
#ifdef PC
|
||||
#ifndef PCCTS_CASE_INSENSITIVE_FILE_NAME
|
||||
#define PCCTS_CASE_INSENSITIVE_FILE_NAME
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef PC32
|
||||
#ifndef PCCTS_CASE_INSENSITIVE_FILE_NAME
|
||||
#define PCCTS_CASE_INSENSITIVE_FILE_NAME
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __VMS
|
||||
#ifndef PCCTS_CASE_INSENSITIVE_FILE_NAME
|
||||
#define PCCTS_CASE_INSENSITIVE_FILE_NAME
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __USE_PROTOS
|
||||
#ifndef PCCTS_USE_STDARG
|
||||
#define PCCTS_USE_STDARG
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
#ifndef PCCTS_USE_STDARG
|
||||
#define PCCTS_USE_STDARG
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#ifndef PCCTS_USE_STDARG
|
||||
#define PCCTS_USE_STDARG
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
/*Turn off the warnings for:
|
||||
unreferenced inline/local function has been removed
|
||||
*/
|
||||
#pragma warning(disable : 4514)
|
||||
/* function not expanded */
|
||||
#pragma warning(disable : 4710)
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user