⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 antlr3basetreeadaptor.h

📁 antlr最新版本V3源代码
💻 H
字号:
/** \file * Definition of the ANTLR3 base tree adaptor. */#ifndef	_ANTLR3_BASE_TREE_ADAPTOR_H#define	_ANTLR3_BASE_TREE_ADAPTOR_H#include    <antlr3defs.h>#include    <antlr3collections.h>#include    <antlr3string.h>#include    <antlr3basetree.h>#include    <antlr3commontoken.h>typedef	struct ANTLR3_BASE_TREE_ADAPTOR_struct{    /** POinter to any enclosing structure/interface that     *  contains this structure.     */    void	* super;    /** We need a string factory for creating imaginary tokens, we take this     *  from the stream we are supplied to walk.     */    pANTLR3_STRING_FACTORY  strFactory;    /* And we also need a token factory for createing imaginary tokens     * this is also taken from teh input source.     */    pANTLR3_TOKEN_FACTORY   tokenFactory;    pANTLR3_BASE_TREE	    (*nil)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor);    pANTLR3_BASE_TREE	    (*dupTree)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE tree);    void		    (*addChild)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t, pANTLR3_BASE_TREE child);    void		    (*addChildToken)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t, pANTLR3_COMMON_TOKEN child);    pANTLR3_BASE_TREE	    (*becomeRoot)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE newRoot, pANTLR3_BASE_TREE oldRoot);    pANTLR3_BASE_TREE	    (*rulePostProcessing)	(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE root);    pANTLR3_BASE_TREE	    (*becomeRootToken)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_COMMON_TOKEN newRoot, pANTLR3_BASE_TREE oldRoot);    pANTLR3_BASE_TREE	    (*create)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adpator, pANTLR3_COMMON_TOKEN payload);    pANTLR3_BASE_TREE	    (*createTypeToken)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, ANTLR3_UINT32 tokenType, pANTLR3_COMMON_TOKEN fromToken);    pANTLR3_BASE_TREE	    (*createTypeTokenText)	(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, ANTLR3_UINT32 tokenType, pANTLR3_COMMON_TOKEN fromToken, pANTLR3_UINT8 text);    pANTLR3_BASE_TREE	    (*createTypeText)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, ANTLR3_UINT32 tokenType, pANTLR3_UINT8 text);    pANTLR3_BASE_TREE	    (*dupNode)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE treeNode);    ANTLR3_UINT32	    (*getType)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t);    void		    (*setType)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t, ANTLR3_UINT32 type);        pANTLR3_STRING	    (*getText)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t);    void		    (*setText)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_UINT8 t);    void		    (*setText8)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_UINT8 t);    pANTLR3_BASE_TREE	    (*getChild)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, ANTLR3_UINT64 i);    pANTLR3_UINT64	    (*getChildCount)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE);    ANTLR3_UINT64	    (*getUniqueID)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE);    pANTLR3_COMMON_TOKEN    (*createToken)		(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, ANTLR3_UINT32 tokenType, pANTLR3_UINT8 text);    pANTLR3_COMMON_TOKEN    (*createTokenFromToken)	(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_COMMON_TOKEN fromToken);    void		    (*setTokenBoundaries)	(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t, pANTLR3_COMMON_TOKEN startToken, pANTLR3_COMMON_TOKEN stopToken);    ANTLR3_UINT64	    (*getTokenStartIndex)	(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t);    ANTLR3_UINT64	    (*getTokenStopIndex)	(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor, pANTLR3_BASE_TREE t);    void		    (*free)			(struct ANTLR3_BASE_TREE_ADAPTOR_struct * adaptor);}    ANTLR3_TREE_ADAPTOR;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -