470,855 Members | 1,143 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,855 developers. It's quick & easy.

Please Help with references

import __main__

tempbuffer= None

permbuffer={}

class E:
def __init__(self):
# print id(self)
self.hasVar = False
def doOperation(self,op,rightOperand):
e = E()
if self.__class__ == E:
e.hasVar = self.hasVar
elif self.__class__ == V or rightOperand.__class__ == V or \
(rightOperand.__class__ == E and rightOperand.hasVar == 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 =findNonTempBufferRef(tempbuffer)
print r
if r != 'tempbuffer':
print "hello"
permbuffer[r] =tempbuffer
tempbuffer = f
return e
def relationalOperators(self,op,rightOperand):
print self,rightOperand
e=E()
e.operator =op
e.left=self
e.right=rightOperand
return e

def __neg__(self):
return self

def __radd__(self,e2):
return self.doOperation('+',e2)

def __add__(self,e2):
return self.doOperation('+',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 findNonTempBufferRef(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
Jul 18 '05 #1
1 940
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


Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Lloyd Sheen | last post: by
23 posts views Thread by Jason | last post: by
11 posts views Thread by scorpion53061 | last post: by
3 posts views Thread by prabhupr | last post: by
2 posts views Thread by Doug | last post: by
3 posts views Thread by Alami | last post: by
3 posts views Thread by vsailas | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.