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

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

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

revision 2888 by schoenebeck, Sun Apr 24 18:16:10 2016 UTC revision 2935 by schoenebeck, Sun Jul 10 14:24:13 2016 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (c) 2014 Christian Schoenebeck and Andreas Persson   * Copyright (c) 2014 - 2016 Christian Schoenebeck and Andreas Persson
3   *   *
4   * http://www.linuxsampler.org   * http://www.linuxsampler.org
5   *   *
# Line 769  void Or::dump(int level) { Line 769  void Or::dump(int level) {
769      printf(")\n");      printf(")\n");
770  }  }
771    
772    int BitwiseOr::evalInt() {
773        IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);
774        IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);
775        return pLHS->evalInt() | pRHS->evalInt();
776    }
777    
778    void BitwiseOr::dump(int level) {
779        printIndents(level);
780        printf("BitwiseOr(\n");
781        lhs->dump(level+1);
782        printIndents(level);
783        printf(",\n");
784        rhs->dump(level+1);
785        printIndents(level);
786        printf(")\n");
787    }
788    
789  int And::evalInt() {  int And::evalInt() {
790      IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);      IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);
791      if (!pLHS->evalInt()) return 0;      if (!pLHS->evalInt()) return 0;
# Line 787  void And::dump(int level) { Line 804  void And::dump(int level) {
804      printf(")\n");      printf(")\n");
805  }  }
806    
807    int BitwiseAnd::evalInt() {
808        IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs);
809        IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);
810        return pLHS->evalInt() & pRHS->evalInt();
811    }
812    
813    void BitwiseAnd::dump(int level) {
814        printIndents(level);
815        printf("BitwiseAnd(\n");
816        lhs->dump(level+1);
817        printIndents(level);
818        printf(",\n");
819        rhs->dump(level+1);
820        printIndents(level);
821        printf(")\n");
822    }
823    
824  void Not::dump(int level) {  void Not::dump(int level) {
825      printIndents(level);      printIndents(level);
826      printf("Not(\n");      printf("Not(\n");
# Line 795  void Not::dump(int level) { Line 829  void Not::dump(int level) {
829      printf(")\n");      printf(")\n");
830  }  }
831    
832    void BitwiseNot::dump(int level) {
833        printIndents(level);
834        printf("BitwiseNot(\n");
835        expr->dump(level+1);
836        printIndents(level);
837        printf(")\n");
838    }
839    
840  VariableRef ParserContext::variableByName(const String& name) {  VariableRef ParserContext::variableByName(const String& name) {
841      if (!vartable.count(name)) {      if (!vartable.count(name)) {
842          return VariableRef();          return VariableRef();
# Line 828  ParserContext::~ParserContext() { Line 870  ParserContext::~ParserContext() {
870      }      }
871  }  }
872    
873  void ParserContext::addErr(int line, int column, const char* txt) {  void ParserContext::addErr(int firstLine, int lastLine, int firstColumn, int lastColumn, const char* txt) {
874      ParserIssue e;      ParserIssue e;
875      e.type = PARSER_ERROR;      e.type = PARSER_ERROR;
876      e.txt = txt;      e.txt = txt;
877      e.line = line;      e.firstLine = firstLine;
878      e.column = column;      e.lastLine = lastLine;
879        e.firstColumn = firstColumn;
880        e.lastColumn = lastColumn;
881      vErrors.push_back(e);      vErrors.push_back(e);
882      vIssues.push_back(e);      vIssues.push_back(e);
883  }  }
884    
885  void ParserContext::addWrn(int line, int column, const char* txt) {  void ParserContext::addWrn(int firstLine, int lastLine, int firstColumn, int lastColumn, const char* txt) {
886      ParserIssue w;      ParserIssue w;
887      w.type = PARSER_WARNING;      w.type = PARSER_WARNING;
888      w.txt = txt;      w.txt = txt;
889      w.line = line;      w.firstLine = firstLine;
890      w.column = column;      w.lastLine = lastLine;
891        w.firstColumn = firstColumn;
892        w.lastColumn = lastColumn;
893      vWarnings.push_back(w);      vWarnings.push_back(w);
894      vIssues.push_back(w);      vIssues.push_back(w);
895  }  }

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

  ViewVC Help
Powered by ViewVC