--- /dev/null
+/** \file\r
+ * Declarations for all the antlr3 C runtime interfaces/classes. This\r
+ * allows the structures that define the interfaces to contain pointers to\r
+ * each other without trying to sort out the cyclic interdependencies that\r
+ * would otherwise result.\r
+ */\r
+#ifndef _ANTLR3_INTERFACES_H\r
+#define _ANTLR3_INTERFACES_H\r
+\r
+// [The "BSD licence"]\r
+// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC\r
+// http://www.temporal-wave.com\r
+// http://www.linkedin.com/in/jimidle\r
+//\r
+// All rights reserved.\r
+//\r
+// Redistribution and use in source and binary forms, with or without\r
+// modification, are permitted provided that the following conditions\r
+// are met:\r
+// 1. Redistributions of source code must retain the above copyright\r
+// notice, this list of conditions and the following disclaimer.\r
+// 2. Redistributions in binary form must reproduce the above copyright\r
+// notice, this list of conditions and the following disclaimer in the\r
+// documentation and/or other materials provided with the distribution.\r
+// 3. The name of the author may not be used to endorse or promote products\r
+// derived from this software without specific prior written permission.\r
+//\r
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\r
+// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\r
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
+// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\r
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r
+// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\r
+// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+typedef struct ANTLR3_INT_STREAM_struct *pANTLR3_INT_STREAM;\r
+\r
+/// Pointer to an instantiation of the 'class' #ANTLR3_BASE_RECOGNIZER\r
+/// \ingroup ANTLR3_BASE_RECOGNIZER\r
+///\r
+typedef struct ANTLR3_BASE_RECOGNIZER_struct *pANTLR3_BASE_RECOGNIZER;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_RECOGNIZER_SHARED_STATE \r
+/// \ingroup ANTLR3_RECOGNIZER_SHARED_STATE \r
+///\r
+typedef struct ANTLR3_RECOGNIZER_SHARED_STATE_struct *pANTLR3_RECOGNIZER_SHARED_STATE;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_BITSET_LIST\r
+/// \ingroup ANTLR3_BITSET_LIST\r
+///\r
+typedef struct ANTLR3_BITSET_LIST_struct *pANTLR3_BITSET_LIST;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_BITSET \r
+/// \ingroup ANTLR3_BITSET \r
+///\r
+typedef struct ANTLR3_BITSET_struct *pANTLR3_BITSET;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_FACTORY \r
+/// \ingroup ANTLR3_TOKEN_FACTORY \r
+///\r
+typedef struct ANTLR3_TOKEN_FACTORY_struct *pANTLR3_TOKEN_FACTORY;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TOKEN \r
+/// \ingroup ANTLR3_COMMON_TOKEN \r
+///\r
+typedef struct ANTLR3_COMMON_TOKEN_struct *pANTLR3_COMMON_TOKEN;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_EXCEPTION \r
+/// \ingroup ANTLR3_EXCEPTION \r
+///\r
+typedef struct ANTLR3_EXCEPTION_struct *pANTLR3_EXCEPTION;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_HASH_BUCKET \r
+/// \ingroup ANTLR3_HASH_BUCKET \r
+///\r
+typedef struct ANTLR3_HASH_BUCKET_struct *pANTLR3_HASH_BUCKET;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_HASH_ENTRY \r
+/// \ingroup ANTLR3_HASH_ENTRY \r
+///\r
+typedef struct ANTLR3_HASH_ENTRY_struct *pANTLR3_HASH_ENTRY;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_HASH_ENUM \r
+/// \ingroup ANTLR3_HASH_ENUM \r
+///\r
+typedef struct ANTLR3_HASH_ENUM_struct *pANTLR3_HASH_ENUM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_HASH_TABLE \r
+/// \ingroup ANTLR3_HASH_TABLE \r
+///\r
+typedef struct ANTLR3_HASH_TABLE_struct *pANTLR3_HASH_TABLE;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_LIST \r
+/// \ingroup ANTLR3_LIST \r
+///\r
+typedef struct ANTLR3_LIST_struct *pANTLR3_LIST;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_VECTOR_FACTORY \r
+/// \ingroup ANTLR3_VECTOR_FACTORY \r
+///\r
+typedef struct ANTLR3_VECTOR_FACTORY_struct *pANTLR3_VECTOR_FACTORY;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_VECTOR \r
+/// \ingroup ANTLR3_VECTOR \r
+///\r
+typedef struct ANTLR3_VECTOR_struct *pANTLR3_VECTOR;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_STACK \r
+/// \ingroup ANTLR3_STACK \r
+///\r
+typedef struct ANTLR3_STACK_struct *pANTLR3_STACK;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TOPO\r
+/// \ingroup ANTLR3_TOPO\r
+///\r
+typedef struct ANTLR3_TOPO_struct *pANTLR3_TOPO;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_INPUT_STREAM \r
+/// \ingroup ANTLR3_INPUT_STREAM \r
+///\r
+typedef struct ANTLR3_INPUT_STREAM_struct *pANTLR3_INPUT_STREAM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_LEX_STATE \r
+/// \ingroup ANTLR3_LEX_STATE \r
+///\r
+typedef struct ANTLR3_LEX_STATE_struct *pANTLR3_LEX_STATE;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_STRING_FACTORY \r
+/// \ingroup ANTLR3_STRING_FACTORY \r
+///\r
+typedef struct ANTLR3_STRING_FACTORY_struct *pANTLR3_STRING_FACTORY;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_STRING \r
+/// \ingroup ANTLR3_STRING \r
+///\r
+typedef struct ANTLR3_STRING_struct *pANTLR3_STRING;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_SOURCE \r
+/// \ingroup ANTLR3_TOKEN_SOURCE \r
+///\r
+typedef struct ANTLR3_TOKEN_SOURCE_struct *pANTLR3_TOKEN_SOURCE;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TOKEN_STREAM \r
+/// \ingroup ANTLR3_TOKEN_STREAM \r
+///\r
+typedef struct ANTLR3_TOKEN_STREAM_struct *pANTLR3_TOKEN_STREAM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TOKEN_STREAM \r
+/// \ingroup ANTLR3_COMMON_TOKEN_STREAM \r
+///\r
+typedef struct ANTLR3_COMMON_TOKEN_STREAM_struct *pANTLR3_COMMON_TOKEN_STREAM;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_CYCLIC_DFA \r
+/// \ingroup ANTLR3_CYCLIC_DFA \r
+///\r
+typedef struct ANTLR3_CYCLIC_DFA_struct *pANTLR3_CYCLIC_DFA;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_LEXER \r
+/// \ingroup ANTLR3_LEXER \r
+///\r
+typedef struct ANTLR3_LEXER_struct *pANTLR3_LEXER;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_PARSER \r
+/// \ingroup ANTLR3_PARSER \r
+///\r
+typedef struct ANTLR3_PARSER_struct *pANTLR3_PARSER;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_BASE_TREE \r
+/// \ingroup ANTLR3_BASE_TREE \r
+///\r
+typedef struct ANTLR3_BASE_TREE_struct *pANTLR3_BASE_TREE;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE \r
+/// \ingroup ANTLR3_COMMON_TREE \r
+///\r
+typedef struct ANTLR3_COMMON_TREE_struct *pANTLR3_COMMON_TREE;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_ARBORETUM \r
+/// \ingroup ANTLR3_ARBORETUM \r
+///\r
+typedef struct ANTLR3_ARBORETUM_struct *pANTLR3_ARBORETUM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_PARSE_TREE \r
+/// \ingroup ANTLR3_PARSE_TREE \r
+///\r
+typedef struct ANTLR3_PARSE_TREE_struct *pANTLR3_PARSE_TREE;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TREE_NODE_STREAM \r
+/// \ingroup ANTLR3_TREE_NODE_STREAM \r
+///\r
+typedef struct ANTLR3_TREE_NODE_STREAM_struct *pANTLR3_TREE_NODE_STREAM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE_NODE_STREAM \r
+/// \ingroup ANTLR3_COMMON_TREE_NODE_STREAM \r
+///\r
+typedef struct ANTLR3_COMMON_TREE_NODE_STREAM_struct *pANTLR3_COMMON_TREE_NODE_STREAM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TREE_WALK_STATE \r
+/// \ingroup ANTLR3_TREE_WALK_STATE \r
+///\r
+typedef struct ANTLR3_TREE_WALK_STATE_struct *pANTLR3_TREE_WALK_STATE;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_BASE_TREE_ADAPTOR \r
+/// \ingroup ANTLR3_BASE_TREE_ADAPTOR \r
+///\r
+typedef struct ANTLR3_BASE_TREE_ADAPTOR_struct *pANTLR3_BASE_TREE_ADAPTOR;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_COMMON_TREE_ADAPTOR \r
+/// \ingroup ANTLR3_COMMON_TREE_ADAPTOR \r
+///\r
+typedef struct ANTLR3_COMMON_TREE_ADAPTOR_struct *pANTLR3_COMMON_TREE_ADAPTOR;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_TREE_PARSER \r
+/// \ingroup ANTLR3_TREE_PARSER \r
+///\r
+typedef struct ANTLR3_TREE_PARSER_struct *pANTLR3_TREE_PARSER;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_INT_TRIE \r
+/// \ingroup ANTLR3_INT_TRIE \r
+///\r
+typedef struct ANTLR3_INT_TRIE_struct *pANTLR3_INT_TRIE;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_ELEMENT_STREAM \r
+/// \ingroup ANTLR3_REWRITE_RULE_ELEMENT_STREAM \r
+///\r
+typedef struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *pANTLR3_REWRITE_RULE_ELEMENT_STREAM;\r
+/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_ELEMENT_STREAM \r
+/// \ingroup ANTLR3_REWRITE_RULE_ELEMENT_STREAM \r
+///\r
+typedef struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *pANTLR3_REWRITE_RULE_TOKEN_STREAM;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_SUBSTREE_STREAM \r
+/// \ingroup ANTLR3_REWRITE_RULE_SUBTREE_STREAM \r
+///\r
+typedef struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *pANTLR3_REWRITE_RULE_SUBTREE_STREAM;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_REWRITE_RULE_NODE_STREAM \r
+/// \ingroup ANTLR3_REWRITE_RULE_NODE_STREAM \r
+///\r
+typedef struct ANTLR3_REWRITE_RULE_ELEMENT_STREAM_struct *pANTLR3_REWRITE_RULE_NODE_STREAM;\r
+\r
+/// Pointer to an instantiation of 'class' #ANTLR3_DEBUG_EVENT_LISTENER \r
+/// \ingroup ANTLR3_DEBUG_EVENT_LISTENER \r
+///\r
+typedef struct ANTLR3_DEBUG_EVENT_LISTENER_struct *pANTLR3_DEBUG_EVENT_LISTENER;\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r