Please Help with references

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Balaji

    Please Help with references

    import __main__

    tempbuffer= None

    permbuffer={}

    class E:
    def __init__(self):
    # print id(self)
    self.hasVar = False


    def doOperation(sel f,op,rightOpera nd):
    e = E()
    if self.__class__ == E:
    e.hasVar = self.hasVar
    elif self.__class__ == V or rightOperand.__ class__ == V or \
    (rightOperand._ _class__ == E and rightOperand.ha sVar == True):
    e.hasVar = True
    e.operator = op
    e.left = self
    e.right = rightOperand
    global tempbuffer
    global permbuffer
    print "bll"
    f = copy.copy(e)
    print f
    r =findNonTempBuf ferRef(tempbuff er)
    print r
    if r != 'tempbuffer':
    print "hello"
    permbuffer[r] =tempbuffer
    tempbuffer = f
    return e


    def relationalOpera tors(self,op,ri ghtOperand):
    print self,rightOpera nd
    e=E()
    e.operator =op
    e.left=self
    e.right=rightOp erand
    return e

    def __neg__(self):
    return self

    def __radd__(self,e 2):
    return self.doOperatio n('+',e2)

    def __add__(self,e2 ):
    return self.doOperatio n('+',e2)

    class V(E):
    """ This is a variable for MPY"""
    def __init__(self):
    print "V",
    E.__init__(self )
    self.hasVar = True
    self.val = None

    def __str__(self):
    if self.val:
    # print "self.val *****"
    return str(self.val)
    else:
    return findRefTo(self) or "MPY Error! Printing unnamed variable."



    def findRefTo(obj):
    import expression # Needed to get access to main.
    vnames = vars(__main__)
    for name in vnames.keys():
    if vnames[name] == obj:
    return name
    return None

    def findNonTempBuff erRef(obj):
    import expression # Needed to get access to main.
    vnames = vars(__main__)
    print vnames
    for name in vnames.keys():
    if vnames[name] == obj:
    return name
    return None





    *************** *************** *************** *****

    This my code...

    On interpretor if i

    create x=V() and y=V() creates two instances of class variable which
    inherits from expression class E.

    now if i say

    x+y

    and then c=x+y

    and ce=x+y

    i think i loose the original one...

    i want to store in a permbuffer all asignments made..

    after assigning c and ce i want a copy of both in a permbuffer..

    Iam at my witends .. Please help...

    Balaji
  • Oktay Safak

    #2
    ignore this post. just testing

    test


    ---
    Outgoing mail is certified Virus Free.
    Checked by AVG anti-virus system (http://www.grisoft.com).
    Version: 6.0.667 / Virus Database: 429 - Release Date: 23.04.2004




    Comment

    Working...