ANTLR Support Libraries 2.7.1+
antlr/CommonASTWithHiddenTokens.hpp
Go to the documentation of this file.
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__
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines