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