| Polaris: HollerithConstExpr.h Source File | ||
|
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members
HollerithConstExpr.hGo to the documentation of this file.00001 /// 00002 #ifndef _HOLLERITH_CONST_EXPR_H 00003 #define _HOLLERITH_CONST_EXPR_H 00004 /// 00005 /// \class HollerithConstExpr 00006 /// \brief An expression representing a Hollerith constant. 00007 /// \defgroup Polaris 00008 /// \ingroup Polaris 00009 /// Expression 00010 /// \see Expression/HollerithConstExpr.h 00011 /// \see Expression/HollerithConstExpr.h 00012 /// \see Expression/Expression.cc 00013 /// 00014 /// \endcode 00015 /// \section Description Description 00016 /// An HollerithConstExpr is a Hollerith constant expression. 00017 /// That is, a string expression of the form '3Hfoo' or length of 00018 /// string, the letter H, then the string. 00019 /// 00020 #ifdef POLARIS_GNU_PRAGMAS 00021 #pragma interface 00022 #endif 00023 /// 00024 #ifndef _STRING_EXPR_H 00025 #include "StringExpr.h" 00026 #endif 00027 /// 00028 class HollerithConstExpr : public StringExpr { 00029 public: 00030 inline HollerithConstExpr(const char *holl_data); 00031 inline HollerithConstExpr(const HollerithConstExpr & e); 00032 virtual ~HollerithConstExpr(); 00033 00034 virtual HollerithConstExpr & operator = (const HollerithConstExpr &); 00035 00036 virtual Expression *clone() const; 00037 virtual int structures_OK() const; 00038 virtual void convert(BinRep & exprSet, Symtab & symtab); 00039 ///< See Expression.h. 00040 00041 virtual int exchange_expr( VDL & vdl ); 00042 ///< Create a node in the "expression" member and return the index. 00043 00044 protected: 00045 inline HollerithConstExpr(); 00046 }; 00047 00048 00049 ///< inline implementations 00050 00051 inline 00052 HollerithConstExpr::HollerithConstExpr() 00053 : StringExpr(HOLLERITH_CONSTANT_OP, make_type(CHARACTER_TYPE)) 00054 { 00055 ///< nothing to do 00056 } 00057 00058 inline 00059 HollerithConstExpr::HollerithConstExpr(const char *holl_data) 00060 : StringExpr(HOLLERITH_CONSTANT_OP, make_type(CHARACTER_TYPE), holl_data) 00061 { 00062 ///< nothing to do 00063 } 00064 00065 inline 00066 HollerithConstExpr::HollerithConstExpr(const HollerithConstExpr & e) 00067 : StringExpr(e) 00068 { 00069 ///< nothing to do 00070 } 00071 00072 #endif |
||
|