[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 illegal opcodes questions



In article <gpadnZTfo-dlPB_ZnZ2dnUVZ_qmdnZ2d@comcast.com>,
Michael J. Mahon <mjmahon@aol.com> wrote:

> mdj wrote:
>> Paul Schlyter wrote:
> 
> <snip>
> 
>>>I dondt think one can talk about namespaces at all regarding macros in
>>>preprocessors.  The preprocessor does not know what a namespace is. It
>>>hardly knows anything about the underlying source language.  Heck, you
>>>can even replace reserved words with macros -- try to do THAT using
>>>the global namespace in a normal way.....
>> 
>> 
>> Why? Namespaces are a natural extension present in most modern
>> languages to avoid collisions that occur frequently in larger programs.
>> Macro's being redefined by included headers from an unrelated piece of
>> code is a real problem in C/C++ programs.
>> 
>> Of course, most good programmers utilise some form of poor-mans
>> namespacing by prefixing their preprocessor names with something that's
>> likely to be unique. This illustrates the point that the feature would
>> be useful.
> 
> In the "olden days", assemblers frequently had HEAD "x" pseudo ops that
> would treat all identifiers encountered from then on as if they had an
> "x" prefixed to them, until the next HEAD operation.
> 
> This didn't produce any visible change in the labels, but it did serve
> to create "local" scopes if the HEAD characters were well chosen.
> 
> -michael

In the Apple II world, the S-C Assembler implemented local labels which
had special names: a dot '.' followed by a decimal number from 0 to 99.
The local labels were visible only between one normal label and the
next -- after next normal label, all local label names could be reused.

-- 
----------------------------------------------------------------
Paul Schlyter,  Grev Turegatan 40,  SE-114 38 Stockholm,  SWEDEN
e-mail:  pausch at stockholm dot bostream dot se
WWW:     http://stjarnhimlen.se/