1 // Definitions of documentation groups so we can organize the API and 2 // usage documentation nicely. 3 4 /// \defgroup apiclasses API Classes 5 /// 6 /// The API classes are divided into the typdefs (and their underlying structs) 7 /// that are the containers for each 'object' within the ANTLR3C runtime, and 8 /// their implementations (the functions that are installed by default in to 9 /// these structures when you create them.) 10 /// 11 /// The typedefs contain data and function pointers, which together define 12 /// the object. The implementation functions are the default implementations 13 /// of the 'methds' encapsulated by the typdef structures.You may override 14 /// any of the methods once their objects are created by installing a pointer to 15 /// your own function. Some of these methods create other 'objects' (instances of 16 /// typedef structures), which allows you install your own method and create your 17 /// own implementation of these. 18 /// 19 20 /// \defgroup apistructures API Typedefs and Structs 21 /// \ingroup apiclasses 22 /// 23 /// These structures (and the typedefs that you use to reference them 24 /// and their pointers) are the C equivalent of objects. They correspond 25 /// (roughly) to the Java runtime system classes and contain all the 26 /// data elements for a particular interface as well as all the pointers 27 /// to functions that implement these interfaces. 28 /// 29 /// There are constructor functions exported from the C runtime, which you 30 /// use to create a default implementation of one of these 'classes'. You can 31 /// then override any part of the implementation by installing your own 32 /// function pointers, before using the interface 'object' you have created. 33 /// 34 /// For instance, you can override the default error message reporting function 35 /// by replacing the standard (example) implementation of this function with 36 /// your own. In your grammar, you would place the following 37 /// 38 /// \code 39 /// @parser::apifuncs 40 /// { 41 /// // Install custom error message display 42 /// // 43 /// RECOGNIZER->displayRecognitionError = produceError; 44 /// } 45 /// \endcode 46 /// 47 /// The special section @parser::apiFuncs is guaranteed to be generated after 48 /// the RECONGIZER 'object' has already be created and initialized, so you may 49 /// install your own implementations of the #ANTLR3_BASE_RECOGNIZER interface 50 /// functions. The error display function is likely to be the only one you are 51 /// interested in replacing. 52 /// 53 /// Some typedef structures contain either pointers to 'inherited' objects (usual) 54 /// or embedded structures/typedefs (unusual). In some cases, the pointers passed 55 /// around by the paresr or tree parser are actually the pointers to these embedded 56 /// structures (such as #pANTLR3_BASE_TREE), and these embedded 'objects' contain 57 /// pointers to their encapsulating objects. This is the equivalent of passing 58 /// interface objects around in object oriented languages. 59 /// 60 61 /// \defgroup ANTLR3_BASE_RECOGNIZER ANTLR3_BASE_RECOGNIZER - Base Recognizer Class Definition 62 /// \ingroup apistructures 63 /// 64 /// This is the definition of the base recognizer interface, instantiations 65 /// of which are referred to via #pANTLR3_BASE_RECOGNIZER. 66 /// 67 /// In general you will not refer to one of these structures directly as a 68 /// a #pANTLR3_BASE_RECOGNIZER will be embedded within a higher level 69 /// object such as #pANTLR3_PARSER 70 /// 71 /// \defgroup ANTLR3_RECOGNIZER_SHARED_STATE ANTLR3_RECOGNIZER_SHARED_STATE Recognizer Shared State Class Definition 72 /// \ingroup apistructures 73 /// \defgroup ANTLR3_BITSET ANTLR3_BITSET - Bitset Class Definition 74 /// \ingroup apistructures 75 /// \defgroup ANTLR3_TOKEN_FACTORY ANTLR3_TOKEN_FACTORY - Token Factory Class Definition 76 /// \ingroup apistructures 77 /// \defgroup ANTLR3_COMMON_TOKEN ANTLR3_COMMON_TOKEN - Common Token Class Definition 78 /// \ingroup apistructures 79 /// \defgroup ANTLR3_EXCEPTION ANTLR3_EXCEPTION - Exception Class Definition 80 /// \ingroup apistructures 81 /// \defgroup ANTLR3_HASH_BUCKET ANTLR3_HASH_BUCKET - Hash Table Bucket Class Definition 82 /// \ingroup apistructures 83 /// \defgroup ANTLR3_HASH_ENTRY ANTLR3_HASH_ENTRY - Hash Table Entry Class Definition 84 /// \ingroup apistructures 85 /// \defgroup ANTLR3_HASH_ENUM ANTLR3_HASH_ENUM - Hash Table Enumerator Class Definition 86 /// \ingroup apistructures 87 /// \defgroup ANTLR3_HASH_TABLE ANTLR3_HASH_TABLE - Hash Table Class Definition 88 /// \ingroup apistructures 89 /// \defgroup ANTLR3_LIST ANTLR3_LIST - List Class Definition 90 /// \ingroup apistructures 91 /// \defgroup ANTLR3_VECTOR_FACTORY ANTLR3_VECTOR_FACTORY - Vector Factory Class Definition 92 /// \ingroup apistructures 93 /// \defgroup ANTLR3_VECTOR ANTLR3_VECTOR - Vector Class Definition 94 /// \ingroup apistructures 95 /// \defgroup ANTLR3_STACK ANTLR3_STACK - Stack Class Definition 96 /// \ingroup apistructures 97 /// \defgroup ANTLR3_INPUT_STREAM ANTLR3_INPUT_STREAM - Input Stream Class Definition 98 /// \ingroup apistructures 99 /// \defgroup ANTLR3_LEX_STATE ANTLR3_LEX_STATE - Lexer State Class Definition 100 /// \ingroup apistructures 101 /// \defgroup ANTLR3_STRING_FACTORY ANTLR3_STRING_FACTORY - String Factory Class Definition 102 /// \ingroup apistructures 103 /// \defgroup ANTLR3_STRING ANTLR3_STRING - String Class Definition 104 /// \ingroup apistructures 105 /// \defgroup ANTLR3_TOKEN_SOURCE ANTLR3_TOKEN_SOURCE - Token Source Class Definition 106 /// \ingroup apistructures 107 /// \defgroup ANTLR3_TOKEN_STREAM ANTLR3_TOKEN_STREAM - Token Stream Class Definition 108 /// \ingroup apistructures 109 /// \defgroup ANTLR3_COMMON_TOKEN_STREAM ANTLR3_COMMON_TOKEN_STREAM - Common Token Stream Class Definition 110 /// \ingroup apistructures 111 /// \defgroup ANTLR3_CYCLIC_DFA ANTLR3_CYCLIC_DFA - Cyclic DFA Class Definition 112 /// \ingroup apistructures 113 /// \defgroup ANTLR3_LEXER ANTLR3_LEXER - Lexer Class Definition 114 /// \ingroup apistructures 115 /// \defgroup ANTLR3_PARSER ANTLR3_PARSER - Parser Class Definition 116 /// \ingroup apistructures 117 /// \defgroup ANTLR3_BASE_TREE ANTLR3_BASE_TREE - Base Tree Class Definition 118 /// \ingroup apistructures 119 /// \defgroup ANTLR3_COMMON_TREE ANTLR3_COMMON_TREE - Common Tree Class Definition 120 /// \ingroup apistructures 121 /// \defgroup ANTLR3_ARBORETUM ANTLR3_ARBORETUM - Tree Factory Class Definition 122 /// \ingroup apistructures 123 /// \defgroup ANTLR3_PARSE_TREE ANTLR3_PARSE_TREE - Parse Tree Class Definition 124 /// \ingroup apistructures 125 /// \defgroup ANTLR3_TREE_NODE_STREAM ANTLR3_TREE_NODE_STREAM - Tree Node Class Definition 126 /// \ingroup apistructures 127 /// \defgroup ANTLR3_COMMON_TREE_NODE_STREAM ANTLR3_COMMON_TREE_NODE_STREAM - Common Tree Node Class Definition 128 /// \ingroup apistructures 129 /// \defgroup ANTLR3_TREE_WALK_STATE ANTLR3_TREE_WALK_STATE - Tree Walk State Class Definition 130 /// \ingroup apistructures 131 /// \defgroup ANTLR3_BASE_TREE_ADAPTOR ANTLR3_BASE_TREE_ADAPTOR - Base Tree Class Definition 132 /// \ingroup apistructures 133 /// \defgroup ANTLR3_COMMON_TREE_ADAPTOR ANTLR3_COMMON_TREE_ADAPTOR - Common Tree Adaptor Class Definition 134 /// \ingroup apistructures 135 /// \defgroup ANTLR3_TREE_PARSER ANTLR3_TREE_PARSER - Tree Parser Class Definition 136 /// \ingroup apistructures 137 /// \defgroup ANTLR3_INT_TRIE ANTLR3_INT_TRIE - Trie Class Definition 138 /// \ingroup apistructures 139 /// \defgroup ANTLR3_REWRITE_RULE_ELEMENT_STREAM ANTLR3_REWRITE_RULE_ELEMENT_STREAM - Token Rewrite Stream Class Definition 140 /// \ingroup apistructures 141 /// \defgroup ANTLR3_DEBUG_EVENT_LISTENER ANTLR3_DEBUG_EVENT_LISTENER - Debugger Class Definition 142 /// \ingroup apistructures 143 144 /// \defgroup apiimplementations API Implementation functions 145 /// \ingroup apiclasses 146 /// 147 /// API implementation functions are the default implementation of each of the 148 /// methods in a particular typedef structure. 149 /// 150 /// They are generally grouped together in the same source code file. 151 /// For instance the default implementations of the 152 /// methods contained by a #pANTLR3_BASE_RECOGNIZER will be found in the file 153 /// antlr3baserecognizer.c 154 /// 155 /// A source file that provides the default implementations of functions will usually 156 /// also supply the public (exported from the .DLL or code library) 'constructor' functions 157 /// that create and initialize the typedef structure that they implement. For instance, 158 /// in the antlr3baserecognizer.c file, you will find the function antlr3BaseRecognizerNew() 159 /// 160 161 /// \defgroup pANTLR3_BASE_RECOGNIZER pANTLR3_BASE_RECOGNIZER Base Recognizer Implementation 162 /// \ingroup apiimplementations 163 /// 164 /// The base recognizer interface is implemented by all higher level recognizers 165 /// such as #pANTLR3_PARSER and provides methods common to all recognizers. 166 /// 167 /// \defgroup pANTLR3_RECOGNIZER_SHARED_STATE pANTLR3_RECOGNIZER_SHARED_STATE - Recognizer Shared State Implementation 168 /// \ingroup apiimplementations 169 /// 170 /// The recognizer shared state class does not have an implementation because it contains only 171 /// data fields, documented at #ANTLR3_RECOGNIZER_SHARED_STATE 172 /// 173 /// \defgroup pANTLR3_BITSET pANTLR3_BITSET - Bitset Implementation 174 /// \ingroup apiimplementations 175 /// \defgroup pANTLR3_TOKEN_FACTORY pANTLR3_TOKEN_FACTORY - Token Factory Implementation 176 /// \ingroup apiimplementations 177 /// \defgroup pANTLR3_COMMON_TOKEN pANTLR3_COMMON_TOKEN - Common Token Implementation 178 /// \ingroup apiimplementations 179 /// \defgroup pANTLR3_EXCEPTION pANTLR3_EXCEPTION - Exception Implementation 180 /// \ingroup apiimplementations 181 /// \defgroup pANTLR3_HASH_BUCKET pANTLR3_HASH_BUCKET - Hash Table Bucket Implementation 182 /// \ingroup apiimplementations 183 /// \defgroup pANTLR3_HASH_ENTRY pANTLR3_HASH_ENTRY - Hash Table Entry Implementation 184 /// \ingroup apiimplementations 185 /// \defgroup pANTLR3_HASH_ENUM pANTLR3_HASH_ENUM - Hash Table Enumerator Implementation 186 /// \ingroup apiimplementations 187 /// \defgroup pANTLR3_HASH_TABLE pANTLR3_HASH_TABLE - Hash Table Implementation 188 /// \ingroup apiimplementations 189 /// \defgroup pANTLR3_LIST pANTLR3_LIST - List Implementation 190 /// \ingroup apiimplementations 191 /// \defgroup pANTLR3_VECTOR_FACTORY pANTLR3_VECTOR_FACTORY - Vector Factory Implementation 192 /// \ingroup apiimplementations 193 /// \defgroup pANTLR3_VECTOR pANTLR3_VECTOR - Vector Implementation 194 /// \ingroup apiimplementations 195 /// \defgroup pANTLR3_STACK pANTLR3_STACK - Stack Implementation 196 /// \ingroup apiimplementations 197 /// \defgroup pANTLR3_INPUT_STREAM pANTLR3_INPUT_STREAM - Input Stream Implementation 198 /// \ingroup apiimplementations 199 /// \defgroup pANTLR3_LEX_STATE pANTLR3_LEX_STATE - Lexer State Implementation 200 /// \ingroup apiimplementations 201 /// \defgroup pANTLR3_STRING_FACTORY pANTLR3_STRING_FACTORY - String Factory Implementation 202 /// \ingroup apiimplementations 203 /// \defgroup pANTLR3_STRING pANTLR3_STRING - String Implementation 204 /// \ingroup apiimplementations 205 /// \defgroup pANTLR3_TOKEN_SOURCE pANTLR3_TOKEN_SOURCE - Token Source Implementation 206 /// \ingroup apiimplementations 207 /// \defgroup pANTLR3_TOKEN_STREAM pANTLR3_TOKEN_STREAM - Token Stream Implementation 208 /// \ingroup apiimplementations 209 /// \defgroup pANTLR3_COMMON_TOKEN_STREAM pANTLR3_COMMON_TOKEN_STREAM - Common Token Implementation 210 /// \ingroup apiimplementations 211 /// \defgroup pANTLR3_CYCLIC_DFA pANTLR3_CYCLIC_DFA - Cyclic DFA Implementation 212 /// \ingroup apiimplementations 213 /// \defgroup pANTLR3_LEXER pANTLR3_LEXER - Lexer Implementation 214 /// \ingroup apiimplementations 215 /// \defgroup pANTLR3_PARSER pANTLR3_PARSER - Parser Implementation 216 /// \ingroup apiimplementations 217 /// \defgroup pANTLR3_BASE_TREE pANTLR3_BASE_TREE - Base Tree Implementation 218 /// \ingroup apiimplementations 219 /// \defgroup pANTLR3_COMMON_TREE pANTLR3_COMMON_TREE - Common Tree Implementation 220 /// \ingroup apiimplementations 221 /// \defgroup pANTLR3_ARBORETUM pANTLR3_ARBORETUM - Tree Factory Implementation 222 /// \ingroup apiimplementations 223 /// \defgroup pANTLR3_PARSE_TREE pANTLR3_PARSE_TREE - Parse Tree Implementation 224 /// \ingroup apiimplementations 225 /// \defgroup pANTLR3_TREE_NODE_STREAM pANTLR3_TREE_NODE_STREAM - Tree Node Stream Implementation 226 /// \ingroup apiimplementations 227 /// \defgroup pANTLR3_COMMON_TREE_NODE_STREAM pANTLR3_COMMON_TREE_NODE_STREAM - Common Tree Node Stream Implementation 228 /// \ingroup apiimplementations 229 /// \defgroup pANTLR3_TREE_WALK_STATE pANTLR3_TREE_WALK_STATE - Tree Walk State Implementation 230 /// \ingroup apiimplementations 231 /// \defgroup pANTLR3_BASE_TREE_ADAPTOR pANTLR3_BASE_TREE_ADAPTOR - Base Tree Adaptor Implementation 232 /// \ingroup apiimplementations 233 /// \defgroup pANTLR3_COMMON_TREE_ADAPTOR pANTLR3_COMMON_TREE_ADAPTOR - Common Tree Adaptor Implementation 234 /// \ingroup apiimplementations 235 /// \defgroup pANTLR3_TREE_PARSER pANTLR3_TREE_PARSER - Tree ParserImplementation 236 /// \ingroup apiimplementations 237 /// \defgroup pANTLR3_INT_TRIE pANTLR3_INT_TRIE - Trie Implementation 238 /// \ingroup apiimplementations 239 /// \defgroup pANTLR3_REWRITE_RULE_ELEMENT_STREAM pANTLR3_REWRITE_RULE_ELEMENT_STREAM - Token Rewrite Stream Implementation 240 /// \ingroup apiimplementations 241 /// \defgroup pANTLR3_DEBUG_EVENT_LISTENER pANTLR3_DEBUG_EVENT_LISTENER - Debugger Implementation 242 /// \ingroup apiimplementations 243