| Polaris: OmegaExpr.h Source File | ||
|
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members
OmegaExpr.hGo to the documentation of this file.00001 /// 00002 #ifndef _OMEGA_EXPR_H 00003 #define _OMEGA_EXPR_H 00004 /// 00005 /// \class OmegaExpr 00006 /// \brief An expression representing OMEGA. 00007 /// \defgroup Polaris 00008 /// \ingroup Polaris 00009 /// C++ VDL 00010 /// \see Expression.h 00011 /// \see Expression.cc 00012 /// 00013 /// \endcode 00014 /// \section Description Description 00015 /// A OmegaExpr is an expression for holding OMEGA. The value OMEGA is 00016 /// not part of the Fortran language. Instead, it is a data structure 00017 /// value that originated from the Delta compiler, which was 00018 /// implemented in SETL. OmegaExprs are typically used to represent 00019 /// undefined values. 00020 /// 00021 #ifdef POLARIS_GNU_PRAGMAS 00022 #pragma interface 00023 #endif 00024 /// 00025 #ifndef _EXPRESSION_H 00026 #include "Expression.h" 00027 #endif 00028 /// 00029 class OmegaExpr : public Expression { 00030 public: 00031 inline OmegaExpr(); 00032 inline OmegaExpr(const OmegaExpr & e); 00033 virtual ~OmegaExpr(); 00034 00035 virtual Expression *clone() const; 00036 virtual OmegaExpr & operator = (const OmegaExpr &); 00037 virtual void print_debug(ostream & o, Boolean debug) const; 00038 virtual int structures_OK() const; 00039 virtual void convert(BinRep & exprSet, Symtab & symtab); 00040 ///< See Expression.h. 00041 00042 virtual int exchange_expr( VDL & vdl ); 00043 ///< Create a node in the "expression" member and return the index. 00044 }; 00045 00046 00047 ///< inline implementations 00048 00049 inline 00050 OmegaExpr::OmegaExpr() 00051 : Expression(OMEGA_OP, make_type(VOID_TYPE)) 00052 { 00053 ///< nothing to do 00054 } 00055 00056 inline 00057 OmegaExpr::OmegaExpr(const OmegaExpr & e) 00058 : Expression(e) 00059 { 00060 ///< nothing to do 00061 } 00062 00063 #endif |
||
|