Polaris: IOStarExpr.h Source File

IOStarExpr.h

Go to the documentation of this file.
00001 ///
00002 #ifndef _IO_STAR_EXPR_H
00003 #define _IO_STAR_EXPR_H
00004 ///
00005 /// \class IOStarExpr 
00006 /// \brief A derived class from Expression
00007 /// \defgroup Polaris
00008 /// \ingroup Polaris
00009 ///  Expression
00010 /// \see Expression/IOStarExpr.h
00011 /// \see Expression/IOStarExpr.h
00012 /// \see Expression/Expression.cc
00013 ///
00014 /// \endcode
00015 /// \section DESCRIPTION DESCRIPTION
00016 /// An IOStarExpr is the star used as the unit number in an I/O
00017 /// statement.
00018 ///
00019 #ifdef POLARIS_GNU_PRAGMAS
00020 #pragma interface
00021 #endif
00022 ///
00023 #ifndef _EXPRESSION_H
00024 #include "Expression.h"
00025 #endif
00026 ///
00027 class IOStarExpr : public Expression {
00028  public:
00029     inline IOStarExpr();
00030     inline IOStarExpr(const IOStarExpr & e);
00031     virtual ~IOStarExpr();
00032 
00033     virtual IOStarExpr & operator = (const IOStarExpr &);
00034 
00035     virtual Expression *clone() const;
00036     virtual void    print_debug(ostream & o, Boolean debug) 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 
00045 
00046 ///< inline implementations
00047 
00048 inline
00049 IOStarExpr::IOStarExpr()
00050 : Expression(IO_STAR_OP, make_type(VOID_TYPE)) 
00051 {
00052     ///< nothing to do
00053 }
00054 
00055 inline
00056 IOStarExpr::IOStarExpr(const IOStarExpr & e)
00057 : Expression(e) 
00058 {
00059     ///< nothing to do
00060 }
00061 
00062 #endif
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:05:56 2005