Walter Banks wrote: > I wish that pascal had braces and statement locals and C had > pascal's local functions. Pascal has BEGIN/END, which is pretty much the same as C braces. A BEGIN/END block is a compound statement that is viewed as a single statemen= t outside the block. I'm not sure what you mean by "statement locals". If you mean temporary variables only within the scope of a specific block of code, as apposed to = a whole routine, then I don't know of anything similar in Pascal. That is a reasonable idea that is embodied in C (Wow, who'd have thought!). In my source to source translator, there is a significant section of code i= n the C back end to deal with local functions. I emulate them by using globa= l functions and explicitly passing any accessed local state down to the function. This can get messy with nesting. Let's say routine A calls local routine B= , which calls its own local routine C. C may access a local variable of A, s= o that variable has to be passed to B just so B can pass it to C when these local routines are emulated with global routines. My translator does multiple passes of pushing call arguments up the chain until no changes are made in a pass. The result is not pretty, but it works for the C output language. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .