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