| // 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 |
| |