00001 #ifndef INC_CommonASTWithHiddenTokens_hpp__ 00002 #define INC_CommonASTWithHiddenTokens_hpp__ 00003 00004 /* ANTLR Translator Generator 00005 * Project led by Terence Parr at http://www.jGuru.com 00006 * Software rights: http://www.antlr.org/license.html 00007 * 00008 * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/CommonASTWithHiddenTokens.hpp#2 $ 00009 */ 00010 00011 #include <antlr/config.hpp> 00012 #include <antlr/CommonAST.hpp> 00013 00014 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 00015 namespace antlr { 00016 #endif 00017 00021 class ANTLR_API CommonASTWithHiddenTokens : public CommonAST { 00022 public: 00023 CommonASTWithHiddenTokens(); 00024 virtual ~CommonASTWithHiddenTokens(); 00025 virtual const char* typeName( void ) const 00026 { 00027 return CommonASTWithHiddenTokens::TYPE_NAME; 00028 } 00030 virtual RefAST clone( void ) const; 00031 00032 // Borland C++ builder seems to need the decl's of the first two... 00033 virtual void initialize(int t,const ANTLR_USE_NAMESPACE(std)string& txt); 00034 virtual void initialize(RefAST t); 00035 virtual void initialize(RefToken t); 00036 00037 virtual RefToken getHiddenAfter() const 00038 { 00039 return hiddenAfter; 00040 } 00041 00042 virtual RefToken getHiddenBefore() const 00043 { 00044 return hiddenBefore; 00045 } 00046 00047 static RefAST factory(); 00048 00049 static const char* const TYPE_NAME; 00050 protected: 00051 RefToken hiddenBefore,hiddenAfter; // references to hidden tokens 00052 }; 00053 00054 typedef ASTRefCount<CommonASTWithHiddenTokens> RefCommonASTWithHiddenTokens; 00055 00056 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE 00057 } 00058 #endif 00059 00060 #endif //INC_CommonASTWithHiddenTokens_hpp__