def execute(self, environment): if self.isBlock: return C3D("", self.id, self.row, self.column) if environment.isBlock: return C3D("", self.id, self.row, self.column) if not isinstance(environment, GlobalEnvironment): if environment.getVar(self.id): fix = ( "\t" + "if isinstance(" + self.id + ", str): " + self.tempS + ' = "\'"+' + self.id + '+"\'"' + "\n" + "\telse: " + self.tempS + " = " + self.id + "\n" ) grammar.optimizer_.addIgnoreString(str(fix), self.row, False) return C3D(fix, '"+str(' + self.tempS + ')+"', self.row, self.column) else: pass return C3D("", self.id, self.row, self.column)
def execute(self, environment): if self.isBlock: return C3D("", self.id, self.row, self.column) if environment.isBlock: return C3D("", self.id, self.row, self.column) if not isinstance(environment, GlobalEnvironment): if environment.getVar(self.id): return C3D("", '"+str(' + self.id + ')+"', self.row, self.column) return C3D("", self.id, self.row, self.column)
def execute(self, environment): if self.isBlock: return C3D("", self.id, self.row, self.column) if environment.isBlock: return C3D("", self.id, self.row, self.column) if not isinstance(environment, GlobalEnvironment): if environment.getVar(self.id): return C3D("", '"+str(' + self.id + ')+"', self.row, self.column) else: grammar.PL_errors.append("Error P0000: La variable " + self.id + " no esta declarada") return C3D("", self.id, self.row, self.column)
def execute(self, environment): if self.isBlock: op = operation.Unary(self.temp, self.exp, self.operator, self.row, self.column) return op.execute(environment) c3d = self.operator.execute(environment).temp c3d = self.exp.execute(environment).temp return C3D("", c3d, self.row, self.column)
def execute(self, environment): if self.isBlock: op = operation.Unary(self.temp, self.exp, self.operator, self.row, self.column) return op.execute(environment) val = self.exp.execute(environment) if self.operator == "-" or self.operator == "+" or self.operator == "NOT": c3d = self.operator c3d += val.temp else: c3d = val.temp c3d += operators.get(self.operator, self.operator) return C3D(val.value, c3d, self.row, self.column)
def execute(self, environment): if self.isBlock: op = operation.Binary(self.temp, self.exp1, self.exp2, self.operator, self.row, self.column) return op.execute(environment) space = "" if self.operator == "AND" or self.operator == "OR": space = " " c3d = "" val1 = self.exp1.execute(environment) c3d += val1.temp c3d += space + self.operator + space val2 = self.exp2.execute(environment) c3d += val2.temp return C3D(val1.value + val2.value, c3d, self.row, self.column)
def execute(self, environment): if self.isBlock: op = operation.Ternary( self.temp, self.exp1, self.exp2, self.exp3, self.operator, self.row, self.column, ) return op.execute(environment) c3d = "" val1 = self.exp1.execute(environment) c3d += val1.temp c3d += " " + operators.get(self.operator, self.operator) + " " val2 = self.exp2.execute(environment) c3d += val2.temp c3d += " AND " val3 = self.exp3.execute(environment) c3d += val3.temp return C3D(val1.value + val2.value + val3.value, c3d, self.row, self.column)
def execute(self, environment): val = self.exp.execute(environment) if self.isBlock: return val c3d = "(" + val.temp + ")" return C3D(val.value, c3d, self.row, self.column)
def execute(self, environment): if self.isBlock: return C3D("", self.id, self.row, self.column) if environment.getVar(self.id): return C3D("", '"' + self.id + '"', self.row, self.column) return C3D("", self.id, self.row, self.column)