Home | History | Annotate | Download | only in doxygen
      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