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