2 * Basic type and constant definitions for ANTLR3 Runtime.
\r
4 #ifndef _ANTLR3DEFS_H
\r
5 #define _ANTLR3DEFS_H
\r
7 // [The "BSD licence"]
\r
8 // Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
\r
9 // http://www.temporal-wave.com
\r
10 // http://www.linkedin.com/in/jimidle
\r
12 // All rights reserved.
\r
14 // Redistribution and use in source and binary forms, with or without
\r
15 // modification, are permitted provided that the following conditions
\r
17 // 1. Redistributions of source code must retain the above copyright
\r
18 // notice, this list of conditions and the following disclaimer.
\r
19 // 2. Redistributions in binary form must reproduce the above copyright
\r
20 // notice, this list of conditions and the following disclaimer in the
\r
21 // documentation and/or other materials provided with the distribution.
\r
22 // 3. The name of the author may not be used to endorse or promote products
\r
23 // derived from this software without specific prior written permission.
\r
25 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
\r
26 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
\r
27 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
\r
28 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
\r
29 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
\r
30 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
\r
31 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
\r
32 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
\r
33 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
\r
34 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
36 /* Following are for generated code, they are not referenced internally!!!
\r
38 #if !defined(ANTLR3_HUGE) && !defined(ANTLR3_AVERAGE) && !defined(ANTLR3_SMALL)
\r
39 #define ANTLR3_AVERAGE
\r
43 #ifndef ANTLR3_SIZE_HINT
\r
44 #define ANTLR3_SIZE_HINT 2049
\r
46 #ifndef ANTLR3_LIST_SIZE_HINT
\r
47 #define ANTLR3_LIST_SIZE_HINT 127
\r
51 #ifdef ANTLR3_AVERAGE
\r
52 #ifndef ANTLR3_SIZE_HINT
\r
53 #define ANTLR3_SIZE_HINT 1025
\r
54 #define ANTLR3_LIST_SIZE_HINT 63
\r
59 #ifndef ANTLR3_SIZE_HINT
\r
60 #define ANTLR3_SIZE_HINT 211
\r
61 #define ANTLR3_LIST_SIZE_HINT 31
\r
65 /* Common definitions come first
\r
67 #include <antlr3errors.h>
\r
69 #define ANTLR3_ENCODING_LATIN1 0
\r
70 #define ANTLR3_ENCODING_UCS2 1
\r
71 #define ANTLR3_ENCODING_UTF8 2
\r
72 #define ANTLR3_ENCODING_UTF32 3
\r
74 /* Work out what operating system/compiler this is. We just do this once
\r
75 * here and use an internal symbol after this.
\r
79 # ifndef ANTLR3_WINDOWS
\r
80 # define ANTLR3_WINDOWS
\r
82 # define ANTLR3_WIN64
\r
83 # define ANTLR3_USE_64BIT
\r
88 # ifndef ANTLR3_WINDOWS
\r
89 # define ANTLR3_WINDOWS
\r
92 #define ANTLR3_WIN32
\r
97 #ifdef ANTLR3_WINDOWS
\r
99 #ifndef WIN32_LEAN_AND_MEAN
\r
100 #define WIN32_LEAN_AND_MEAN
\r
103 /* Allow VC 8 (vs2005) and above to use 'secure' versions of various functions such as sprintf
\r
105 #ifndef _CRT_SECURE_NO_DEPRECATE
\r
106 #define _CRT_SECURE_NO_DEPRECATE
\r
109 #include <windows.h>
\r
110 #include <stdlib.h>
\r
111 #include <winsock.h>
\r
113 #include <sys/types.h>
\r
114 #include <sys/stat.h>
\r
115 #include <stdarg.h>
\r
117 #define ANTLR3_API __declspec(dllexport)
\r
118 #define ANTLR3_CDECL __cdecl
\r
119 #define ANTLR3_FASTCALL __fastcall
\r
125 #ifndef __MINGW32__
\r
126 // Standard Windows types
\r
128 typedef INT32 ANTLR3_CHAR, *pANTLR3_CHAR;
\r
129 typedef UINT32 ANTLR3_UCHAR, *pANTLR3_UCHAR;
\r
131 typedef INT8 ANTLR3_INT8, *pANTLR3_INT8;
\r
132 typedef INT16 ANTLR3_INT16, *pANTLR3_INT16;
\r
133 typedef INT32 ANTLR3_INT32, *pANTLR3_INT32;
\r
134 typedef INT64 ANTLR3_INT64, *pANTLR3_INT64;
\r
135 typedef UINT8 ANTLR3_UINT8, *pANTLR3_UINT8;
\r
136 typedef UINT16 ANTLR3_UINT16, *pANTLR3_UINT16;
\r
137 typedef UINT32 ANTLR3_UINT32, *pANTLR3_UINT32;
\r
138 typedef UINT64 ANTLR3_UINT64, *pANTLR3_UINT64;
\r
139 typedef UINT64 ANTLR3_BITWORD, *pANTLR3_BITWORD;
\r
140 typedef UINT8 ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN;
\r
143 // Mingw uses stdint.h and fails to define standard Microsoft typedefs
\r
144 // such as UINT16, hence we must use stdint.h for Mingw.
\r
146 #include <stdint.h>
\r
147 typedef int32_t ANTLR3_CHAR, *pANTLR3_CHAR;
\r
148 typedef uint32_t ANTLR3_UCHAR, *pANTLR3_UCHAR;
\r
150 typedef int8_t ANTLR3_INT8, *pANTLR3_INT8;
\r
151 typedef int16_t ANTLR3_INT16, *pANTLR3_INT16;
\r
152 typedef int32_t ANTLR3_INT32, *pANTLR3_INT32;
\r
153 typedef int64_t ANTLR3_INT64, *pANTLR3_INT64;
\r
155 typedef uint8_t ANTLR3_UINT8, *pANTLR3_UINT8;
\r
156 typedef uint16_t ANTLR3_UINT16, *pANTLR3_UINT16;
\r
157 typedef uint32_t ANTLR3_UINT32, *pANTLR3_UINT32;
\r
158 typedef uint64_t ANTLR3_UINT64, *pANTLR3_UINT64;
\r
159 typedef uint64_t ANTLR3_BITWORD, *pANTLR3_BITWORD;
\r
161 typedef uint8_t ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN;
\r
167 #define ANTLR3_UINT64_LIT(lit) lit##ULL
\r
169 #define ANTLR3_INLINE __inline
\r
171 typedef FILE * ANTLR3_FDSC;
\r
172 typedef struct stat ANTLR3_FSTAT_STRUCT;
\r
174 #ifdef ANTLR3_USE_64BIT
\r
175 #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT64)(ptr))
\r
176 #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)(ptr))
\r
177 #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)((ANTLR3_UINT64)(ptr))
\r
178 typedef ANTLR3_INT64 ANTLR3_MARKER;
\r
179 typedef ANTLR3_UINT64 ANTLR3_INTKEY;
\r
181 #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT32)(ptr))
\r
182 #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)((ANTLR3_UINT32)(ptr))
\r
183 #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)(ptr)
\r
184 typedef ANTLR3_INT32 ANTLR3_MARKER;
\r
185 typedef ANTLR3_UINT32 ANTLR3_INTKEY;
\r
188 #ifdef ANTLR3_WIN32
\r
191 #ifdef ANTLR3_WIN64
\r
195 typedef int ANTLR3_SALENT; // Type used for size of accept structure
\r
196 typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration
\r
197 typedef struct sockaddr ANTLR3_SOCKADDRC, * pANTLR3_SOCKADDRC; // Type used for cast on accept()
\r
199 #define ANTLR3_CLOSESOCKET closesocket
\r
205 /* Warnings that are over-zealous such as complaining about strdup, we
\r
209 /* Don't complain about "deprecated" functions such as strdup
\r
211 #pragma warning( disable : 4996 )
\r
215 /* Include configure generated header file
\r
217 #include <antlr3config.h>
\r
222 # include <stdint.h>
\r
225 #if HAVE_SYS_TYPES_H
\r
226 # include <sys/types.h>
\r
229 #if HAVE_SYS_STAT_H
\r
230 # include <sys/stat.h>
\r
234 # include <stdlib.h>
\r
235 # include <stddef.h>
\r
236 # include <stdarg.h>
\r
239 # include <stdlib.h>
\r
242 # include <stdarg.h>
\r
247 # if !STDC_HEADERS && HAVE_MEMORY_H
\r
248 # include <memory.h>
\r
250 # include <string.h>
\r
254 # include <strings.h>
\r
257 #if HAVE_INTTYPES_H
\r
258 # include <inttypes.h>
\r
262 # include <unistd.h>
\r
265 #ifdef HAVE_NETINET_IN_H
\r
266 #include <netinet/in.h>
\r
269 #ifdef HAVE_SOCKET_H
\r
270 # include <socket.h>
\r
272 # if HAVE_SYS_SOCKET_H
\r
273 # include <sys/socket.h>
\r
277 #ifdef HAVE_NETINET_TCP_H
\r
278 #include <netinet/tcp.h>
\r
281 #ifdef HAVE_ARPA_NAMESER_H
\r
282 #include <arpa/nameser.h> /* DNS HEADER struct */
\r
285 #ifdef HAVE_NETDB_H
\r
290 #ifdef HAVE_SYS_RESOLVE_H
\r
291 #include <sys/resolv.h>
\r
294 #ifdef HAVE_RESOLVE_H
\r
295 #include <resolv.h>
\r
299 #ifdef HAVE_MALLOC_H
\r
300 # include <malloc.h>
\r
302 # ifdef HAVE_SYS_MALLOC_H
\r
303 # include <sys/malloc.h>
\r
307 #ifdef HAVE_CTYPE_H
\r
308 # include <ctype.h>
\r
311 /* Some platforms define a macro, index() in string.h. AIX is
\r
312 * one of these for instance. We must get rid of that definition
\r
313 * as we use ->index all over the place. defining macros like this in system header
\r
314 * files is a really bad idea, but I doubt that IBM will listen to me ;-)
\r
322 // SOCKET not defined on Unix
\r
324 typedef int SOCKET;
\r
327 #define ANTLR3_CDECL
\r
328 #define ANTLR3_FASTCALL
\r
332 // HPUX is always different usually for no good reason. Tru64 should have kicked it
\r
333 // into touch and everyone knows it ;-)
\r
335 typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration
\r
336 typedef void * pANTLR3_SOCKADDRC; // Type used for cast on accept()
\r
337 typedef int ANTLR3_SALENT;
\r
341 # if defined(_AIX) || __GNUC__ > 3
\r
343 typedef socklen_t ANTLR3_SALENT;
\r
347 typedef size_t ANTLR3_SALENT;
\r
351 typedef struct sockaddr_in ANTLR3_SOCKADDRT, * pANTLR3_SOCKADDRT; // Type used for socket address declaration
\r
352 typedef struct sockaddr * pANTLR3_SOCKADDRC; // Type used for cast on accept()
\r
356 #define INVALID_SOCKET ((SOCKET)-1)
\r
357 #define ANTLR3_CLOSESOCKET close
\r
363 /* Inherit type definitions for autoconf
\r
365 typedef int32_t ANTLR3_CHAR, *pANTLR3_CHAR;
\r
366 typedef uint32_t ANTLR3_UCHAR, *pANTLR3_UCHAR;
\r
368 typedef int8_t ANTLR3_INT8, *pANTLR3_INT8;
\r
369 typedef int16_t ANTLR3_INT16, *pANTLR3_INT16;
\r
370 typedef int32_t ANTLR3_INT32, *pANTLR3_INT32;
\r
371 typedef int64_t ANTLR3_INT64, *pANTLR3_INT64;
\r
373 typedef uint8_t ANTLR3_UINT8, *pANTLR3_UINT8;
\r
374 typedef uint16_t ANTLR3_UINT16, *pANTLR3_UINT16;
\r
375 typedef uint32_t ANTLR3_UINT32, *pANTLR3_UINT32;
\r
376 typedef uint64_t ANTLR3_UINT64, *pANTLR3_UINT64;
\r
377 typedef uint64_t ANTLR3_BITWORD, *pANTLR3_BITWORD;
\r
379 typedef uint32_t ANTLR3_BOOLEAN, *pANTLR3_BOOLEAN;
\r
381 #define ANTLR3_INLINE inline
\r
384 typedef FILE * ANTLR3_FDSC;
\r
385 typedef struct stat ANTLR3_FSTAT_STRUCT;
\r
387 #ifdef ANTLR3_USE_64BIT
\r
388 #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT64)(ptr))
\r
389 #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)(ptr))
\r
390 #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)((ANTLR3_UINT64)(ptr))
\r
391 typedef ANTLR3_INT64 ANTLR3_MARKER;
\r
392 typedef ANTLR3_UINT64 ANTLR3_INTKEY;
\r
394 #define ANTLR3_FUNC_PTR(ptr) (void *)((ANTLR3_UINT32)(ptr))
\r
395 #define ANTLR3_UINT64_CAST(ptr) (ANTLR3_UINT64)((ANTLR3_UINT32)(ptr))
\r
396 #define ANTLR3_UINT32_CAST(ptr) (ANTLR3_UINT32)(ptr)
\r
397 typedef ANTLR3_INT32 ANTLR3_MARKER;
\r
398 typedef ANTLR3_UINT32 ANTLR3_INTKEY;
\r
400 #define ANTLR3_UINT64_LIT(lit) lit##ULL
\r
408 #ifdef ANTLR3_USE_64BIT
\r
409 #define ANTLR3_TRIE_DEPTH 63
\r
411 #define ANTLR3_TRIE_DEPTH 31
\r
413 /* Pre declare the typedefs for all the interfaces, then
\r
414 * they can be inter-dependant and we will let the linker
\r
415 * sort it out for us.
\r
417 #include <antlr3interfaces.h>
\r
419 // Include the unicode.org conversion library header.
\r
421 #include <antlr3convertutf.h>
\r
425 #ifndef ANTLR3_MALLOC
\r
426 /// Default definition of ANTLR3_MALLOC. You can override this before including
\r
427 /// antlr3.h if you wish to use your own implementation.
\r
429 #define ANTLR3_MALLOC(request) malloc ((size_t)(request))
\r
432 #ifndef ANTLR3_CALLOC
\r
433 /// Default definition of ANTLR3_CALLOC. You can override this before including
\r
434 /// antlr3.h if you wish to use your own implementation.
\r
436 #define ANTLR3_CALLOC(numEl, elSize) calloc (numEl, (size_t)(elSize))
\r
439 #ifndef ANTLR3_REALLOC
\r
440 /// Default definition of ANTLR3_REALLOC. You can override this before including
\r
441 /// antlr3.h if you wish to use your own implementation.
\r
443 #define ANTLR3_REALLOC(current, request) realloc ((void *)(current), (size_t)(request))
\r
445 #ifndef ANTLR3_FREE
\r
446 /// Default definition of ANTLR3_FREE. You can override this before including
\r
447 /// antlr3.h if you wish to use your own implementation.
\r
449 #define ANTLR3_FREE(ptr) free ((void *)(ptr))
\r
451 #ifndef ANTLR3_FREE_FUNC
\r
452 /// Default definition of ANTLR3_FREE_FUNC . You can override this before including
\r
453 /// antlr3.h if you wish to use your own implementation.
\r
455 #define ANTLR3_FREE_FUNC free
\r
457 #ifndef ANTLR3_STRDUP
\r
458 /// Default definition of ANTLR3_STRDUP. You can override this before including
\r
459 /// antlr3.h if you wish to use your own implementation.
\r
461 #define ANTLR3_STRDUP(instr) (pANTLR3_UINT8)(strdup ((const char *)(instr)))
\r
463 #ifndef ANTLR3_MEMCPY
\r
464 /// Default definition of ANTLR3_MEMCPY. You can override this before including
\r
465 /// antlr3.h if you wish to use your own implementation.
\r
467 #define ANTLR3_MEMCPY(target, source, size) memcpy((void *)(target), (const void *)(source), (size_t)(size))
\r
469 #ifndef ANTLR3_MEMMOVE
\r
470 /// Default definition of ANTLR3_MEMMOVE. You can override this before including
\r
471 /// antlr3.h if you wish to use your own implementation.
\r
473 #define ANTLR3_MEMMOVE(target, source, size) memmove((void *)(target), (const void *)(source), (size_t)(size))
\r
475 #ifndef ANTLR3_MEMSET
\r
476 /// Default definition of ANTLR3_MEMSET. You can override this before including
\r
477 /// antlr3.h if you wish to use your own implementation.
\r
479 #define ANTLR3_MEMSET(target, byte, size) memset((void *)(target), (int)(byte), (size_t)(size))
\r
482 #ifndef ANTLR3_PRINTF
\r
483 /// Default definition of printf, set this to something other than printf before including antlr3.h
\r
484 /// if your system does not have a printf. Note that you can define this to be <code>//</code>
\r
485 /// without harming the runtime.
\r
487 #define ANTLR3_PRINTF printf
\r
490 #ifndef ANTLR3_FPRINTF
\r
491 /// Default definition of fprintf, set this to something other than fprintf before including antlr3.h
\r
492 /// if your system does not have a fprintf. Note that you can define this to be <code>//</code>
\r
493 /// without harming the runtime.
\r
495 #define ANTLR3_FPRINTF fprintf
\r
502 ANTLR3_API pANTLR3_INT_TRIE antlr3IntTrieNew (ANTLR3_UINT32 depth);
\r
504 ANTLR3_API pANTLR3_BITSET antlr3BitsetNew (ANTLR3_UINT32 numBits);
\r
505 ANTLR3_API pANTLR3_BITSET antlr3BitsetOf (ANTLR3_INT32 bit, ...);
\r
506 ANTLR3_API pANTLR3_BITSET antlr3BitsetList (pANTLR3_HASH_TABLE list);
\r
507 ANTLR3_API pANTLR3_BITSET antlr3BitsetCopy (pANTLR3_BITSET_LIST blist);
\r
508 ANTLR3_API pANTLR3_BITSET antlr3BitsetLoad (pANTLR3_BITSET_LIST blist);
\r
509 ANTLR3_API void antlr3BitsetSetAPI (pANTLR3_BITSET bitset);
\r
512 ANTLR3_API pANTLR3_BASE_RECOGNIZER antlr3BaseRecognizerNew (ANTLR3_UINT32 type, ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
513 ANTLR3_API void antlr3RecognitionExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer);
\r
514 ANTLR3_API void antlr3MTExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer);
\r
515 ANTLR3_API void antlr3MTNExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer);
\r
516 ANTLR3_API pANTLR3_HASH_TABLE antlr3HashTableNew (ANTLR3_UINT32 sizeHint);
\r
517 ANTLR3_API ANTLR3_UINT32 antlr3Hash (void * key, ANTLR3_UINT32 keylen);
\r
518 ANTLR3_API pANTLR3_HASH_ENUM antlr3EnumNew (pANTLR3_HASH_TABLE table);
\r
519 ANTLR3_API pANTLR3_LIST antlr3ListNew (ANTLR3_UINT32 sizeHint);
\r
520 ANTLR3_API pANTLR3_VECTOR_FACTORY antlr3VectorFactoryNew (ANTLR3_UINT32 sizeHint);
\r
521 ANTLR3_API pANTLR3_VECTOR antlr3VectorNew (ANTLR3_UINT32 sizeHint);
\r
522 ANTLR3_API pANTLR3_STACK antlr3StackNew (ANTLR3_UINT32 sizeHint);
\r
523 ANTLR3_API void antlr3SetVectorApi (pANTLR3_VECTOR vector, ANTLR3_UINT32 sizeHint);
\r
524 ANTLR3_API ANTLR3_UCHAR antlr3c8toAntlrc (ANTLR3_INT8 inc);
\r
525 ANTLR3_API pANTLR3_TOPO antlr3TopoNew();
\r
527 ANTLR3_API pANTLR3_EXCEPTION antlr3ExceptionNew (ANTLR3_UINT32 exception, void * name, void * message, ANTLR3_BOOLEAN freeMessage);
\r
529 ANTLR3_API pANTLR3_INPUT_STREAM antlr3AsciiFileStreamNew (pANTLR3_UINT8 fileName);
\r
531 ANTLR3_API pANTLR3_INPUT_STREAM antlr3NewAsciiStringInPlaceStream (pANTLR3_UINT8 inString, ANTLR3_UINT32 size, pANTLR3_UINT8 name);
\r
532 ANTLR3_API pANTLR3_INPUT_STREAM antlr3NewUCS2StringInPlaceStream (pANTLR3_UINT16 inString, ANTLR3_UINT32 size, pANTLR3_UINT16 name);
\r
533 ANTLR3_API pANTLR3_INPUT_STREAM antlr3NewAsciiStringCopyStream (pANTLR3_UINT8 inString, ANTLR3_UINT32 size, pANTLR3_UINT8 name);
\r
535 ANTLR3_API pANTLR3_INT_STREAM antlr3IntStreamNew (void);
\r
537 ANTLR3_API pANTLR3_STRING_FACTORY antlr3StringFactoryNew (void);
\r
538 ANTLR3_API pANTLR3_STRING_FACTORY antlr3UCS2StringFactoryNew (void);
\r
540 ANTLR3_API pANTLR3_COMMON_TOKEN antlr3CommonTokenNew (ANTLR3_UINT32 ttype);
\r
541 ANTLR3_API pANTLR3_TOKEN_FACTORY antlr3TokenFactoryNew (pANTLR3_INPUT_STREAM input);
\r
542 ANTLR3_API void antlr3SetTokenAPI (pANTLR3_COMMON_TOKEN token);
\r
544 ANTLR3_API pANTLR3_LEXER antlr3LexerNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_INPUT_STREAM input, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
545 ANTLR3_API pANTLR3_LEXER antlr3LexerNew (ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
546 ANTLR3_API pANTLR3_PARSER antlr3ParserNewStreamDbg (ANTLR3_UINT32 sizeHint, pANTLR3_TOKEN_STREAM tstream, pANTLR3_DEBUG_EVENT_LISTENER dbg, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
547 ANTLR3_API pANTLR3_PARSER antlr3ParserNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_TOKEN_STREAM tstream, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
548 ANTLR3_API pANTLR3_PARSER antlr3ParserNew (ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
550 ANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenStreamSourceNew (ANTLR3_UINT32 hint, pANTLR3_TOKEN_SOURCE source);
\r
551 ANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenStreamNew (ANTLR3_UINT32 hint);
\r
552 ANTLR3_API pANTLR3_COMMON_TOKEN_STREAM antlr3CommonTokenDebugStreamSourceNew
\r
553 (ANTLR3_UINT32 hint, pANTLR3_TOKEN_SOURCE source, pANTLR3_DEBUG_EVENT_LISTENER debugger);
\r
555 ANTLR3_API pANTLR3_BASE_TREE_ADAPTOR ANTLR3_TREE_ADAPTORNew (pANTLR3_STRING_FACTORY strFactory);
\r
556 ANTLR3_API pANTLR3_BASE_TREE_ADAPTOR ANTLR3_TREE_ADAPTORDebugNew (pANTLR3_STRING_FACTORY strFactory, pANTLR3_DEBUG_EVENT_LISTENER debugger);
\r
557 ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNew (void);
\r
558 ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNewFromTree (pANTLR3_COMMON_TREE tree);
\r
559 ANTLR3_API pANTLR3_COMMON_TREE antlr3CommonTreeNewFromToken (pANTLR3_COMMON_TOKEN tree);
\r
560 ANTLR3_API pANTLR3_ARBORETUM antlr3ArboretumNew (pANTLR3_STRING_FACTORY factory);
\r
561 ANTLR3_API void antlr3SetCTAPI (pANTLR3_COMMON_TREE tree);
\r
562 ANTLR3_API pANTLR3_BASE_TREE antlr3BaseTreeNew (pANTLR3_BASE_TREE tree);
\r
564 ANTLR3_API void antlr3BaseTreeAdaptorInit (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_DEBUG_EVENT_LISTENER debugger);
\r
566 ANTLR3_API pANTLR3_TREE_PARSER antlr3TreeParserNewStream (ANTLR3_UINT32 sizeHint, pANTLR3_COMMON_TREE_NODE_STREAM ctnstream, pANTLR3_RECOGNIZER_SHARED_STATE state);
\r
568 ANTLR3_API ANTLR3_INT32 antlr3dfaspecialTransition (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA dfa, ANTLR3_INT32 s);
\r
569 ANTLR3_API ANTLR3_INT32 antlr3dfaspecialStateTransition (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA dfa, ANTLR3_INT32 s);
\r
570 ANTLR3_API ANTLR3_INT32 antlr3dfapredict (void * ctx, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_INT_STREAM is, pANTLR3_CYCLIC_DFA cdfa);
\r
572 ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNewTree (pANTLR3_BASE_TREE tree, ANTLR3_UINT32 hint);
\r
573 ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNew (pANTLR3_STRING_FACTORY strFactory, ANTLR3_UINT32 hint);
\r
574 ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3UnbufTreeNodeStreamNewTree (pANTLR3_BASE_TREE tree, ANTLR3_UINT32 hint);
\r
575 ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3UnbufTreeNodeStreamNew (pANTLR3_STRING_FACTORY strFactory, ANTLR3_UINT32 hint);
\r
576 ANTLR3_API pANTLR3_COMMON_TREE_NODE_STREAM antlr3CommonTreeNodeStreamNewStream (pANTLR3_COMMON_TREE_NODE_STREAM inStream);
\r
577 ANTLR3_API pANTLR3_TREE_NODE_STREAM antlr3TreeNodeStreamNew ();
\r
578 ANTLR3_API void fillBufferExt (pANTLR3_COMMON_TOKEN_STREAM tokenStream);
\r
580 ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM
\r
581 antlr3RewriteRuleTOKENStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description);
\r
582 ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM
\r
583 antlr3RewriteRuleTOKENStreamNewAEE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement);
\r
584 ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM
\r
585 antlr3RewriteRuleTOKENStreamNewAEV (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector);
\r
587 ANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM
\r
588 antlr3RewriteRuleNODEStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description);
\r
589 ANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM
\r
590 antlr3RewriteRuleNODEStreamNewAEE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement);
\r
591 ANTLR3_API pANTLR3_REWRITE_RULE_NODE_STREAM
\r
592 antlr3RewriteRuleNODEStreamNewAEV (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector);
\r
594 ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM
\r
595 antlr3RewriteRuleSubtreeStreamNewAE (pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description);
\r
596 ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM
\r
597 antlr3RewriteRuleSubtreeStreamNewAEE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement);
\r
598 ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM
\r
599 antlr3RewriteRuleSubtreeStreamNewAEV(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector);
\r
601 ANTLR3_API pANTLR3_DEBUG_EVENT_LISTENER antlr3DebugListenerNew ();
\r
607 #endif /* _ANTLR3DEFS_H */
\r