From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2004-01-13 08:33:40
Good morning! On Mon, Jan 12, 2004 at 04:57:43PM +0100, Mats Andrén wrote: > The possibility to just declare EntrypointB as Global would > be so much easier than all that explicit naming stuff. What do you say? Am > I simply fucked up, or is there actually some sense in this? :) Maybe it is > actually already possible to do this, only I haven't realized how to do it > nicely? I see your point, and this was one of the reasons why the new release allows access to identifiers within a scope from the outside. Older versions didn't have this feature, scopes where closed like the scopes in Pascal. From a technical standpoint, it wouldn't be difficult to allow placing symbols into one of the enclosing scopes, but I would prefer not to change this now for the following reasons: 1. Access to local symbols from the outside is a brand new feature. Even I am just starting to use it. I would like to get some feedback before changing it again. 2. Scopes can be nested in several layers. To make the feature consistent, one must be able to place a symbol in any of the enclosing scopes, so I would have to invent a syntax for this (scoped names come to mind). 3. After all, it's just a convenience thing. What you want is possible, but needs some typing. So I think we can agree that your request is not really urgent. I don't know if that suits your needs, but here is your example rewritten to use .proc instead of .scope.: .proc EntryPointA lda #$xx sta MainFunction::dest lda #$yy sta MainFunction::dest+1 jmp MainFunction .endproc .proc EntrypointB lda #$zz sta MainFunction::dest lda #$ww sta MainFunction::dest+1 jmp MainFunction .endproc .proc MainFunction jsr calculatesomevalue dest := *+1 sta $ffff rts .endproc As you can see, usage of the local label is restricted to just two places, where it makes really sense, since EntryPointA and B are actually changing the way, in which MainFunction works. Regards Uz -- Ullrich von Bassewitz uz_at_musoftware.de ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2004-01-13 08:34:15 CET