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 40 extern "C" { 41 #endif 42 43 typedef 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 /// 48 typedef 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 /// 52 typedef 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 /// 57 typedef struct ANTLR3_BITSET_LIST_struct *pANTLR3_BITSET_LIST; 58 59 /// Pointer to an instantiation of 'class' #ANTLR3_BITSET 60 /// \ingroup ANTLR3_BITSET 61 /// 62 typedef struct ANTLR3_BITSET_struct *pANTLR3_BITSET; 63 64 /// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_FACTORY 65 /// \ingroup ANTLR3_TOKEN_FACTORY 66 /// 67 typedef struct ANTLR3_TOKEN_FACTORY_struct *pANTLR3_TOKEN_FACTORY; 68 /// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TOKEN 69 /// \ingroup ANTLR3_COMMON_TOKEN 70 /// 71 typedef struct ANTLR3_COMMON_TOKEN_struct *pANTLR3_COMMON_TOKEN; 72 73 /// Pointer to an instantiation of 'class' #ANTLR3_EXCEPTION 74 /// \ingroup ANTLR3_EXCEPTION 75 /// 76 typedef struct ANTLR3_EXCEPTION_struct *pANTLR3_EXCEPTION; 77 78 /// Pointer to an instantiation of 'class' #ANTLR3_HASH_BUCKET 79 /// \ingroup ANTLR3_HASH_BUCKET 80 /// 81 typedef struct ANTLR3_HASH_BUCKET_struct *pANTLR3_HASH_BUCKET; 82 /// Pointer to an instantiation of 'class' #ANTLR3_HASH_ENTRY 83 /// \ingroup ANTLR3_HASH_ENTRY 84 /// 85 typedef struct ANTLR3_HASH_ENTRY_struct *pANTLR3_HASH_ENTRY; 86 /// Pointer to an instantiation of 'class' #ANTLR3_HASH_ENUM 87 /// \ingroup ANTLR3_HASH_ENUM 88 /// 89 typedef struct ANTLR3_HASH_ENUM_struct *pANTLR3_HASH_ENUM; 90 /// Pointer to an instantiation of 'class' #ANTLR3_HASH_TABLE 91 /// \ingroup ANTLR3_HASH_TABLE 92 /// 93 typedef struct ANTLR3_HASH_TABLE_struct *pANTLR3_HASH_TABLE; 94 95 /// Pointer to an instantiation of 'class' #ANTLR3_LIST 96 /// \ingroup ANTLR3_LIST 97 /// 98 typedef struct ANTLR3_LIST_struct *pANTLR3_LIST; 99 /// Pointer to an instantiation of 'class' #ANTLR3_VECTOR_FACTORY 100 /// \ingroup ANTLR3_VECTOR_FACTORY 101 /// 102 typedef struct ANTLR3_VECTOR_FACTORY_struct *pANTLR3_VECTOR_FACTORY; 103 /// Pointer to an instantiation of 'class' #ANTLR3_VECTOR 104 /// \ingroup ANTLR3_VECTOR 105 /// 106 typedef struct ANTLR3_VECTOR_struct *pANTLR3_VECTOR; 107 /// Pointer to an instantiation of 'class' #ANTLR3_STACK 108 /// \ingroup ANTLR3_STACK 109 /// 110 typedef struct ANTLR3_STACK_struct *pANTLR3_STACK; 111 112 /// Pointer to an instantiation of 'class' #ANTLR3_TOPO 113 /// \ingroup ANTLR3_TOPO 114 /// 115 typedef struct ANTLR3_TOPO_struct *pANTLR3_TOPO; 116 117 /// Pointer to an instantiation of 'class' #ANTLR3_INPUT_STREAM 118 /// \ingroup ANTLR3_INPUT_STREAM 119 /// 120 typedef struct ANTLR3_INPUT_STREAM_struct *pANTLR3_INPUT_STREAM; 121 /// Pointer to an instantiation of 'class' #ANTLR3_LEX_STATE 122 /// \ingroup ANTLR3_LEX_STATE 123 /// 124 typedef 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 /// 129 typedef struct ANTLR3_STRING_FACTORY_struct *pANTLR3_STRING_FACTORY; 130 /// Pointer to an instantiation of 'class' #ANTLR3_STRING 131 /// \ingroup ANTLR3_STRING 132 /// 133 typedef struct ANTLR3_STRING_struct *pANTLR3_STRING; 134 135 /// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_SOURCE 136 /// \ingroup ANTLR3_TOKEN_SOURCE 137 /// 138 typedef struct ANTLR3_TOKEN_SOURCE_struct *pANTLR3_TOKEN_SOURCE; 139 /// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_STREAM 140 /// \ingroup ANTLR3_TOKEN_STREAM 141 /// 142 typedef 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 /// 146 typedef 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 /// 151 typedef struct ANTLR3_CYCLIC_DFA_struct *pANTLR3_CYCLIC_DFA; 152 153 /// Pointer to an instantiation of 'class' #ANTLR3_LEXER 154 /// \ingroup ANTLR3_LEXER 155 /// 156 typedef struct ANTLR3_LEXER_struct *pANTLR3_LEXER; 157 /// Pointer to an instantiation of 'class' #ANTLR3_PARSER 158 /// \ingroup ANTLR3_PARSER 159 /// 160 typedef struct ANTLR3_PARSER_struct *pANTLR3_PARSER; 161 162 /// Pointer to an instantiation of 'class' #ANTLR3_BASE_TREE 163 /// \ingroup ANTLR3_BASE_TREE 164 /// 165 typedef struct ANTLR3_BASE_TREE_struct *pANTLR3_BASE_TREE; 166 /// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE 167 /// \ingroup ANTLR3_COMMON_TREE 168 /// 169 typedef struct ANTLR3_COMMON_TREE_struct *pANTLR3_COMMON_TREE; 170 /// Pointer to an instantiation of 'class' #ANTLR3_ARBORETUM 171 /// \ingroup ANTLR3_ARBORETUM 172 /// 173 typedef struct ANTLR3_ARBORETUM_struct *pANTLR3_ARBORETUM; 174 /// Pointer to an instantiation of 'class' #ANTLR3_PARSE_TREE 175 /// \ingroup ANTLR3_PARSE_TREE 176 /// 177 typedef 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 /// 182 typedef 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 /// 186 typedef 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 /// 190 typedef 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 /// 195 typedef 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 /// 199 typedef 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 /// 204 typedef 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 /// 209 typedef 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 /// 214 typedef 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 /// 218 typedef 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 /// 223 typedef 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 /// 228 typedef 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 /// 233 typedef struct ANTLR3_DEBUG_EVENT_LISTENER_struct *pANTLR3_DEBUG_EVENT_LISTENER; 234 235 #ifdef __cplusplus 236 } 237 #endif 238 239 #endif 240