| Polaris: LogicalConstExpr.h Source File | ||
|
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members
LogicalConstExpr.hGo to the documentation of this file.00001 /// 00002 #ifndef _LOGICAL_CONST_EXPR_H 00003 #define _LOGICAL_CONST_EXPR_H 00004 /// 00005 /// \class LogicalConstExpr 00006 /// \brief An expression representing a logical constant. 00007 /// \defgroup Polaris 00008 /// \ingroup Polaris 00009 /// Expression 00010 /// \see Expression/LogicalConstExpr.h 00011 /// \see Expression/LogicalConstExpr.h 00012 /// \see Expression/Expression.cc 00013 /// 00014 /// \endcode 00015 /// \section DESCRIPTION DESCRIPTION 00016 /// A LogicalConstExpr is a logical constant expression. Its single 00017 /// field, which is a string, is accessed through the methods 00018 /// data(), str_data(), and data_ref(). See StringExpr.h for more 00019 /// information about these methods. 00020 /// 00021 #ifdef POLARIS_GNU_PRAGMAS 00022 #pragma interface 00023 #endif 00024 /// 00025 #ifndef _STRING_EXPR_H 00026 #include "StringExpr.h" 00027 #endif 00028 /// 00029 class LogicalConstExpr : public StringExpr { 00030 friend class ExprTable; 00031 00032 public: 00033 inline LogicalConstExpr(const char *data_string); 00034 inline LogicalConstExpr(const LogicalConstExpr & e); 00035 virtual ~LogicalConstExpr(); 00036 00037 virtual LogicalConstExpr & operator = (const LogicalConstExpr &); 00038 00039 virtual Expression *clone() const; 00040 virtual int structures_OK() const; 00041 virtual void convert(BinRep & exprSet, Symtab & symtab); 00042 ///< See Expression.h. 00043 00044 virtual int exchange_expr( VDL & vdl ); 00045 ///< Create a node in the "expression" member and return the index. 00046 00047 protected: 00048 inline LogicalConstExpr(); 00049 }; 00050 00051 00052 ///< inline implementations 00053 00054 inline 00055 LogicalConstExpr::LogicalConstExpr() 00056 : StringExpr(LOGICAL_CONSTANT_OP, make_type(LOGICAL_TYPE)) 00057 { 00058 ///< nothing to do 00059 } 00060 00061 inline 00062 LogicalConstExpr::LogicalConstExpr(const char *data_string) 00063 : StringExpr(LOGICAL_CONSTANT_OP, make_type(LOGICAL_TYPE), data_string) 00064 { 00065 ///< nothing to do 00066 } 00067 00068 inline 00069 LogicalConstExpr::LogicalConstExpr(const LogicalConstExpr & e) 00070 : StringExpr(e) 00071 { 00072 ///< nothing to do 00073 } 00074 00075 #endif |
||
|