1*16467b97STreehugger Robot /** \file 2*16467b97STreehugger Robot * Basic type and constant definitions for ANTLR3 Runtime. 3*16467b97STreehugger Robot */ 4*16467b97STreehugger Robot #ifndef _ANTLR3DEFS_H 5*16467b97STreehugger Robot #define _ANTLR3DEFS_H 6*16467b97STreehugger Robot 7*16467b97STreehugger Robot // [The "BSD licence"] 8*16467b97STreehugger Robot // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC 9*16467b97STreehugger Robot // http://www.temporal-wave.com 10*16467b97STreehugger Robot // http://www.linkedin.com/in/jimidle 11*16467b97STreehugger Robot // 12*16467b97STreehugger Robot // All rights reserved. 13*16467b97STreehugger Robot // 14*16467b97STreehugger Robot // Redistribution and use in source and binary forms, with or without 15*16467b97STreehugger Robot // modification, are permitted provided that the following conditions 16*16467b97STreehugger Robot // are met: 17*16467b97STreehugger Robot // 1. Redistributions of source code must retain the above copyright 18*16467b97STreehugger Robot // notice, this list of conditions and the following disclaimer. 19*16467b97STreehugger Robot // 2. Redistributions in binary form must reproduce the above copyright 20*16467b97STreehugger Robot // notice, this list of conditions and the following disclaimer in the 21*16467b97STreehugger Robot // documentation and/or other materials provided with the distribution. 22*16467b97STreehugger Robot // 3. The name of the author may not be used to endorse or promote products 23*16467b97STreehugger Robot // derived from this software without specific prior written permission. 24*16467b97STreehugger Robot // 25*16467b97STreehugger Robot // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 26*16467b97STreehugger Robot // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 27*16467b97STreehugger Robot // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 28*16467b97STreehugger Robot // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 29*16467b97STreehugger Robot // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30*16467b97STreehugger Robot // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31*16467b97STreehugger Robot // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32*16467b97STreehugger Robot // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33*16467b97STreehugger Robot // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34*16467b97STreehugger Robot // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35*16467b97STreehugger Robot 36*16467b97STreehugger Robot /* Following are for generated code, they are not referenced internally!!! 37*16467b97STreehugger Robot */ 38*16467b97STreehugger Robot #if !defined(ANTLR3_HUGE) && !defined(ANTLR3_AVERAGE) && !defined(ANTLR3_SMALL) 39*16467b97STreehugger Robot #define ANTLR3_AVERAGE 40*16467b97STreehugger Robot #endif 41*16467b97STreehugger Robot 42*16467b97STreehugger Robot #ifdef ANTLR3_HUGE 43*16467b97STreehugger Robot #ifndef ANTLR3_SIZE_HINT 44*16467b97STreehugger Robot #define ANTLR3_SIZE_HINT 2049 45*16467b97STreehugger Robot #endif 46*16467b97STreehugger Robot #ifndef ANTLR3_LIST_SIZE_HINT 47*16467b97STreehugger Robot #define ANTLR3_LIST_SIZE_HINT 127 48*16467b97STreehugger Robot #endif 49*16467b97STreehugger Robot #endif 50*16467b97STreehugger Robot 51*16467b97STreehugger Robot #ifdef ANTLR3_AVERAGE 52*16467b97STreehugger Robot #ifndef ANTLR3_SIZE_HINT 53*16467b97STreehugger Robot #define ANTLR3_SIZE_HINT 1025 54*16467b97STreehugger Robot #define ANTLR3_LIST_SIZE_HINT 63 55*16467b97STreehugger Robot #endif 56*16467b97STreehugger Robot #endif 57*16467b97STreehugger Robot 58*16467b97STreehugger Robot #ifdef ANTLR3_SMALL 59*16467b97STreehugger Robot #ifndef ANTLR3_SIZE_HINT 60*16467b97STreehugger Robot #define ANTLR3_SIZE_HINT 211 61*16467b97STreehugger Robot #define ANTLR3_LIST_SIZE_HINT 31 62*16467b97STreehugger Robot #endif 63*16467b97STreehugger Robot #endif 64*16467b97STreehugger Robot 65*16467b97STreehugger Robot // Definitions that indicate the encoding scheme character streams and strings etc 66*16467b97STreehugger Robot // 67*16467b97STreehugger Robot /// Indicates Big Endian for encodings where this makes sense 68*16467b97STreehugger Robot /// 69*16467b97STreehugger Robot #define ANTLR3_BE 1 70*16467b97STreehugger Robot 71*16467b97STreehugger Robot /// Indicates Little Endian for encoidngs where this makes sense 72*16467b97STreehugger Robot /// 73*16467b97STreehugger Robot #define ANTLR3_LE 2 74*16467b97STreehugger Robot 75*16467b97STreehugger Robot /// General latin-1 or other 8 bit encoding scheme such as straight ASCII 76*16467b97STreehugger Robot /// 77*16467b97STreehugger Robot #define ANTLR3_ENC_8BIT 4 78*16467b97STreehugger Robot 79*16467b97STreehugger Robot /// UTF-8 encoding scheme 80*16467b97STreehugger Robot /// 81*16467b97STreehugger Robot #define ANTLR3_ENC_UTF8 8 82*16467b97STreehugger Robot 83*16467b97STreehugger Robot /// UTF-16 encoding scheme (which also covers UCS2 as that does not have surrogates) 84*16467b97STreehugger Robot /// 85*16467b97STreehugger Robot #define ANTLR3_ENC_UTF16 16 86*16467b97STreehugger Robot #define ANTLR3_ENC_UTF16BE 16 + ANTLR3_BE 87*16467b97STreehugger Robot #define ANTLR3_ENC_UTF16LE 16 + ANTLR3_LE 88*16467b97STreehugger Robot 89*16467b97STreehugger Robot /// UTF-32 encoding scheme (basically straight 32 bit) 90*16467b97STreehugger Robot /// 91*16467b97STreehugger Robot #define ANTLR3_ENC_UTF32 32 92*16467b97STreehugger Robot #define ANTLR3_ENC_UTF32BE 32 + ANTLR3_BE 93*16467b97STreehugger Robot #define ANTLR3_ENC_UTF32LE 32 + ANTLR3_LE 94*16467b97STreehugger Robot 95*16467b97STreehugger Robot /// Input is 8 bit EBCDIC (which we convert to 8 bit ASCII on the fly 96*16467b97STreehugger Robot /// 97*16467b97STreehugger Robot #define ANTLR3_ENC_EBCDIC 64 98*16467b97STreehugger Robot 99*16467b97STreehugger Robot /* Common definitions come first 100*16467b97STreehugger Robot */ 101*16467b97STreehugger Robot #include <antlr3errors.h> 102*16467b97STreehugger Robot 103*16467b97STreehugger Robot /* Work out what operating system/compiler this is. We just do this once 104*16467b97STreehugger Robot * here and use an internal symbol after this. 105*16467b97STreehugger Robot */ 106*16467b97STreehugger Robot #ifdef _WIN64 107*16467b97STreehugger Robot 108*16467b97STreehugger Robot # ifndef ANTLR3_WINDOWS 109*16467b97STreehugger Robot # define ANTLR3_WINDOWS 110*16467b97STreehugger Robot # endif 111*16467b97STreehugger Robot # define ANTLR3_WIN64 112*16467b97STreehugger Robot # define ANTLR3_USE_64BIT 113*16467b97STreehugger Robot 114*16467b97STreehugger Robot #elif __LP64__ 115*16467b97STreehugger Robot 116*16467b97STreehugger Robot # define ANTLR3_USE_64BIT 117*16467b97STreehugger Robot 118*16467b97STreehugger Robot #else 119*16467b97STreehugger Robot 120*16467b97STreehugger Robot #ifdef _WIN32 121*16467b97STreehugger Robot # ifndef ANTLR3_WINDOWS 122*16467b97STreehugger Robot # define ANTLR3_WINDOWS 123*16467b97STreehugger Robot # endif 124*16467b97STreehugger Robot 125*16467b97STreehugger Robot #define ANTLR3_WIN32 126*16467b97STreehugger Robot #endif 127*16467b97STreehugger Robot 128*16467b97STreehugger Robot #endif 129*16467b97STreehugger Robot 130*16467b97STreehugger Robot #ifdef ANTLR3_WINDOWS 131*16467b97STreehugger Robot 132*16467b97STreehugger Robot #ifndef WIN32_LEAN_AND_MEAN 133*16467b97STreehugger Robot #define WIN32_LEAN_AND_MEAN 134*16467b97STreehugger Robot #endif 135*16467b97STreehugger Robot 136*16467b97STreehugger Robot /* Allow VC 8 (vs2005) and above to use 'secure' versions of various functions such as sprintf 137*16467b97STreehugger Robot */ 138*16467b97STreehugger Robot #ifndef _CRT_SECURE_NO_DEPRECATE 139*16467b97STreehugger Robot #define _CRT_SECURE_NO_DEPRECATE 140*16467b97STreehugger Robot #endif 141*16467b97STreehugger Robot 142*16467b97STreehugger Robot #include <windows.h> 143*16467b97STreehugger Robot #include <stdlib.h> 144*16467b97STreehugger Robot #include <winsock.h> 145*16467b97STreehugger Robot #include <stdio.h> 146*16467b97STreehugger Robot #include <sys/types.h> 147*16467b97STreehugger Robot #include <sys/stat.h> 148*16467b97STreehugger Robot #include <stdarg.h> 149*16467b97STreehugger Robot 150*16467b97STreehugger Robot #define ANTLR3_API __declspec(dllexport) 151*16467b97STreehugger Robot #define ANTLR3_CDECL __cdecl 152*16467b97STreehugger Robot #define ANTLR3_FASTCALL __fastcall 153*16467b97STreehugger Robot 154*16467b97STreehugger Robot #ifdef __cplusplus 155*16467b97STreehugger Robot extern "C" { 156*16467b97STreehugger Robot #endif 157*16467b97STreehugger Robot 158*16467b97STreehugger Robot #ifndef __MINGW32__ 159*16467b97STreehugger Robot // Standard Windows types 160*16467b97STreehugger Robot // 161*16467b97STreehugger Robot typedef INT32 ANTLR3_CHAR, *pANTLR3_CHAR; 162*16467b97STreehugger Robot typedef UINT32 ANTLR3_UCHAR, *pANTLR3_UCHAR; 163*16467b97STreehugger Robot 164*16467b97STreehugger Robot typedef INT8 ANTLR3_INT8, *pANTLR3_INT8; 165*16467b97STreehugger Robot typedef INT16 ANTLR3_INT16, *pANTLR3_INT16; 166*16467b97STreehugger Robot typedef INT32 ANTLR3_INT32, *pANTLR3_INT32; 167*16467b97STreehugger Robot typedef INT64 ANTLR3_INT64, *pANTLR3_INT64; 168*16467b97STreehugger Robot typedef UINT8 ANTLR3_UINT8, *pANTLR3_UINT8; 169*16467b97STreehugger Robot typedef UINT16 ANTLR3_UINT16, *pANTLR3_UINT16; 170*16467b97STreehugger Robot typedef UINT32 ANTLR3_UINT32, *pANTLR3_UINT32; 171*16467b97STreehugger Robot typedef UINT64 ANTLR3_UINT64, *pANTLR3_UINT64; 172*16467b97STreehugger Robot typedef UINT64 ANTLR3_BITWORD, *pANTLR3_BITWORD; 173*16467b97STreehugger Robot typedef UINT8 ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN; 174*16467b97STreehugger Robot 175*16467b97STreehugger Robot #else 176*16467b97STreehugger Robot // Mingw uses stdint.h and fails to define standard Microsoft typedefs 177*16467b97STreehugger Robot // such as UINT16, hence we must use stdint.h for Mingw. 178*16467b97STreehugger Robot // 179*16467b97STreehugger Robot #include <stdint.h> 180*16467b97STreehugger Robot typedef int32_t ANTLR3_CHAR, *pANTLR3_CHAR; 181*16467b97STreehugger Robot typedef uint32_t ANTLR3_UCHAR, *pANTLR3_UCHAR; 182*16467b97STreehugger Robot 183*16467b97STreehugger Robot typedef int8_t ANTLR3_INT8, *pANTLR3_INT8; 184*16467b97STreehugger Robot typedef int16_t ANTLR3_INT16, *pANTLR3_INT16; 185*16467b97STreehugger Robot typedef int32_t ANTLR3_INT32, *pANTLR3_INT32; 186*16467b97STreehugger Robot typedef int64_t ANTLR3_INT64, *pANTLR3_INT64; 187*16467b97STreehugger Robot 188*16467b97STreehugger Robot typedef uint8_t ANTLR3_UINT8, *pANTLR3_UINT8; 189*16467b97STreehugger Robot typedef uint16_t ANTLR3_UINT16, *pANTLR3_UINT16; 190*16467b97STreehugger Robot typedef uint32_t ANTLR3_UINT32, *pANTLR3_UINT32; 191*16467b97STreehugger Robot typedef uint64_t ANTLR3_UINT64, *pANTLR3_UINT64; 192*16467b97STreehugger Robot typedef uint64_t ANTLR3_BITWORD, *pANTLR3_BITWORD; 193*16467b97STreehugger Robot 194*16467b97STreehugger Robot typedef uint8_t ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN; 195*16467b97STreehugger Robot 196*16467b97STreehugger Robot #endif 197*16467b97STreehugger Robot 198*16467b97STreehugger Robot 199*16467b97STreehugger Robot 200*16467b97STreehugger Robot #define ANTLR3_UINT64_LIT(lit) lit##ULL 201*16467b97STreehugger Robot 202*16467b97STreehugger Robot #define ANTLR3_INLINE __inline 203*16467b97STreehugger Robot 204*16467b97STreehugger Robot typedef FILE * ANTLR3_FDSC; 205*16467b97STreehugger Robot typedef struct stat ANTLR3_FSTAT_STRUCT; 206*16467b97STreehugger Robot 207*16467b97STreehugger Robot #ifdef ANTLR3_USE_64BIT 208*16467b97STreehugger Robot #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT64)(ptr)) 209*16467b97STreehugger Robot #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)(ptr)) 210*16467b97STreehugger Robot #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)((ANTLR3_UINT64)(ptr)) 211*16467b97STreehugger Robot typedef ANTLR3_INT64 ANTLR3_MARKER; 212*16467b97STreehugger Robot typedef ANTLR3_UINT64 ANTLR3_INTKEY; 213*16467b97STreehugger Robot #else 214*16467b97STreehugger Robot #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT32)(ptr)) 215*16467b97STreehugger Robot #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)((ANTLR3_UINT32)(ptr)) 216*16467b97STreehugger Robot #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)(ptr) 217*16467b97STreehugger Robot typedef ANTLR3_INT32 ANTLR3_MARKER; 218*16467b97STreehugger Robot typedef ANTLR3_UINT32 ANTLR3_INTKEY; 219*16467b97STreehugger Robot #endif 220*16467b97STreehugger Robot 221*16467b97STreehugger Robot #ifdef ANTLR3_WIN32 222*16467b97STreehugger Robot #endif 223*16467b97STreehugger Robot 224*16467b97STreehugger Robot #ifdef ANTLR3_WIN64 225*16467b97STreehugger Robot #endif 226*16467b97STreehugger Robot 227*16467b97STreehugger Robot 228*16467b97STreehugger Robot typedef int ANTLR3_SALENT; // Type used for size of accept structure 229*16467b97STreehugger Robot typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration 230*16467b97STreehugger Robot typedef struct sockaddr ANTLR3_SOCKADDRC, * pANTLR3_SOCKADDRC; // Type used for cast on accept() 231*16467b97STreehugger Robot 232*16467b97STreehugger Robot #define ANTLR3_CLOSESOCKET closesocket 233*16467b97STreehugger Robot 234*16467b97STreehugger Robot #ifdef __cplusplus 235*16467b97STreehugger Robot } 236*16467b97STreehugger Robot #endif 237*16467b97STreehugger Robot 238*16467b97STreehugger Robot /* Warnings that are over-zealous such as complaining about strdup, we 239*16467b97STreehugger Robot * can turn off. 240*16467b97STreehugger Robot */ 241*16467b97STreehugger Robot 242*16467b97STreehugger Robot /* Don't complain about "deprecated" functions such as strdup 243*16467b97STreehugger Robot */ 244*16467b97STreehugger Robot #pragma warning( disable : 4996 ) 245*16467b97STreehugger Robot 246*16467b97STreehugger Robot #else 247*16467b97STreehugger Robot 248*16467b97STreehugger Robot /* Include configure generated header file 249*16467b97STreehugger Robot */ 250*16467b97STreehugger Robot #include <antlr3config.h> 251*16467b97STreehugger Robot 252*16467b97STreehugger Robot #include <stdio.h> 253*16467b97STreehugger Robot 254*16467b97STreehugger Robot #if HAVE_STDINT_H 255*16467b97STreehugger Robot # include <stdint.h> 256*16467b97STreehugger Robot #endif 257*16467b97STreehugger Robot 258*16467b97STreehugger Robot #if HAVE_SYS_TYPES_H 259*16467b97STreehugger Robot # include <sys/types.h> 260*16467b97STreehugger Robot #endif 261*16467b97STreehugger Robot 262*16467b97STreehugger Robot #if HAVE_SYS_STAT_H 263*16467b97STreehugger Robot # include <sys/stat.h> 264*16467b97STreehugger Robot #endif 265*16467b97STreehugger Robot 266*16467b97STreehugger Robot #if STDC_HEADERS 267*16467b97STreehugger Robot # include <stdlib.h> 268*16467b97STreehugger Robot # include <stddef.h> 269*16467b97STreehugger Robot # include <stdarg.h> 270*16467b97STreehugger Robot #else 271*16467b97STreehugger Robot # if HAVE_STDLIB_H 272*16467b97STreehugger Robot # include <stdlib.h> 273*16467b97STreehugger Robot # endif 274*16467b97STreehugger Robot # if HAVE_STDARG_H 275*16467b97STreehugger Robot # include <stdarg.h> 276*16467b97STreehugger Robot # endif 277*16467b97STreehugger Robot #endif 278*16467b97STreehugger Robot 279*16467b97STreehugger Robot #if HAVE_STRING_H 280*16467b97STreehugger Robot # if !STDC_HEADERS && HAVE_MEMORY_H 281*16467b97STreehugger Robot # include <memory.h> 282*16467b97STreehugger Robot # endif 283*16467b97STreehugger Robot # include <string.h> 284*16467b97STreehugger Robot #endif 285*16467b97STreehugger Robot 286*16467b97STreehugger Robot #if HAVE_STRINGS_H 287*16467b97STreehugger Robot # include <strings.h> 288*16467b97STreehugger Robot #endif 289*16467b97STreehugger Robot 290*16467b97STreehugger Robot #if HAVE_INTTYPES_H 291*16467b97STreehugger Robot # include <inttypes.h> 292*16467b97STreehugger Robot #endif 293*16467b97STreehugger Robot 294*16467b97STreehugger Robot #if HAVE_UNISTD_H 295*16467b97STreehugger Robot # include <unistd.h> 296*16467b97STreehugger Robot #endif 297*16467b97STreehugger Robot 298*16467b97STreehugger Robot #ifdef HAVE_NETINET_IN_H 299*16467b97STreehugger Robot #include <netinet/in.h> 300*16467b97STreehugger Robot #endif 301*16467b97STreehugger Robot 302*16467b97STreehugger Robot #ifdef HAVE_SOCKET_H 303*16467b97STreehugger Robot # include <socket.h> 304*16467b97STreehugger Robot #else 305*16467b97STreehugger Robot # if HAVE_SYS_SOCKET_H 306*16467b97STreehugger Robot # include <sys/socket.h> 307*16467b97STreehugger Robot # endif 308*16467b97STreehugger Robot #endif 309*16467b97STreehugger Robot 310*16467b97STreehugger Robot #ifdef HAVE_NETINET_TCP_H 311*16467b97STreehugger Robot #include <netinet/tcp.h> 312*16467b97STreehugger Robot #endif 313*16467b97STreehugger Robot 314*16467b97STreehugger Robot #ifdef HAVE_ARPA_NAMESER_H 315*16467b97STreehugger Robot #include <arpa/nameser.h> /* DNS HEADER struct */ 316*16467b97STreehugger Robot #endif 317*16467b97STreehugger Robot 318*16467b97STreehugger Robot #ifdef HAVE_NETDB_H 319*16467b97STreehugger Robot #include <netdb.h> 320*16467b97STreehugger Robot #endif 321*16467b97STreehugger Robot 322*16467b97STreehugger Robot 323*16467b97STreehugger Robot #ifdef HAVE_SYS_RESOLVE_H 324*16467b97STreehugger Robot #include <sys/resolv.h> 325*16467b97STreehugger Robot #endif 326*16467b97STreehugger Robot 327*16467b97STreehugger Robot #ifdef HAVE_RESOLVE_H 328*16467b97STreehugger Robot #include <resolv.h> 329*16467b97STreehugger Robot #endif 330*16467b97STreehugger Robot 331*16467b97STreehugger Robot 332*16467b97STreehugger Robot #ifdef HAVE_MALLOC_H 333*16467b97STreehugger Robot # include <malloc.h> 334*16467b97STreehugger Robot #else 335*16467b97STreehugger Robot # ifdef HAVE_SYS_MALLOC_H 336*16467b97STreehugger Robot # include <sys/malloc.h> 337*16467b97STreehugger Robot # endif 338*16467b97STreehugger Robot #endif 339*16467b97STreehugger Robot 340*16467b97STreehugger Robot #ifdef HAVE_CTYPE_H 341*16467b97STreehugger Robot # include <ctype.h> 342*16467b97STreehugger Robot #endif 343*16467b97STreehugger Robot 344*16467b97STreehugger Robot /* Some platforms define a macro, index() in string.h. AIX is 345*16467b97STreehugger Robot * one of these for instance. We must get rid of that definition 346*16467b97STreehugger Robot * as we use ->index all over the place. defining macros like this in system header 347*16467b97STreehugger Robot * files is a really bad idea, but I doubt that IBM will listen to me ;-) 348*16467b97STreehugger Robot */ 349*16467b97STreehugger Robot #ifdef index 350*16467b97STreehugger Robot #undef index 351*16467b97STreehugger Robot #endif 352*16467b97STreehugger Robot 353*16467b97STreehugger Robot #define _stat stat 354*16467b97STreehugger Robot 355*16467b97STreehugger Robot // SOCKET not defined on Unix 356*16467b97STreehugger Robot // 357*16467b97STreehugger Robot typedef int SOCKET; 358*16467b97STreehugger Robot 359*16467b97STreehugger Robot #define ANTLR3_API 360*16467b97STreehugger Robot #define ANTLR3_CDECL 361*16467b97STreehugger Robot #define ANTLR3_FASTCALL 362*16467b97STreehugger Robot 363*16467b97STreehugger Robot #ifdef __hpux 364*16467b97STreehugger Robot 365*16467b97STreehugger Robot // HPUX is always different usually for no good reason. Tru64 should have kicked it 366*16467b97STreehugger Robot // into touch and everyone knows it ;-) 367*16467b97STreehugger Robot // 368*16467b97STreehugger Robot typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration 369*16467b97STreehugger Robot typedef void * pANTLR3_SOCKADDRC; // Type used for cast on accept() 370*16467b97STreehugger Robot typedef int ANTLR3_SALENT; 371*16467b97STreehugger Robot 372*16467b97STreehugger Robot #else 373*16467b97STreehugger Robot 374*16467b97STreehugger Robot # if defined(_AIX) || __GNUC__ > 3 375*16467b97STreehugger Robot 376*16467b97STreehugger Robot typedef socklen_t ANTLR3_SALENT; 377*16467b97STreehugger Robot 378*16467b97STreehugger Robot # else 379*16467b97STreehugger Robot 380*16467b97STreehugger Robot typedef size_t ANTLR3_SALENT; 381*16467b97STreehugger Robot 382*16467b97STreehugger Robot # endif 383*16467b97STreehugger Robot 384*16467b97STreehugger Robot typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration 385*16467b97STreehugger Robot typedef struct sockaddr * pANTLR3_SOCKADDRC; // Type used for cast on accept() 386*16467b97STreehugger Robot 387*16467b97STreehugger Robot #endif 388*16467b97STreehugger Robot 389*16467b97STreehugger Robot #define INVALID_SOCKET ((SOCKET)-1) 390*16467b97STreehugger Robot #define ANTLR3_CLOSESOCKET close 391*16467b97STreehugger Robot 392*16467b97STreehugger Robot #ifdef __cplusplus 393*16467b97STreehugger Robot extern "C" { 394*16467b97STreehugger Robot #endif 395*16467b97STreehugger Robot 396*16467b97STreehugger Robot /* Inherit type definitions for autoconf 397*16467b97STreehugger Robot */ 398*16467b97STreehugger Robot typedef int32_t ANTLR3_CHAR, *pANTLR3_CHAR; 399*16467b97STreehugger Robot typedef uint32_t ANTLR3_UCHAR, *pANTLR3_UCHAR; 400*16467b97STreehugger Robot 401*16467b97STreehugger Robot typedef int8_t ANTLR3_INT8, *pANTLR3_INT8; 402*16467b97STreehugger Robot typedef int16_t ANTLR3_INT16, *pANTLR3_INT16; 403*16467b97STreehugger Robot typedef int32_t ANTLR3_INT32, *pANTLR3_INT32; 404*16467b97STreehugger Robot typedef int64_t ANTLR3_INT64, *pANTLR3_INT64; 405*16467b97STreehugger Robot 406*16467b97STreehugger Robot typedef uint8_t ANTLR3_UINT8, *pANTLR3_UINT8; 407*16467b97STreehugger Robot typedef uint16_t ANTLR3_UINT16, *pANTLR3_UINT16; 408*16467b97STreehugger Robot typedef uint32_t ANTLR3_UINT32, *pANTLR3_UINT32; 409*16467b97STreehugger Robot typedef uint64_t ANTLR3_UINT64, *pANTLR3_UINT64; 410*16467b97STreehugger Robot typedef uint64_t ANTLR3_BITWORD, *pANTLR3_BITWORD; 411*16467b97STreehugger Robot 412*16467b97STreehugger Robot typedef uint32_t ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN; 413*16467b97STreehugger Robot 414*16467b97STreehugger Robot #define ANTLR3_INLINE inline 415*16467b97STreehugger Robot #define ANTLR3_API 416*16467b97STreehugger Robot 417*16467b97STreehugger Robot typedef FILE * ANTLR3_FDSC; 418*16467b97STreehugger Robot typedef struct stat ANTLR3_FSTAT_STRUCT; 419*16467b97STreehugger Robot 420*16467b97STreehugger Robot #ifdef ANTLR3_USE_64BIT 421*16467b97STreehugger Robot #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT64)(ptr)) 422*16467b97STreehugger Robot #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)(ptr)) 423*16467b97STreehugger Robot #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)((ANTLR3_UINT64)(ptr)) 424*16467b97STreehugger Robot typedef ANTLR3_INT64 ANTLR3_MARKER; 425*16467b97STreehugger Robot typedef ANTLR3_UINT64 ANTLR3_INTKEY; 426*16467b97STreehugger Robot #else 427*16467b97STreehugger Robot #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT32)(ptr)) 428*16467b97STreehugger Robot #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)((ANTLR3_UINT32)(ptr)) 429*16467b97STreehugger Robot #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)(ptr) 430*16467b97STreehugger Robot typedef ANTLR3_INT32 ANTLR3_MARKER; 431*16467b97STreehugger Robot typedef ANTLR3_UINT32 ANTLR3_INTKEY; 432*16467b97STreehugger Robot #endif 433*16467b97STreehugger Robot #define ANTLR3_UINT64_LIT(lit) lit##ULL 434*16467b97STreehugger Robot 435*16467b97STreehugger Robot #ifdef __cplusplus 436*16467b97STreehugger Robot } 437*16467b97STreehugger Robot #endif 438*16467b97STreehugger Robot 439*16467b97STreehugger Robot #endif 440*16467b97STreehugger Robot 441*16467b97STreehugger Robot #ifdef ANTLR3_USE_64BIT 442*16467b97STreehugger Robot #define ANTLR3_TRIE_DEPTH 63 443*16467b97STreehugger Robot #else 444*16467b97STreehugger Robot #define ANTLR3_TRIE_DEPTH 31 445*16467b97STreehugger Robot #endif 446*16467b97STreehugger Robot /* Pre declare the typedefs for all the interfaces, then 447*16467b97STreehugger Robot * they can be inter-dependant and we will let the linker 448*16467b97STreehugger Robot * sort it out for us. 449*16467b97STreehugger Robot */ 450*16467b97STreehugger Robot #include <antlr3interfaces.h> 451*16467b97STreehugger Robot 452*16467b97STreehugger Robot // Include the unicode.org conversion library header. 453*16467b97STreehugger Robot // 454*16467b97STreehugger Robot #include <antlr3convertutf.h> 455*16467b97STreehugger Robot 456*16467b97STreehugger Robot /* Prototypes 457*16467b97STreehugger Robot */ 458*16467b97STreehugger Robot #ifndef ANTLR3_MALLOC 459*16467b97STreehugger Robot /// Default definition of ANTLR3_MALLOC. You can override this before including 460*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 461*16467b97STreehugger Robot /// 462*16467b97STreehugger Robot #define ANTLR3_MALLOC(request) malloc ((size_t)(request)) 463*16467b97STreehugger Robot #endif 464*16467b97STreehugger Robot 465*16467b97STreehugger Robot #ifndef ANTLR3_CALLOC 466*16467b97STreehugger Robot /// Default definition of ANTLR3_CALLOC. You can override this before including 467*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 468*16467b97STreehugger Robot /// 469*16467b97STreehugger Robot #define ANTLR3_CALLOC(numEl, elSize) calloc (numEl, (size_t)(elSize)) 470*16467b97STreehugger Robot #endif 471*16467b97STreehugger Robot 472*16467b97STreehugger Robot #ifndef ANTLR3_REALLOC 473*16467b97STreehugger Robot /// Default definition of ANTLR3_REALLOC. You can override this before including 474*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 475*16467b97STreehugger Robot /// 476*16467b97STreehugger Robot #define ANTLR3_REALLOC(current, request) realloc ((void *)(current), (size_t)(request)) 477*16467b97STreehugger Robot #endif 478*16467b97STreehugger Robot #ifndef ANTLR3_FREE 479*16467b97STreehugger Robot /// Default definition of ANTLR3_FREE. You can override this before including 480*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 481*16467b97STreehugger Robot /// 482*16467b97STreehugger Robot #define ANTLR3_FREE(ptr) free ((void *)(ptr)) 483*16467b97STreehugger Robot #endif 484*16467b97STreehugger Robot #ifndef ANTLR3_FREE_FUNC 485*16467b97STreehugger Robot /// Default definition of ANTLR3_FREE_FUNC. You can override this before including 486*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 487*16467b97STreehugger Robot /// 488*16467b97STreehugger Robot #define ANTLR3_FREE_FUNC free 489*16467b97STreehugger Robot #endif 490*16467b97STreehugger Robot #ifndef ANTLR3_STRDUP 491*16467b97STreehugger Robot /// Default definition of ANTLR3_STRDUP. You can override this before including 492*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 493*16467b97STreehugger Robot /// 494*16467b97STreehugger Robot #define ANTLR3_STRDUP(instr) (pANTLR3_UINT8)(strdup ((const char *)(instr))) 495*16467b97STreehugger Robot #endif 496*16467b97STreehugger Robot #ifndef ANTLR3_MEMCPY 497*16467b97STreehugger Robot /// Default definition of ANTLR3_MEMCPY. You can override this before including 498*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 499*16467b97STreehugger Robot /// 500*16467b97STreehugger Robot #define ANTLR3_MEMCPY(target, source, size) memcpy((void *)(target), (const void *)(source), (size_t)(size)) 501*16467b97STreehugger Robot #endif 502*16467b97STreehugger Robot #ifndef ANTLR3_MEMMOVE 503*16467b97STreehugger Robot /// Default definition of ANTLR3_MEMMOVE. You can override this before including 504*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 505*16467b97STreehugger Robot /// 506*16467b97STreehugger Robot #define ANTLR3_MEMMOVE(target, source, size) memmove((void *)(target), (const void *)(source), (size_t)(size)) 507*16467b97STreehugger Robot #endif 508*16467b97STreehugger Robot #ifndef ANTLR3_MEMSET 509*16467b97STreehugger Robot /// Default definition of ANTLR3_MEMSET. You can override this before including 510*16467b97STreehugger Robot /// antlr3.h if you wish to use your own implementation. 511*16467b97STreehugger Robot /// 512*16467b97STreehugger Robot #define ANTLR3_MEMSET(target, byte, size) memset((void *)(target), (int)(byte), (size_t)(size)) 513*16467b97STreehugger Robot #endif 514*16467b97STreehugger Robot 515*16467b97STreehugger Robot #ifndef ANTLR3_PRINTF 516*16467b97STreehugger Robot /// Default definition of printf, set this to something other than printf before including antlr3.h 517*16467b97STreehugger Robot /// if your system does not have a printf. Note that you can define this to be <code>//</code> 518*16467b97STreehugger Robot /// without harming the runtime. 519*16467b97STreehugger Robot /// 520*16467b97STreehugger Robot #define ANTLR3_PRINTF printf 521*16467b97STreehugger Robot #endif 522*16467b97STreehugger Robot 523*16467b97STreehugger Robot #ifndef ANTLR3_FPRINTF 524*16467b97STreehugger Robot /// Default definition of fprintf, set this to something other than fprintf before including antlr3.h 525*16467b97STreehugger Robot /// if your system does not have a fprintf. Note that you can define this to be <code>//</code> 526*16467b97STreehugger Robot /// without harming the runtime. 527*16467b97STreehugger Robot /// 528*16467b97STreehugger Robot #define ANTLR3_FPRINTF fprintf 529*16467b97STreehugger Robot #endif 530*16467b97STreehugger Robot 531*16467b97STreehugger Robot #ifdef __cplusplus 532*16467b97STreehugger Robot extern "C" { 533*16467b97STreehugger Robot #endif 534*16467b97STreehugger Robot 535*16467b97STreehugger Robot ANTLR3_API pANTLR3_INT_TRIE antlr3IntTrieNew (ANTLR3_UINT32 depth); 536*16467b97STreehugger Robot 537*16467b97STreehugger Robot ANTLR3_API pANTLR3_BITSET antlr3BitsetNew (ANTLR3_UINT32 numBits); 538*16467b97STreehugger Robot ANTLR3_API pANTLR3_BITSET antlr3BitsetOf (ANTLR3_INT32 bit, ...); 539*16467b97STreehugger Robot ANTLR3_API pANTLR3_BITSET antlr3BitsetList (pANTLR3_HASH_TABLE list); 540*16467b97STreehugger Robot ANTLR3_API pANTLR3_BITSET antlr3BitsetCopy (pANTLR3_BITSET_LIST blist); 541*16467b97STreehugger Robot ANTLR3_API pANTLR3_BITSET antlr3BitsetLoad (pANTLR3_BITSET_LIST blist); 542*16467b97STreehugger Robot ANTLR3_API void antlr3BitsetSetAPI (pANTLR3_BITSET bitset); 543*16467b97STreehugger Robot 544*16467b97STreehugger Robot 545*16467b97STreehugger Robot ANTLR3_API pANTLR3_BASE_RECOGNIZER antlr3BaseRecognizerNew (ANTLR3_UINT32 type, ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state); 546*16467b97STreehugger Robot ANTLR3_API void antlr3RecognitionExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer); 547*16467b97STreehugger Robot ANTLR3_API void antlr3MTExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer); 548*16467b97STreehugger Robot ANTLR3_API void antlr3MTNExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer); 549*16467b97STreehugger Robot ANTLR3_API pANTLR3_HASH_TABLE antlr3HashTableNew (ANTLR3_UINT32 sizeHint); 550*16467b97STreehugger Robot ANTLR3_API ANTLR3_UINT32 antlr3Hash (void * key, ANTLR3_UINT32 keylen); 551*16467b97STreehugger Robot ANTLR3_API pANTLR3_HASH_ENUM antlr3EnumNew (pANTLR3_HASH_TABLE table); 552*16467b97STreehugger Robot ANTLR3_API pANTLR3_LIST antlr3ListNew (ANTLR3_UINT32 sizeHint); 553*16467b97STreehugger Robot ANTLR3_API pANTLR3_VECTOR_FACTORY antlr3VectorFactoryNew (ANTLR3_UINT32 sizeHint); 554*16467b97STreehugger Robot ANTLR3_API pANTLR3_VECTOR antlr3VectorNew (ANTLR3_UINT32 sizeHint); 555*16467b97STreehugger Robot ANTLR3_API pANTLR3_STACK antlr3StackNew (ANTLR3_UINT32 sizeHint); 556*16467b97STreehugger Robot ANTLR3_API void antlr3SetVectorApi (pANTLR3_VECTOR vector, ANTLR3_UINT32 sizeHint); 557*16467b97STreehugger Robot ANTLR3_API ANTLR3_UCHAR antlr3c8toAntlrc (ANTLR3_INT8 inc); 558*16467b97STreehugger Robot ANTLR3_API pANTLR3_TOPO antlr3TopoNew(); 559*16467b97STreehugger Robot 560*16467b97STreehugger Robot ANTLR3_API pANTLR3_EXCEPTION antlr3ExceptionNew (ANTLR3_UINT32 exception, void * name, void * message, ANTLR3_BOOLEAN freeMessage); 561*16467b97STreehugger Robot 562*16467b97STreehugger Robot 563*16467b97STreehugger Robot ANTLR3_API pANTLR3_INPUT_STREAM antlr3FileStreamNew (pANTLR3_UINT8 fileName, ANTLR3_UINT32 encoding); 564*16467b97STreehugger Robot ANTLR3_API pANTLR3_INPUT_STREAM antlr3StringStreamNew (pANTLR3_UINT8 data, ANTLR3_UINT32 encoding, ANTLR3_UINT32 size, pANTLR3_UINT8 name); 565*16467b97STreehugger Robot 566*16467b97STreehugger Robot ANTLR3_API pANTLR3_INT_STREAM antlr3IntStreamNew (void); 567*16467b97STreehugger Robot 568*16467b97STreehugger Robot ANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew (ANTLR3_UINT32 encoding); 569*16467b97STreehugger Robot 570*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TOKEN antlr3CommonTokenNew (ANTLR3_UINT32 ttype); 571*16467b97STreehugger Robot ANTLR3_API pANTLR3_TOKEN_FACTORY antlr3TokenFactoryNew (pANTLR3_INPUT_STREAM input); 572*16467b97STreehugger Robot ANTLR3_API void antlr3SetTokenAPI (pANTLR3_COMMON_TOKEN token); 573*16467b97STreehugger Robot 574*16467b97STreehugger Robot ANTLR3_API pANTLR3_LEXER antlr3LexerNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_INPUT_STREAM input, pANTLR3_RECOGNIZER_SHARED_STATE state); 575*16467b97STreehugger Robot ANTLR3_API pANTLR3_LEXER antlr3LexerNew (ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state); 576*16467b97STreehugger Robot ANTLR3_API pANTLR3_PARSER antlr3ParserNewStreamDbg (ANTLR3_UINT32 sizeHint, pANTLR3_TOKEN_STREAM tstream, pANTLR3_DEBUG_EVENT_LISTENER dbg, pANTLR3_RECOGNIZER_SHARED_STATE state); 577*16467b97STreehugger Robot ANTLR3_API pANTLR3_PARSER antlr3ParserNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_TOKEN_STREAM tstream, pANTLR3_RECOGNIZER_SHARED_STATE state); 578*16467b97STreehugger Robot ANTLR3_API pANTLR3_PARSER antlr3ParserNew (ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state); 579*16467b97STreehugger Robot 580*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenStreamSourceNew (ANTLR3_UINT32 hint, pANTLR3_TOKEN_SOURCE source); 581*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenStreamNew (ANTLR3_UINT32 hint); 582*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenDebugStreamSourceNew (ANTLR3_UINT32 hint, pANTLR3_TOKEN_SOURCE source, pANTLR3_DEBUG_EVENT_LISTENER debugger); 583*16467b97STreehugger Robot 584*16467b97STreehugger Robot ANTLR3_API pANTLR3_BASE_TREE_ADAPTOR ANTLR3_TREE_ADAPTORNew (pANTLR3_STRING_FACTORY strFactory); 585*16467b97STreehugger Robot ANTLR3_API pANTLR3_BASE_TREE_ADAPTOR ANTLR3_TREE_ADAPTORDebugNew (pANTLR3_STRING_FACTORY strFactory, pANTLR3_DEBUG_EVENT_LISTENER debugger); 586*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNew (void); 587*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNewFromTree (pANTLR3_COMMON_TREE tree); 588*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNewFromToken (pANTLR3_COMMON_TOKEN tree); 589*16467b97STreehugger Robot ANTLR3_API pANTLR3_ARBORETUM antlr3ArboretumNew (pANTLR3_STRING_FACTORY factory); 590*16467b97STreehugger Robot ANTLR3_API void antlr3SetCTAPI (pANTLR3_COMMON_TREE tree); 591*16467b97STreehugger Robot ANTLR3_API pANTLR3_BASE_TREE antlr3BaseTreeNew (pANTLR3_BASE_TREE tree); 592*16467b97STreehugger Robot 593*16467b97STreehugger Robot ANTLR3_API void antlr3BaseTreeAdaptorInit (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_DEBUG_EVENT_LISTENER debugger); 594*16467b97STreehugger Robot 595*16467b97STreehugger Robot ANTLR3_API pANTLR3_TREE_PARSER antlr3TreeParserNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_COMMON_TREE_NODE_STREAM ctnstream, pANTLR3_RECOGNIZER_SHARED_STATE state); 596*16467b97STreehugger Robot 597*16467b97STreehugger Robot ANTLR3_API ANTLR3_INT32 antlr3dfaspecialTransition (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA dfa, ANTLR3_INT32 s); 598*16467b97STreehugger Robot ANTLR3_API ANTLR3_INT32 antlr3dfaspecialStateTransition (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA dfa, ANTLR3_INT32 s); 599*16467b97STreehugger Robot ANTLR3_API ANTLR3_INT32 antlr3dfapredict (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA cdfa); 600*16467b97STreehugger Robot 601*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNewTree (pANTLR3_BASE_TREE tree, ANTLR3_UINT32 hint); 602*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNew (pANTLR3_STRING_FACTORY strFactory, ANTLR3_UINT32 hint); 603*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3UnbufTreeNodeStreamNewTree (pANTLR3_BASE_TREE tree, ANTLR3_UINT32 hint); 604*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3UnbufTreeNodeStreamNew (pANTLR3_STRING_FACTORY strFactory, ANTLR3_UINT32 hint); 605*16467b97STreehugger Robot ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNewStream (pANTLR3_COMMON_TREE_NODE_STREAM inStream); 606*16467b97STreehugger Robot ANTLR3_API pANTLR3_TREE_NODE_STREAM antlr3TreeNodeStreamNew (); 607*16467b97STreehugger Robot ANTLR3_API void fillBufferExt (pANTLR3_COMMON_TOKEN_STREAM tokenStream); 608*16467b97STreehugger Robot 609*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 610*16467b97STreehugger Robot antlr3RewriteRuleTOKENStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description); 611*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 612*16467b97STreehugger Robot antlr3RewriteRuleTOKENStreamNewAEE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement); 613*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 614*16467b97STreehugger Robot antlr3RewriteRuleTOKENStreamNewAEV (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector); 615*16467b97STreehugger Robot 616*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM 617*16467b97STreehugger Robot antlr3RewriteRuleNODEStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description); 618*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM 619*16467b97STreehugger Robot antlr3RewriteRuleNODEStreamNewAEE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement); 620*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM 621*16467b97STreehugger Robot antlr3RewriteRuleNODEStreamNewAEV (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector); 622*16467b97STreehugger Robot 623*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 624*16467b97STreehugger Robot antlr3RewriteRuleSubtreeStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description); 625*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 626*16467b97STreehugger Robot antlr3RewriteRuleSubtreeStreamNewAEE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement); 627*16467b97STreehugger Robot ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 628*16467b97STreehugger Robot antlr3RewriteRuleSubtreeStreamNewAEV(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector); 629*16467b97STreehugger Robot 630*16467b97STreehugger Robot ANTLR3_API pANTLR3_DEBUG_EVENT_LISTENER antlr3DebugListenerNew(); 631*16467b97STreehugger Robot 632*16467b97STreehugger Robot #ifdef __cplusplus 633*16467b97STreehugger Robot } 634*16467b97STreehugger Robot #endif 635*16467b97STreehugger Robot 636*16467b97STreehugger Robot #endif /* _ANTLR3DEFS_H */ 637