Example #1
0
 def t_expand_setbang(self, expr, cont):
     variable = expressions.assignmentVariable(expr)
     value = expressions.assignmentValue(expr)
     def c_expanded(expandedValue):
         return pogo.bounce(
             cont, expressions.makeAssignment(variable, expandedValue))
     return pogo.bounce(self.t_expand, value, c_expanded)
Example #2
0
def evalAssignment(exp, env, cont):
    def c(val):
        environment.setVariableValue(expressions.assignmentVariable(exp), val,
                                     env)
        return pogo.bounce(cont, Symbol("ok"))

    return teval(expressions.assignmentValue(exp), env, c)
Example #3
0
def analyzeAssignment(exp):
    varName = expressions.assignmentVariable(exp)
    analyzedValueBody = analyze(expressions.assignmentValue(exp))
    def analyzed(env, cont):
        def c(varVal):
            environment.setVariableValue(varName, varVal, env)
            return pogo.bounce(cont, Symbol("ok"))
        return pogo.bounce(analyzedValueBody, env, c)
    return analyzed
Example #4
0
def evalAssignment(exp, env, cont):
    def c(val):
        environment.setVariableValue(expressions.assignmentVariable(exp),
                                     val, env)
        return pogo.bounce(cont, Symbol("ok"))
    return teval(expressions.assignmentValue(exp), env, c)