1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/** \file 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Basic type and constant definitions for ANTLR3 Runtime. 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef _ANTLR3DEFS_H 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define _ANTLR3DEFS_H 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// [The "BSD licence"] 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// http://www.temporal-wave.com 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// http://www.linkedin.com/in/jimidle 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// All rights reserved. 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Redistribution and use in source and binary forms, with or without 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// modification, are permitted provided that the following conditions 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// are met: 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 1. Redistributions of source code must retain the above copyright 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// notice, this list of conditions and the following disclaimer. 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 2. Redistributions in binary form must reproduce the above copyright 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// notice, this list of conditions and the following disclaimer in the 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// documentation and/or other materials provided with the distribution. 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 3. The name of the author may not be used to endorse or promote products 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// derived from this software without specific prior written permission. 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Following are for generated code, they are not referenced internally!!! 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if !defined(ANTLR3_HUGE) && !defined(ANTLR3_AVERAGE) && !defined(ANTLR3_SMALL) 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_AVERAGE 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_HUGE 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_SIZE_HINT 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_SIZE_HINT 2049 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_LIST_SIZE_HINT 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_LIST_SIZE_HINT 127 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_AVERAGE 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_SIZE_HINT 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_SIZE_HINT 1025 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_LIST_SIZE_HINT 63 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_SMALL 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_SIZE_HINT 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_SIZE_HINT 211 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_LIST_SIZE_HINT 31 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Definitions that indicate the encoding scheme character streams and strings etc 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Indicates Big Endian for encodings where this makes sense 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_BE 1 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Indicates Little Endian for encoidngs where this makes sense 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_LE 2 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// General latin-1 or other 8 bit encoding scheme such as straight ASCII 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_8BIT 4 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// UTF-8 encoding scheme 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF8 8 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// UTF-16 encoding scheme (which also covers UCS2 as that does not have surrogates) 84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF16 16 86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF16BE 16 + ANTLR3_BE 87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF16LE 16 + ANTLR3_LE 88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// UTF-32 encoding scheme (basically straight 32 bit) 90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF32 32 92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF32BE 32 + ANTLR3_BE 93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_UTF32LE 32 + ANTLR3_LE 94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Input is 8 bit EBCDIC (which we convert to 8 bit ASCII on the fly 96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_ENC_EBCDIC 64 98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Common definitions come first 100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <antlr3errors.h> 102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Work out what operating system/compiler this is. We just do this once 104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * here and use an internal symbol after this. 105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef _WIN64 107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# ifndef ANTLR3_WINDOWS 109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# define ANTLR3_WINDOWS 110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# define ANTLR3_WIN64 112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# define ANTLR3_USE_64BIT 113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef _WIN32 117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# ifndef ANTLR3_WINDOWS 118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# define ANTLR3_WINDOWS 119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_WIN32 122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_WINDOWS 127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef WIN32_LEAN_AND_MEAN 129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define WIN32_LEAN_AND_MEAN 130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Allow VC 8 (vs2005) and above to use 'secure' versions of various functions such as sprintf 133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef _CRT_SECURE_NO_DEPRECATE 135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define _CRT_SECURE_NO_DEPRECATE 136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <windows.h> 139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <stdlib.h> 140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <winsock.h> 141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <stdio.h> 142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <sys/types.h> 143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <sys/stat.h> 144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <stdarg.h> 145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_API __declspec(dllexport) 147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_CDECL __cdecl 148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FASTCALL __fastcall 149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __cplusplus 151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverextern "C" { 152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef __MINGW32__ 155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Standard Windows types 156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef INT32 ANTLR3_CHAR, *pANTLR3_CHAR; 158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT32 ANTLR3_UCHAR, *pANTLR3_UCHAR; 159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef INT8 ANTLR3_INT8, *pANTLR3_INT8; 161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef INT16 ANTLR3_INT16, *pANTLR3_INT16; 162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef INT32 ANTLR3_INT32, *pANTLR3_INT32; 163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef INT64 ANTLR3_INT64, *pANTLR3_INT64; 164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT8 ANTLR3_UINT8, *pANTLR3_UINT8; 165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT16 ANTLR3_UINT16, *pANTLR3_UINT16; 166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT32 ANTLR3_UINT32, *pANTLR3_UINT32; 167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT64 ANTLR3_UINT64, *pANTLR3_UINT64; 168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT64 ANTLR3_BITWORD, *pANTLR3_BITWORD; 169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef UINT8 ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN; 170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Mingw uses stdint.h and fails to define standard Microsoft typedefs 173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// such as UINT16, hence we must use stdint.h for Mingw. 174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <stdint.h> 176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int32_t ANTLR3_CHAR, *pANTLR3_CHAR; 177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint32_t ANTLR3_UCHAR, *pANTLR3_UCHAR; 178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int8_t ANTLR3_INT8, *pANTLR3_INT8; 180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int16_t ANTLR3_INT16, *pANTLR3_INT16; 181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int32_t ANTLR3_INT32, *pANTLR3_INT32; 182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int64_t ANTLR3_INT64, *pANTLR3_INT64; 183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint8_t ANTLR3_UINT8, *pANTLR3_UINT8; 185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint16_t ANTLR3_UINT16, *pANTLR3_UINT16; 186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint32_t ANTLR3_UINT32, *pANTLR3_UINT32; 187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint64_t ANTLR3_UINT64, *pANTLR3_UINT64; 188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint64_t ANTLR3_BITWORD, *pANTLR3_BITWORD; 189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint8_t ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN; 191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT64_LIT(lit) lit##ULL 197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_INLINE __inline 199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef FILE * ANTLR3_FDSC; 201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef struct stat ANTLR3_FSTAT_STRUCT; 202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_USE_64BIT 204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT64)(ptr)) 205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)(ptr)) 206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)((ANTLR3_UINT64)(ptr)) 207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_INT64 ANTLR3_MARKER; 208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_UINT64 ANTLR3_INTKEY; 209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT32)(ptr)) 211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)((ANTLR3_UINT32)(ptr)) 212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)(ptr) 213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_INT32 ANTLR3_MARKER; 214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_UINT32 ANTLR3_INTKEY; 215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_WIN32 218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_WIN64 221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int ANTLR3_SALENT; // Type used for size of accept structure 225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration 226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef struct sockaddr ANTLR3_SOCKADDRC, * pANTLR3_SOCKADDRC; // Type used for cast on accept() 227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_CLOSESOCKET closesocket 229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __cplusplus 231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Warnings that are over-zealous such as complaining about strdup, we 235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * can turn off. 236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Don't complain about "deprecated" functions such as strdup 239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma warning( disable : 4996 ) 241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Include configure generated header file 245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <antlr3config.h> 247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <stdio.h> 249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_STDINT_H 251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <stdint.h> 252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_SYS_TYPES_H 255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <sys/types.h> 256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_SYS_STAT_H 259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <sys/stat.h> 260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if STDC_HEADERS 263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <stdlib.h> 264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <stddef.h> 265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <stdarg.h> 266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# if HAVE_STDLIB_H 268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <stdlib.h> 269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# if HAVE_STDARG_H 271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <stdarg.h> 272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_STRING_H 276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# if !STDC_HEADERS && HAVE_MEMORY_H 277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <memory.h> 278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <string.h> 280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_STRINGS_H 283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <strings.h> 284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_INTTYPES_H 287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <inttypes.h> 288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#if HAVE_UNISTD_H 291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <unistd.h> 292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_NETINET_IN_H 295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <netinet/in.h> 296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_SOCKET_H 299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <socket.h> 300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# if HAVE_SYS_SOCKET_H 302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <sys/socket.h> 303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_NETINET_TCP_H 307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <netinet/tcp.h> 308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_ARPA_NAMESER_H 311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <arpa/nameser.h> /* DNS HEADER struct */ 312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_NETDB_H 315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <netdb.h> 316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_SYS_RESOLVE_H 320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <sys/resolv.h> 321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_RESOLVE_H 324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <resolv.h> 325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_MALLOC_H 329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <malloc.h> 330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# ifdef HAVE_SYS_MALLOC_H 332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <sys/malloc.h> 333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef HAVE_CTYPE_H 337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# include <ctype.h> 338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Some platforms define a macro, index() in string.h. AIX is 341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * one of these for instance. We must get rid of that definition 342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * as we use ->index all over the place. defining macros like this in system header 343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * files is a really bad idea, but I doubt that IBM will listen to me ;-) 344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef index 346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#undef index 347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define _stat stat 350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// SOCKET not defined on Unix 352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int SOCKET; 354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_API 356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_CDECL 357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FASTCALL 358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __hpux 360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // HPUX is always different usually for no good reason. Tru64 should have kicked it 362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // into touch and everyone knows it ;-) 363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // 364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration 365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef void * pANTLR3_SOCKADDRC; // Type used for cast on accept() 366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef int ANTLR3_SALENT; 367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# if defined(_AIX) || __GNUC__ > 3 371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef socklen_t ANTLR3_SALENT; 373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# else 375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef size_t ANTLR3_SALENT; 377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver# endif 379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration 381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver typedef struct sockaddr * pANTLR3_SOCKADDRC; // Type used for cast on accept() 382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define INVALID_SOCKET ((SOCKET)-1) 386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_CLOSESOCKET close 387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __cplusplus 389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverextern "C" { 390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Inherit type definitions for autoconf 393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int32_t ANTLR3_CHAR, *pANTLR3_CHAR; 395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint32_t ANTLR3_UCHAR, *pANTLR3_UCHAR; 396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int8_t ANTLR3_INT8, *pANTLR3_INT8; 398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int16_t ANTLR3_INT16, *pANTLR3_INT16; 399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int32_t ANTLR3_INT32, *pANTLR3_INT32; 400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef int64_t ANTLR3_INT64, *pANTLR3_INT64; 401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint8_t ANTLR3_UINT8, *pANTLR3_UINT8; 403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint16_t ANTLR3_UINT16, *pANTLR3_UINT16; 404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint32_t ANTLR3_UINT32, *pANTLR3_UINT32; 405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint64_t ANTLR3_UINT64, *pANTLR3_UINT64; 406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint64_t ANTLR3_BITWORD, *pANTLR3_BITWORD; 407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef uint32_t ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN; 409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_INLINE inline 411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_API 412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef FILE * ANTLR3_FDSC; 414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef struct stat ANTLR3_FSTAT_STRUCT; 415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_USE_64BIT 417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT64)(ptr)) 418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)(ptr)) 419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)((ANTLR3_UINT64)(ptr)) 420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_INT64 ANTLR3_MARKER; 421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_UINT64 ANTLR3_INTKEY; 422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT32)(ptr)) 424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)((ANTLR3_UINT32)(ptr)) 425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)(ptr) 426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_INT32 ANTLR3_MARKER; 427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvertypedef ANTLR3_UINT32 ANTLR3_INTKEY; 428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_UINT64_LIT(lit) lit##ULL 430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __cplusplus 432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef ANTLR3_USE_64BIT 438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_TRIE_DEPTH 63 439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#else 440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_TRIE_DEPTH 31 441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Pre declare the typedefs for all the interfaces, then 443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * they can be inter-dependant and we will let the linker 444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * sort it out for us. 445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <antlr3interfaces.h> 447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Include the unicode.org conversion library header. 449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <antlr3convertutf.h> 451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Prototypes 453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_MALLOC 455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_MALLOC. You can override this before including 456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_MALLOC(request) malloc ((size_t)(request)) 459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_CALLOC 462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_CALLOC. You can override this before including 463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_CALLOC(numEl, elSize) calloc (numEl, (size_t)(elSize)) 466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_REALLOC 469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_REALLOC. You can override this before including 470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_REALLOC(current, request) realloc ((void *)(current), (size_t)(request)) 473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_FREE 475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_FREE. You can override this before including 476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FREE(ptr) free ((void *)(ptr)) 479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_FREE_FUNC 481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_FREE_FUNC. You can override this before including 482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FREE_FUNC free 485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_STRDUP 487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_STRDUP. You can override this before including 488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_STRDUP(instr) (pANTLR3_UINT8)(strdup ((const char *)(instr))) 491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_MEMCPY 493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_MEMCPY. You can override this before including 494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_MEMCPY(target, source, size) memcpy((void *)(target), (const void *)(source), (size_t)(size)) 497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_MEMMOVE 499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_MEMMOVE. You can override this before including 500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_MEMMOVE(target, source, size) memmove((void *)(target), (const void *)(source), (size_t)(size)) 503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_MEMSET 505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of ANTLR3_MEMSET. You can override this before including 506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// antlr3.h if you wish to use your own implementation. 507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_MEMSET(target, byte, size) memset((void *)(target), (int)(byte), (size_t)(size)) 509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_PRINTF 512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of printf, set this to something other than printf before including antlr3.h 513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// if your system does not have a printf. Note that you can define this to be <code>//</code> 514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// without harming the runtime. 515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_PRINTF printf 517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifndef ANTLR3_FPRINTF 520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// Default definition of fprintf, set this to something other than fprintf before including antlr3.h 521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// if your system does not have a fprintf. Note that you can define this to be <code>//</code> 522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// without harming the runtime. 523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/// 524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#define ANTLR3_FPRINTF fprintf 525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __cplusplus 528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverextern "C" { 529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 531324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_INT_TRIE antlr3IntTrieNew (ANTLR3_UINT32 depth); 532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 533324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BITSET antlr3BitsetNew (ANTLR3_UINT32 numBits); 534324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BITSET antlr3BitsetOf (ANTLR3_INT32 bit, ...); 535324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BITSET antlr3BitsetList (pANTLR3_HASH_TABLE list); 536324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BITSET antlr3BitsetCopy (pANTLR3_BITSET_LIST blist); 537324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BITSET antlr3BitsetLoad (pANTLR3_BITSET_LIST blist); 538324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3BitsetSetAPI (pANTLR3_BITSET bitset); 539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 541324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BASE_RECOGNIZER antlr3BaseRecognizerNew (ANTLR3_UINT32 type, ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state); 542324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3RecognitionExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer); 543324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3MTExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer); 544324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3MTNExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer); 545324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_HASH_TABLE antlr3HashTableNew (ANTLR3_UINT32 sizeHint); 546324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API ANTLR3_UINT32 antlr3Hash (void * key, ANTLR3_UINT32 keylen); 547324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_HASH_ENUM antlr3EnumNew (pANTLR3_HASH_TABLE table); 548324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_LIST antlr3ListNew (ANTLR3_UINT32 sizeHint); 549324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_VECTOR_FACTORY antlr3VectorFactoryNew (ANTLR3_UINT32 sizeHint); 550324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_VECTOR antlr3VectorNew (ANTLR3_UINT32 sizeHint); 551324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_STACK antlr3StackNew (ANTLR3_UINT32 sizeHint); 552324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3SetVectorApi (pANTLR3_VECTOR vector, ANTLR3_UINT32 sizeHint); 553324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API ANTLR3_UCHAR antlr3c8toAntlrc (ANTLR3_INT8 inc); 554324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_TOPO antlr3TopoNew(); 555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 556324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_EXCEPTION antlr3ExceptionNew (ANTLR3_UINT32 exception, void * name, void * message, ANTLR3_BOOLEAN freeMessage); 557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 559324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_INPUT_STREAM antlr3FileStreamNew (pANTLR3_UINT8 fileName, ANTLR3_UINT32 encoding); 560324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_INPUT_STREAM antlr3StringStreamNew (pANTLR3_UINT8 data, ANTLR3_UINT32 encoding, ANTLR3_UINT32 size, pANTLR3_UINT8 name); 561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 562324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_INT_STREAM antlr3IntStreamNew (void); 563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 564324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew (ANTLR3_UINT32 encoding); 565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 566324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TOKEN antlr3CommonTokenNew (ANTLR3_UINT32 ttype); 567324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_TOKEN_FACTORY antlr3TokenFactoryNew (pANTLR3_INPUT_STREAM input); 568324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3SetTokenAPI (pANTLR3_COMMON_TOKEN token); 569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 570324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_LEXER antlr3LexerNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_INPUT_STREAM input, pANTLR3_RECOGNIZER_SHARED_STATE state); 571324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_LEXER antlr3LexerNew (ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state); 572324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_PARSER antlr3ParserNewStreamDbg (ANTLR3_UINT32 sizeHint, pANTLR3_TOKEN_STREAM tstream, pANTLR3_DEBUG_EVENT_LISTENER dbg, pANTLR3_RECOGNIZER_SHARED_STATE state); 573324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_PARSER antlr3ParserNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_TOKEN_STREAM tstream, pANTLR3_RECOGNIZER_SHARED_STATE state); 574324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_PARSER antlr3ParserNew (ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state); 575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 576324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenStreamSourceNew (ANTLR3_UINT32 hint, pANTLR3_TOKEN_SOURCE source); 577324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenStreamNew (ANTLR3_UINT32 hint); 578324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenDebugStreamSourceNew (ANTLR3_UINT32 hint, pANTLR3_TOKEN_SOURCE source, pANTLR3_DEBUG_EVENT_LISTENER debugger); 579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 580324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BASE_TREE_ADAPTOR ANTLR3_TREE_ADAPTORNew (pANTLR3_STRING_FACTORY strFactory); 581324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BASE_TREE_ADAPTOR ANTLR3_TREE_ADAPTORDebugNew (pANTLR3_STRING_FACTORY strFactory, pANTLR3_DEBUG_EVENT_LISTENER debugger); 582324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNew (void); 583324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNewFromTree (pANTLR3_COMMON_TREE tree); 584324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNewFromToken (pANTLR3_COMMON_TOKEN tree); 585324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_ARBORETUM antlr3ArboretumNew (pANTLR3_STRING_FACTORY factory); 586324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3SetCTAPI (pANTLR3_COMMON_TREE tree); 587324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_BASE_TREE antlr3BaseTreeNew (pANTLR3_BASE_TREE tree); 588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 589324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void antlr3BaseTreeAdaptorInit (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_DEBUG_EVENT_LISTENER debugger); 590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 591324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_TREE_PARSER antlr3TreeParserNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_COMMON_TREE_NODE_STREAM ctnstream, pANTLR3_RECOGNIZER_SHARED_STATE state); 592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 593324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API ANTLR3_INT32 antlr3dfaspecialTransition (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA dfa, ANTLR3_INT32 s); 594324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API ANTLR3_INT32 antlr3dfaspecialStateTransition (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA dfa, ANTLR3_INT32 s); 595324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API ANTLR3_INT32 antlr3dfapredict (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA cdfa); 596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 597324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNewTree (pANTLR3_BASE_TREE tree, ANTLR3_UINT32 hint); 598324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNew (pANTLR3_STRING_FACTORY strFactory, ANTLR3_UINT32 hint); 599324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3UnbufTreeNodeStreamNewTree (pANTLR3_BASE_TREE tree, ANTLR3_UINT32 hint); 600324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3UnbufTreeNodeStreamNew (pANTLR3_STRING_FACTORY strFactory, ANTLR3_UINT32 hint); 601324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNewStream (pANTLR3_COMMON_TREE_NODE_STREAM inStream); 602324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_TREE_NODE_STREAM antlr3TreeNodeStreamNew (); 603324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API void fillBufferExt (pANTLR3_COMMON_TOKEN_STREAM tokenStream); 604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 605324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleTOKENStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description); 607324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleTOKENStreamNewAEE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement); 609324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleTOKENStreamNewAEV (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector); 611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 612324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM 613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleNODEStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description); 614324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM 615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleNODEStreamNewAEE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement); 616324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM 617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleNODEStreamNewAEV (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector); 618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 619324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleSubtreeStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description); 621324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleSubtreeStreamNewAEE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement); 623324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver antlr3RewriteRuleSubtreeStreamNewAEV(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector); 625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 626324c4644fee44b9898524c09511bd33c3f12e2dfBen GruverANTLR3_API pANTLR3_DEBUG_EVENT_LISTENER antlr3DebugListenerNew(); 627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#ifdef __cplusplus 629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif 631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#endif /* _ANTLR3DEFS_H */ 633