1/** \file
2 * Declarations for all the antlr3 C runtime interfaces/classes. This
3 * allows the structures that define the interfaces to contain pointers to
4 * each other without trying to sort out the cyclic interdependencies that
5 * would otherwise result.
6 */
7#ifndef	_ANTLR3_INTERFACES_H
8#define	_ANTLR3_INTERFACES_H
9
10// [The "BSD licence"]
11// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
12// http://www.temporal-wave.com
13// http://www.linkedin.com/in/jimidle
14//
15// All rights reserved.
16//
17// Redistribution and use in source and binary forms, with or without
18// modification, are permitted provided that the following conditions
19// are met:
20// 1. Redistributions of source code must retain the above copyright
21//    notice, this list of conditions and the following disclaimer.
22// 2. Redistributions in binary form must reproduce the above copyright
23//    notice, this list of conditions and the following disclaimer in the
24//    documentation and/or other materials provided with the distribution.
25// 3. The name of the author may not be used to endorse or promote products
26//    derived from this software without specific prior written permission.
27//
28// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
29// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
30// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
31// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
32// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
33// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
37// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43typedef	struct ANTLR3_INT_STREAM_struct						*pANTLR3_INT_STREAM;
44
45/// Pointer to an instantiation of the 'class' #ANTLR3_BASE_RECOGNIZER
46/// \ingroup ANTLR3_BASE_RECOGNIZER
47///
48typedef struct ANTLR3_BASE_RECOGNIZER_struct				*pANTLR3_BASE_RECOGNIZER;
49/// Pointer to an instantiation of 'class' #ANTLR3_RECOGNIZER_SHARED_STATE
50/// \ingroup ANTLR3_RECOGNIZER_SHARED_STATE
51///
52typedef	struct ANTLR3_RECOGNIZER_SHARED_STATE_struct		*pANTLR3_RECOGNIZER_SHARED_STATE;
53
54/// Pointer to an instantiation of 'class' #ANTLR3_BITSET_LIST
55/// \ingroup ANTLR3_BITSET_LIST
56///
57typedef struct ANTLR3_BITSET_LIST_struct					*pANTLR3_BITSET_LIST;
58
59/// Pointer to an instantiation of 'class' #ANTLR3_BITSET
60/// \ingroup ANTLR3_BITSET
61///
62typedef struct ANTLR3_BITSET_struct							*pANTLR3_BITSET;
63
64/// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_FACTORY
65/// \ingroup ANTLR3_TOKEN_FACTORY
66///
67typedef struct ANTLR3_TOKEN_FACTORY_struct					*pANTLR3_TOKEN_FACTORY;
68/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TOKEN
69/// \ingroup ANTLR3_COMMON_TOKEN
70///
71typedef struct ANTLR3_COMMON_TOKEN_struct					*pANTLR3_COMMON_TOKEN;
72
73/// Pointer to an instantiation of 'class' #ANTLR3_EXCEPTION
74/// \ingroup ANTLR3_EXCEPTION
75///
76typedef struct ANTLR3_EXCEPTION_struct						*pANTLR3_EXCEPTION;
77
78/// Pointer to an instantiation of 'class' #ANTLR3_HASH_BUCKET
79/// \ingroup ANTLR3_HASH_BUCKET
80///
81typedef struct ANTLR3_HASH_BUCKET_struct					*pANTLR3_HASH_BUCKET;
82/// Pointer to an instantiation of 'class' #ANTLR3_HASH_ENTRY
83/// \ingroup ANTLR3_HASH_ENTRY
84///
85typedef struct ANTLR3_HASH_ENTRY_struct						*pANTLR3_HASH_ENTRY;
86/// Pointer to an instantiation of 'class' #ANTLR3_HASH_ENUM
87/// \ingroup ANTLR3_HASH_ENUM
88///
89typedef struct ANTLR3_HASH_ENUM_struct						*pANTLR3_HASH_ENUM;
90/// Pointer to an instantiation of 'class' #ANTLR3_HASH_TABLE
91/// \ingroup ANTLR3_HASH_TABLE
92///
93typedef struct ANTLR3_HASH_TABLE_struct						*pANTLR3_HASH_TABLE;
94
95/// Pointer to an instantiation of 'class' #ANTLR3_LIST
96/// \ingroup ANTLR3_LIST
97///
98typedef struct ANTLR3_LIST_struct							*pANTLR3_LIST;
99/// Pointer to an instantiation of 'class' #ANTLR3_VECTOR_FACTORY
100/// \ingroup ANTLR3_VECTOR_FACTORY
101///
102typedef struct ANTLR3_VECTOR_FACTORY_struct					*pANTLR3_VECTOR_FACTORY;
103/// Pointer to an instantiation of 'class' #ANTLR3_VECTOR
104/// \ingroup ANTLR3_VECTOR
105///
106typedef struct ANTLR3_VECTOR_struct							*pANTLR3_VECTOR;
107/// Pointer to an instantiation of 'class' #ANTLR3_STACK
108/// \ingroup ANTLR3_STACK
109///
110typedef struct ANTLR3_STACK_struct							*pANTLR3_STACK;
111
112/// Pointer to an instantiation of 'class' #ANTLR3_TOPO
113/// \ingroup ANTLR3_TOPO
114///
115typedef struct ANTLR3_TOPO_struct                                               *pANTLR3_TOPO;
116
117/// Pointer to an instantiation of 'class' #ANTLR3_INPUT_STREAM
118/// \ingroup ANTLR3_INPUT_STREAM
119///
120typedef struct ANTLR3_INPUT_STREAM_struct					*pANTLR3_INPUT_STREAM;
121/// Pointer to an instantiation of 'class' #ANTLR3_LEX_STATE
122/// \ingroup ANTLR3_LEX_STATE
123///
124typedef struct ANTLR3_LEX_STATE_struct						*pANTLR3_LEX_STATE;
125
126/// Pointer to an instantiation of 'class' #ANTLR3_STRING_FACTORY
127/// \ingroup ANTLR3_STRING_FACTORY
128///
129typedef struct ANTLR3_STRING_FACTORY_struct					*pANTLR3_STRING_FACTORY;
130/// Pointer to an instantiation of 'class' #ANTLR3_STRING
131/// \ingroup ANTLR3_STRING
132///
133typedef struct ANTLR3_STRING_struct							*pANTLR3_STRING;
134
135/// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_SOURCE
136/// \ingroup ANTLR3_TOKEN_SOURCE
137///
138typedef struct ANTLR3_TOKEN_SOURCE_struct					*pANTLR3_TOKEN_SOURCE;
139/// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_STREAM
140/// \ingroup ANTLR3_TOKEN_STREAM
141///
142typedef	struct ANTLR3_TOKEN_STREAM_struct					*pANTLR3_TOKEN_STREAM;
143/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TOKEN_STREAM
144/// \ingroup ANTLR3_COMMON_TOKEN_STREAM
145///
146typedef	struct ANTLR3_COMMON_TOKEN_STREAM_struct			*pANTLR3_COMMON_TOKEN_STREAM;
147
148/// Pointer to an instantiation of 'class' #ANTLR3_CYCLIC_DFA
149/// \ingroup ANTLR3_CYCLIC_DFA
150///
151typedef struct ANTLR3_CYCLIC_DFA_struct						*pANTLR3_CYCLIC_DFA;
152
153/// Pointer to an instantiation of 'class' #ANTLR3_LEXER
154/// \ingroup ANTLR3_LEXER
155///
156typedef	struct ANTLR3_LEXER_struct							*pANTLR3_LEXER;
157/// Pointer to an instantiation of 'class' #ANTLR3_PARSER
158/// \ingroup ANTLR3_PARSER
159///
160typedef struct ANTLR3_PARSER_struct							*pANTLR3_PARSER;
161
162/// Pointer to an instantiation of 'class' #ANTLR3_BASE_TREE
163/// \ingroup ANTLR3_BASE_TREE
164///
165typedef	struct ANTLR3_BASE_TREE_struct						*pANTLR3_BASE_TREE;
166/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE
167/// \ingroup ANTLR3_COMMON_TREE
168///
169typedef struct ANTLR3_COMMON_TREE_struct					*pANTLR3_COMMON_TREE;
170/// Pointer to an instantiation of 'class' #ANTLR3_ARBORETUM
171/// \ingroup ANTLR3_ARBORETUM
172///
173typedef	struct ANTLR3_ARBORETUM_struct						*pANTLR3_ARBORETUM;
174/// Pointer to an instantiation of 'class' #ANTLR3_PARSE_TREE
175/// \ingroup ANTLR3_PARSE_TREE
176///
177typedef	struct ANTLR3_PARSE_TREE_struct						*pANTLR3_PARSE_TREE;
178
179/// Pointer to an instantiation of 'class' #ANTLR3_TREE_NODE_STREAM
180/// \ingroup ANTLR3_TREE_NODE_STREAM
181///
182typedef struct ANTLR3_TREE_NODE_STREAM_struct				*pANTLR3_TREE_NODE_STREAM;
183/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE_NODE_STREAM
184/// \ingroup ANTLR3_COMMON_TREE_NODE_STREAM
185///
186typedef	struct ANTLR3_COMMON_TREE_NODE_STREAM_struct		*pANTLR3_COMMON_TREE_NODE_STREAM;
187/// Pointer to an instantiation of 'class' #ANTLR3_TREE_WALK_STATE
188/// \ingroup ANTLR3_TREE_WALK_STATE
189///
190typedef struct ANTLR3_TREE_WALK_STATE_struct				*pANTLR3_TREE_WALK_STATE;
191
192/// Pointer to an instantiation of 'class' #ANTLR3_BASE_TREE_ADAPTOR
193/// \ingroup ANTLR3_BASE_TREE_ADAPTOR
194///
195typedef struct ANTLR3_BASE_TREE_ADAPTOR_struct				*pANTLR3_BASE_TREE_ADAPTOR;
196/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE_ADAPTOR
197/// \ingroup ANTLR3_COMMON_TREE_ADAPTOR
198///
199typedef	struct ANTLR3_COMMON_TREE_ADAPTOR_struct			*pANTLR3_COMMON_TREE_ADAPTOR;
200
201/// Pointer to an instantiation of 'class' #ANTLR3_TREE_PARSER
202/// \ingroup ANTLR3_TREE_PARSER
203///
204typedef struct ANTLR3_TREE_PARSER_struct					*pANTLR3_TREE_PARSER;
205
206/// Pointer to an instantiation of 'class' #ANTLR3_INT_TRIE
207/// \ingroup ANTLR3_INT_TRIE
208///
209typedef struct ANTLR3_INT_TRIE_struct						*pANTLR3_INT_TRIE;
210
211/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_ELEMENT_STREAM
212/// \ingroup ANTLR3_REWRITE_RULE_ELEMENT_STREAM
213///
214typedef struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct	*pANTLR3_REWRITE_RULE_ELEMENT_STREAM;
215/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_ELEMENT_STREAM
216/// \ingroup ANTLR3_REWRITE_RULE_ELEMENT_STREAM
217///
218typedef	struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct	*pANTLR3_REWRITE_RULE_TOKEN_STREAM;
219
220/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_SUBSTREE_STREAM
221/// \ingroup ANTLR3_REWRITE_RULE_SUBTREE_STREAM
222///
223typedef	struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct	*pANTLR3_REWRITE_RULE_SUBTREE_STREAM;
224
225/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_NODE_STREAM
226/// \ingroup ANTLR3_REWRITE_RULE_NODE_STREAM
227///
228typedef	struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct	*pANTLR3_REWRITE_RULE_NODE_STREAM;
229
230/// Pointer to an instantiation of 'class' #ANTLR3_DEBUG_EVENT_LISTENER
231/// \ingroup ANTLR3_DEBUG_EVENT_LISTENER
232///
233typedef struct ANTLR3_DEBUG_EVENT_LISTENER_struct			*pANTLR3_DEBUG_EVENT_LISTENER;
234
235#ifdef __cplusplus
236}
237#endif
238
239#endif
240