/[svn]/linuxsampler/trunk/src/scriptvm/tree.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/scriptvm/tree.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2879 by schoenebeck, Tue Apr 19 14:07:53 2016 UTC revision 2935 by schoenebeck, Sun Jul 10 14:24:13 2016 UTC
# Line 518  public: Line 518  public:
518  };  };
519  typedef Ref<Or,Node> OrRef;  typedef Ref<Or,Node> OrRef;
520    
521    class BitwiseOr : virtual public BinaryOp, virtual public IntExpr {
522    public:
523        BitwiseOr(IntExprRef lhs, IntExprRef rhs) : BinaryOp(lhs,rhs) {}
524        int evalInt();
525        void dump(int level = 0);
526    };
527    typedef Ref<BitwiseOr,Node> BitwiseOrRef;
528    
529  class And : virtual public BinaryOp, virtual public IntExpr {  class And : virtual public BinaryOp, virtual public IntExpr {
530  public:  public:
531      And(IntExprRef lhs, IntExprRef rhs) : BinaryOp(lhs,rhs) {}      And(IntExprRef lhs, IntExprRef rhs) : BinaryOp(lhs,rhs) {}
# Line 526  public: Line 534  public:
534  };  };
535  typedef Ref<And,Node> AndRef;  typedef Ref<And,Node> AndRef;
536    
537    class BitwiseAnd : virtual public BinaryOp, virtual public IntExpr {
538    public:
539        BitwiseAnd(IntExprRef lhs, IntExprRef rhs) : BinaryOp(lhs,rhs) {}
540        int evalInt();
541        void dump(int level = 0);
542    };
543    typedef Ref<BitwiseAnd,Node> BitwiseAndRef;
544    
545  class Not : virtual public IntExpr {  class Not : virtual public IntExpr {
546      IntExprRef expr;      IntExprRef expr;
547  public:  public:
# Line 537  public: Line 553  public:
553  };  };
554  typedef Ref<Not,Node> NotRef;  typedef Ref<Not,Node> NotRef;
555    
556    class BitwiseNot : virtual public IntExpr {
557        IntExprRef expr;
558    public:
559        BitwiseNot(IntExprRef expr) : expr(expr) {}
560        int evalInt() { return ~expr->evalInt(); }
561        void dump(int level = 0);
562        bool isConstExpr() const { return expr->isConstExpr(); }
563        bool isPolyphonic() const { return expr->isPolyphonic(); }
564    };
565    typedef Ref<BitwiseNot,Node> BitwiseNotRef;
566    
567  class ParserContext : public VMParserContext {  class ParserContext : public VMParserContext {
568  public:  public:
569      struct Error {      struct Error {
# Line 586  public: Line 613  public:
613      IntVariableRef globalIntVar(const String& name);      IntVariableRef globalIntVar(const String& name);
614      StringVariableRef globalStrVar(const String& name);      StringVariableRef globalStrVar(const String& name);
615      VariableRef variableByName(const String& name);      VariableRef variableByName(const String& name);
616      void addErr(int line, const char* txt);      void addErr(int firstLine, int lastLine, int firstColumn, int lastColumn, const char* txt);
617      void addWrn(int line, const char* txt);      void addWrn(int firstLine, int lastLine, int firstColumn, int lastColumn, const char* txt);
618      void createScanner(std::istream* is);      void createScanner(std::istream* is);
619      void destroyScanner();      void destroyScanner();
620      bool setPreprocessorCondition(const char* name);      bool setPreprocessorCondition(const char* name);

Legend:
Removed from v.2879  
changed lines
  Added in v.2935

  ViewVC Help
Powered by ViewVC