booleanexp.h

来自「我写的抽象语法树」· C头文件 代码 · 共 75 行

H
75
字号
#ifndef BooleanExpH
#define BooleanExpH
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
class BooleanExp
{
  public:
     BooleanExp()
     {
     }
     virtual void destory()=0;


   virtual vector<int> FiltListView(TListView* view)
   {
   }
  virtual AnsiString  FiltDateSet( )=0;
};

class VariableExp: public BooleanExp
{
  public:
    VariableExp(AnsiString name,AnsiString of,AnsiString val);
    vector<int> FiltListView(TListView* view);
  void destory();
  AnsiString FiltDateSet();

  private:
   AnsiString fieldName,fieldVal,op;
   
   bool isFloat(TListView* view,int index);


};


class AndExp:public BooleanExp
{
  public:
     AndExp(BooleanExp* left,BooleanExp* right);
      vector<int> FiltListView(TListView* view);
       void  destory();
      AnsiString FiltDateSet();

  private:
    BooleanExp* _operand1;
    BooleanExp* _operand2;
};


class OrExp:public BooleanExp
{
    public:
     OrExp(BooleanExp* left,BooleanExp* right);
     vector<int> FiltListView(TListView* view);
     AnsiString FiltDateSet();
    void destory();
  private:
    BooleanExp* _operand1;
    BooleanExp* _operand2;

};



#endif






⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?