diff options
Diffstat (limited to 'poxml/antlr/antlr/CommonASTWithHiddenTokens.h')
-rw-r--r-- | poxml/antlr/antlr/CommonASTWithHiddenTokens.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/poxml/antlr/antlr/CommonASTWithHiddenTokens.h b/poxml/antlr/antlr/CommonASTWithHiddenTokens.h new file mode 100644 index 00000000..6385a0fc --- /dev/null +++ b/poxml/antlr/antlr/CommonASTWithHiddenTokens.h @@ -0,0 +1,41 @@ +#ifndef INC_CommonASTWithHiddenTokens_hpp__ +#define INC_CommonASTWithHiddenTokens_hpp__ + +/** A CommonAST whose initialization copies hidden token + * information from the Token used to create a node. + */ + +#include "antlr/config.h" +#include "antlr/CommonAST.h" + +ANTLR_BEGIN_NAMESPACE(antlr) + +class CommonASTWithHiddenTokens : public CommonAST { +public: + CommonASTWithHiddenTokens() : CommonAST() + { + } + virtual ~CommonASTWithHiddenTokens() + { + } +protected: + RefToken hiddenBefore,hiddenAfter; // references to hidden tokens +public: + virtual RefToken getHiddenAfter() const + { return hiddenAfter; } + virtual RefToken getHiddenBefore() const + { return hiddenBefore; } + + // Borland C++ builder seems to need the decl's of the first two... + virtual void initialize(int t,const ANTLR_USE_NAMESPACE(std)string& txt); + virtual void initialize(RefAST t); + virtual void initialize(RefToken t); + + static RefAST factory(); +}; + +typedef ASTRefCount<CommonASTWithHiddenTokens> RefCommonASTWithHiddenTokens; + +ANTLR_END_NAMESPACE + +#endif //INC_CommonASTWithHiddenTokens_hpp__ |