Working on parser for my language, I see that all classes (Token, Production, Statement, ...) have one thing in common. They all maintain start and stop positions in the source text. So it seems logical to have them all inherit from a base class that defines those, but this doesn't work:
import tok class code: def __init__( self, start, stop ): startLoc = start stopLoc = stop class token(code): pass x = token( tok.Loc(0, 0), tok.Loc(3, 4) ) print x.startLoc.repr(), x.stopLoc.repr() AttributeError: token instance has no attribute 'startLoc' 1) Is my design thinking good, or hopelessly unPythonic? 2) If it's good, how do you access base class data attributes? (The doc is rich in method access info, impoverished when it comes to other attributes.) -- http://mail.python.org/mailman/listinfo/python-list