#ifndef expression_h #define expression_h // expression.h // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet #include "expression.h" namespace Automate { class Expression { public: // Destructeur. virtual ~Expression (); // Retourne la valeur de l'expression. virtual int val (void) = 0; }; class ExpressionNum : public Expression { int m_num; public: // Constructeur. ExpressionNum (int num) { m_num = num; } // Destructeur. ~ExpressionNum (); // Retourne la valeur de l'expression. int val (void); }; class ExpressionNumOp : public Expression { char m_op; Expression *m_left, *m_right; public: // Constructeurs. ExpressionNumOp (Expression *left, char op, Expression *right) { m_left = left; m_op = op; m_right = right; } ExpressionNumOp (char op, Expression *right) { m_left = 0; m_op = op; m_right = right; } // Destructeur. ~ExpressionNumOp (); // Retourne la valeur de l'expression. int val (void); }; } #endif // expression_h