On Feb 11, 4:55 pm, Gary Herron <[EMAIL PROTECTED]> wrote: > Bill Davy wrote: > > Writing a quick and dirty assembler and want to give the user the location > > of an error. The "assembly language" is Python. If the user wants to > > generat some object code they write something like: > > > Label(LoopLable) > > Load(R4) > > Dec() > > JNZ(LoopLabel) > > > I can use Python to do all the expression evalutaion, conversion from Python > > FP to target FP, include files, macros (done as function definitions). The > > functions like Load() generate the approproyte object code. > > > So, for example, when a label is defined or referenced, I save the File,Line > > so if there is not exactly one defintion or no references, I can report the > > file location(s) to be considered. In the example, I would want to report > > that LoopLable is not referenced, and LoopLabel is not defined. > > > TIA, > > Bill > > > PSwww.SynectixLtd.comis not relevant > > You *can* get at that kind of information: The traceback module has a > function called "extract_stack" which can give you a pointer to the > whole execution stack. From that can be generated all the usual stuff > you see in a traceback -- including file and line information. *How* > you extract that stuff, I'll leave as an exercises for the reader. > (Meaning I haven't a clue.) > > Gary Herron
I think the inspect module might be more useful... the getfile() and getsourcelines() look promising. -- bjorn -- http://mail.python.org/mailman/listinfo/python-list