1. routine_id() correct me. (Rob Craig)
- Posted by "Lucius L. Hilley III" <l3euphoria at bellsouth.net> Jun 06, 2002
- 381 views
Hello EuComm: (short of Euphoria Community) When routine_id() is used you can't allow bind.ex to rename any of your routines. This would prevent routine_id() from being able to find the routine. Just a thought but. When you are renaming all those routines from. this() ---> Aa() that() ---> Ab() something_else() ---> Ac() You have to keep a little table, list, lookup. so you know what gets renamed to what. RIGHT? Then. When you are done renaming you just toss it out. Like old useless garbage. RIGHT? I mean. we couldn't possibly use those old names for anything. Oops, I think my meaning should be coming across by now. Would it be hard for bind.ex to store that table into the resulting output program? And for the Euphoria interpreter to use that table when needed. You know. Just for routine_id() and it's neighboring calls occur. See Also: call_proc, call_func, call_back, define_c_func, define_c_proc Lucius L. Hilley III
2. Re: routine_id() correct me. (Rob Craig)
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 06, 2002
- 371 views
Lucius L. Hilley III writes: > When routine_id() is used you can't allow bind.ex to > rename any of your routines. This would prevent routine_id() > from being able to find the routine. The fancy new 2-pass binder for 2.3 does not have the same problems with routine_id() that the old binder had. In fact, the user option to not rename routines isn't even there anymore. In general, the new binder shortens routine names and then it also shortens the name inside any routine_id() calls. e.g. foobar() --> aa() and routine_id("foobar") --> routine_id("aa") This works well, because 99% of the time people use a hard-coded routine name as the argument to routine_id(). The use of a general expression, e.g. routine_id(x & y) or even routine_id(x) is very rare. If this case does arise, the binder will preserve the original name of any routine that might be the target of the general routine_id() call, i.e. any routine that is visible at that point. > Would it be hard for bind.ex to store that table into the > resulting output program? I'd rather just output the symbol table as a separate file. I'll consider it, but it won't be quite as helpful as you think, since you might have numerous original names all mapped to the same short (private) name. > And for the Euphoria interpreter to use that table when needed. > You know. Just for routine_id() and it's neighboring calls occur. I'm not sure what you are getting at here. Keep in mind that the -clear option of the new binder will bind (or shroud) your program as clear source without any renaming, so if an error occurs you can easily understand the ex.err dump. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com